MATLAB时间计算

背景

使用MATLAB洗数据的时候,偶尔会有时间计算的需求。根据经验整理了三种可能遇到的情况并附实现程序。

首先先介绍一下MATLAB中时间量的一些概念。对一个时间点,MATLAB有3种表示方式。

1. 字符串表示。直接以字符串表示时间,如 '20:56:01' '20:59:24' 等,比较直观,且格式可指定,但无法用于时间计算。

2. 数组表示。以固定六位数组表示一个时间点,如2022年1月1日20:56:01以数组表示为

date = 

    2022    1    1    20    56    1

可以用于部分计算,但该数组中各个元素长度不相等,表示不够美观。

3. 数值表示。计算指定时间与一个固定时间的天数之差,以这个数值形式的差值表示一个时间点。如 '20:56:01' 可表示为(由于未指定日期,所以MATLAB会给该时间一个默认的日期)

date =

   7.3852e+05

这种表示方法的好处是可以用来进行时间计算,但看起来非常不直观。

基于这3种格式,有3个函数可以进行时间格式的转换。分别为

datestr()  % 将另两种时间格式转为字符串格式
datevec()  % 将另两种时间格式转为数组格式
datenum()  % 将另两种时间格式转为数值格式

下面以实例介绍用法。

1. 生成等间隔的时间序列(字符串格式)

例如,现想要以30s为间隔生成同一天的 '20:56:01' 到 '21:03:24' 两个时间点之间的时间序列,并以字符串的格式保存下来。程序实现如下

t_start = datenum('20:56:01');  % 将开始时间的字符串转换为数值
t_end 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值