zdltwo 发表于 2008-3-5 13:47

MATLAB中有时间计算的命令吗

MATLAB中有时间计算的命令吗?比如时间为20060101,减去一天,变为20051231这样的。

[ 本帖最后由 eight 于 2008-3-5 15:54 编辑 ]

eight 发表于 2008-3-5 15:59

原帖由 zdltwo 于 2008-3-5 13:47 发表 http://chinavib.com/forum/images/common/back.gif
MATLAB中有时间计算的命令吗?比如时间为20060101,减去一天,变为20051231这样的。
help date, datestr, datenum 就会尝试到以下的方法,希望下次自己多动手:
datestr(datenum(now)+1)

zdltwo 发表于 2008-3-5 16:32

谢谢eight!
我发现您经常鼓励发贴的人自己多练习,我也很赞同。
用help,自己解决其实是最有成就感的事情。只是在help之前,我都不知道应该help什么命令。

eight 发表于 2008-3-5 16:43

原帖由 zdltwo 于 2008-3-5 16:32 发表 http://www.chinavib.com/forum/images/common/back.gif
只是在help之前,我都不知道应该help什么命令。

多尝试吧,你这个问题是与时间有关的,我一下子也回答不出来,所以就在 matlab 的帮助里查找。第一反应当然是找 date 了,接着看相关连接,一步一步地顺藤摸瓜,就出来了:lol :victory:

w89986581 发表于 2008-3-5 16:50

还有个办法就是google,关键字:matlab时间函数

zdltwo 发表于 2008-3-5 18:38

clear all
                   BTimeNew=20080301;

                   s_BTimeNew=num2str(BTimeNew);                                  %将BTimeNew的时间减1。作为记录b值的时间。如20070101变为20061231
                   yyyy=s_BTimeNew(1:4);
                   mm=s_BTimeNew(5:6);
                   dd=s_BTimeNew(7:8);
                   Date_x=datenum(str2double(yyyy),str2double(mm),str2double(dd));
                   Date_y=datestr(Date_x-1,26);
                   Date_z=;
                   Date_z=str2double(Date_z);
                  
做成这样的,觉得还是很啰嗦,但暂时也想不出更好的。

zdltwo 发表于 2008-3-5 19:43

加了上面的语句之后,运行速度比原来慢了特别多,几乎要等5、6分钟才可以显示,这是怎么回事啊?

eight 发表于 2008-3-5 20:28

原帖由 zdltwo 于 2008-3-5 19:43 发表 http://www.chinavib.com/forum/images/common/back.gif
加了上面的语句之后,运行速度比原来慢了特别多,几乎要等5、6分钟才可以显示,这是怎么回事啊?

data 转换函数耗时较多,但是不至于要几分钟才能算出来吧?
页: [1]
查看完整版本: MATLAB中有时间计算的命令吗