将EXCEL 中的日期 时间 导入到MATLAB坐标轴中
将Excel 中的日期 时间 导入到MatLab坐标轴中。(图示为原理图)
第一种方法:(如原理图中所示)
result = xlsread(‘filename.xlsx’, ‘sheet2’, ‘a5:d7’);
这样用,只能读取Excel表中的数字,比如 2012/12/21 这样的格式是读取不到的(其实是没有变量来保存返回的结果)。
第一步:用Excel提供的数字格式功能,将日期调整为数字,如图中将日期转换为数字所示。
第二步:将数值表示日期加上datenum(‘1990-01-01’)【有的是1904标准哦】,然后plot就可以了。
第三步:用datetick设置x或y或z坐标为指定的显示格式。如:datetick(‘x’, ‘yyyy-mm-dd’);将x轴设置为按照年-月-日的格式显示。
第二种方法:
将Excel中的所有数据读入到matlab中:
[num, text, raw] = xlsread(‘filename,xlsx’, ‘sheet2’, ‘a3:d9’);
raw中保存了所有日期的源格式(如:2012/12/21 12:21:35),raw中第一列是日期。
[m,n] = size(raw);%多少行日期
plot(raw(:,1), rand(m,1));%绘图(造个假数据)
datetick(‘x’, ‘yyyy-mm-dd’);%设置坐标轴为yyyy-mm-dd 格式
下面列出了matlab一些常用的日期操作的函数。
MatLab 中日期和时间的操作(不包含其他工具箱中额外提供的方法)
addtodate 通过字段来修改日期,比如:datestr(addtodate(now, -39, ‘day’)) 当前时间加上负39天,然后显示字符串
calendar 财务工具箱提供的日历功能,自行:help calendar
clock 将当前的日期和时间用一维矩阵(年、月、日,时、分、秒,分别用一个双精度数字表示的一维数组)表示。
cputime 计算matlab启动后cpu运行了多少时间,常用法:t1 = cputime; %其他代码 t2 = cputime; t2 – t1 就可以计算其他代码执行所占用的时间。
date 返回用字符串表示的当前时间
datenum 将日期和时间序列化为数字表示的形式。
datestr 将数字表示的日期时间转换为字符串(可以控制格式哦,比如:datestr(now, ‘yyyy-mm-dd HH:MM:SS ddd’); 输出结果为:ans = 2012-10-17 22:18:24 Wed 。唉,星期几没法直接用中文表示)。
datevec 和clock差不多,就是可以转换指定的日期时间为一维矩阵。
eomday 计算上个月的最后一天,比如计算2012年,1-12月最后一天是多少号:eomday(2012, 1:12) 结果为:ans = 31 29 31 30 31 30 31 31 30 31 30 31
etime 计算两个一维矩阵(必须是6个元素,和clock返回的格式一模一样)表示的时间差。【matlab说:如果要计算某个功能花费多长时间的时候,不要用 clock 和 etime,因为他们使用的是系统时间,用tic 和 toc 功能来代替。】
now 当前日期和时间(用个double数字来表示)
weekday 计算某一天是星期几(他们是从星期天开始算的哦,偶被坑了)。
最后一张图,Excel中将数字格式表示的日期格式化为字符串:
喜欢 (5)or分享 (0)