声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1429|回复: 7

[编程技巧] MATLAB中有时间计算的命令吗

[复制链接]
发表于 2008-3-5 13:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

[ 本帖最后由 eight 于 2008-3-5 15:54 编辑 ]
回复
分享到:

使用道具 举报

发表于 2008-3-5 15:59 | 显示全部楼层

help date, datestr, datenum 就会尝试到以下的方法,希望下次自己多动手:

  1. datestr(datenum(now)+1)
复制代码
 楼主| 发表于 2008-3-5 16:32 | 显示全部楼层
谢谢eight!
我发现您经常鼓励发贴的人自己多练习,我也很赞同。
用help,自己解决其实是最有成就感的事情。只是在help之前,我都不知道应该help什么命令。
发表于 2008-3-5 16:43 | 显示全部楼层
原帖由 zdltwo 于 2008-3-5 16:32 发表
只是在help之前,我都不知道应该help什么命令。


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

评分

1

查看全部评分

发表于 2008-3-5 16:50 | 显示全部楼层
还有个办法就是google,关键字:matlab  时间函数
 楼主| 发表于 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_y(1:4) Date_y(6:7) Date_y(9:10)];
                   Date_z=str2double(Date_z);
                  
做成这样的,觉得还是很啰嗦,但暂时也想不出更好的。

评分

1

查看全部评分

 楼主| 发表于 2008-3-5 19:43 | 显示全部楼层
加了上面的语句之后,运行速度比原来慢了特别多,几乎要等5、6分钟才可以显示,这是怎么回事啊?
发表于 2008-3-5 20:28 | 显示全部楼层
原帖由 zdltwo 于 2008-3-5 19:43 发表
加了上面的语句之后,运行速度比原来慢了特别多,几乎要等5、6分钟才可以显示,这是怎么回事啊?


data 转换函数耗时较多,但是不至于要几分钟才能算出来吧?
未命名111.bmp
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-23 17:22 , Processed in 0.061030 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表