Matlab自学笔记三十九:日期时间型数据的算术运算:加减运算
1.说明
时间点和(日历)持续时间是可加的,结果是时间点;两个时间点是可减的,结果是持续时间,用时分秒表示;时间型和浮点数运算,结果是时间型,浮点数默认单位是天;由于日历时间的不确定,加减日历时间所得结果与加减顺序有关。
2. datetime和duration的算术运算
程序示例如下:
t1=datetime
t2=t1+hours(1) %时间点+持续时间=时间点
t2=t1+hours(0:2) %%0表示当前,1表示下一个
t21=t1+days(0:2)
t21=t1+[0 1 2] %单个数字默认使用 天 为单位
dt=t2-t1 %时间点相减变成持续时间
dt21=t21-t1 %持续时间默认使用 时分秒 的形式表示
3. duration的算术运算
程序示例如下:
hours(1)+minutes(30) %持续时间自身累加,默认使用 小时 表示
hours(1)+1
4. calendarduration的运算
程序示例如下:
t3=datetime('today')
t31=t3+calmonths(0:2)
t31-t3 %两个时间点相减产生持续时间类型duration,默认使用 时分秒 的形式表示
t6=t3+calmonths(0:2)+caldays(0:2)
t6-t3 %获取持续时间
5.时间序列差分运算
时间序列差分运算使用函数diff、caldiff,程序示例如下:
diff(t2)
diff(t21)
cdf31=caldiff(t31) %一个时间序列内部之间的持续时间,产生日历持续时间calendarduration
cdf31=caldiff(t31,'days') %按 天 计算
6.日历时间差分between
程序示例如下:
between(t3,t6) %用between函数,产生日历持续时间类型,按照日历时间计算两个运算数之间的时间间隔
7.日历时间综合运算实例
由于日历持续时间随着具体的日历变化,加减日历持续时间所得结果与加减顺序有关,程序示例如下:
t33=datetime(2014,1,31) + calmonths(1) + caldays(30)
t34=datetime(2014,1,31) + caldays(30) + calmonths(1)
t33=datetime(2014,1,31) + calmonths(1) %2月28天,加一个日历月只能到达2.28
t34=datetime(2014,1,31) + caldays(30) %加30天要数到3.2
8.日历持续时间的特殊性
t5=calyears(2) + calmonths(2) + caldays(2) %日历持续时间自身累加,仍然用字面的年月日表示,无法整合,因为日历时间的长度未知
%%可以使用calquarters,calweeks和caldays函数添加或减去日历季度,日历周,或日历日
相关视频
1.41/Matlab数据类型之日期时间型/我有一瓢酒 可以慰风尘
36.1 Matlab GUI 界面设计初学者光速入门
14.6 Matlab微分方程数值解法 经典ode45 龙格库塔 数学建模
22.3/Matlab/fmincon/带约束多元函数最小值/解优化问题数学建模
66.20 文献上的图片是怎么用Matlab做出来的/数学建模必备技能
1.1 Matlab速成宝藏课/数学建模必备入门视频
45.1 一个实例入门Matlab深度学习|卷积神经网络
47.1/Matlab遗传算法/概念/原理/编程演示数学建模
31.17 干货汇总Matlab绘图/三维线图/三维柱状图/三维饼图/函数三维图
36.26 MatlabGUI打包成独立可执行软件exe
23.1 一节入门Matlab拟合问题fit,建立预测变量与响应变量之间的关系(一般是函数关系)
End