matlab当前目录生成,Matlab中怎样用系统日期命名文件夹

注:本文整理于网上各位大神的思想和方法​,供大家参考与学习

首先,​提取系统的时间,在MATLAB中得到系统当前日期、时间也是经常用到的内容,由以下函数实现。

1.生成指定格式日期和时间

datestr-生成指定格式日期和时间,是字符型变量。

>>datestr(now)%其中now是获取当前日期和时间

ans

=​

30-Dec-2009

16:05:16​

其中输出格式可由用户指定,共有31种格式,以下是第26种格式,其它格式见下表。

>>datestr(now,26)

​ans

=

2009/12/30 ​​​​​

Standard MATLAB Date format

definitions​

a4c26d1e5885305701be709a3d33442f.png图1

a4c26d1e5885305701be709a3d33442f.png图2

2.获取当前时间的数值

clock-获取当前日期和时间的数值,即clock=[year month day hour minute

seconds]。

​>>format

short g

>>clock​

ans =

​2009 12 30 16 44

44.687​

将clock函数取得的当前日期和时间取整,得

>>now=fix(ans)

​now

=​

2009 12 30 16 44

44​

则now(1)=2008,

now(2)=5,......,now(6)=44​

3.其他时间和日期函数或命令

>>date​

ans =

​30-Dec-2009​

>>n=datenum('30-dec-2009')%给出0000年到给定时间的天数

​n

=

734137​

>>now;%获取当前时间至0000年的天数

​>>T=floor(ans)

​T

=

​734137​

>>datestr(now)

​>>m=datevec(ans)%得到日期和时间向量

​m

=

​2009 12 30 16 24 24

​>>t0=clock;​

>>etime(clock,t0)%两次命令之间的时间间隔,之间可进行其它操作,计算消耗时间​

ans =

2.0160

​>>t=cputime;

>>T=cputime-t

T =

​0.2031

>>tic%开始计时​

>>toc%计时结束​

Elapsed time is 2.751494 seconds.

>>T=today​

T

=

734137​

>>[a,b]=weekday(T,'long')

%星期函数,给出指定日期是星期几​

a =​

4

​b =

Wednesday​

>>d=eomday(2009,12)

%给出一个月的最后一天的日期​

d =

31

>>d=eomdate(2009,12)

%给出一个月的最后一天的天数​

d =

734138​​

>>dom

= day('30-Dec-2009')

%日期中的天​

dom =

30​

>>nd=yeardays(2009)

%某一年有多少天

nd =

365​​

>>calendar

Dec 2009​

S

M

Tu

W

Th

F

S​

0

0

1

2

3

4

5

6      7

8

9     10

11   12

13

14

15   16   17

18

19

20

21    22   23

24

25    26

27

28

29   30

31

0     0​​​​

关于datestr和datenum的功能[1]

这两个函数的功能需要从日期(和时间)的表示方法谈起。一个日期,它可以用一个字符串来表示,比如"2010-10-30

13:45:17",或"Oct.30,2010 3:45:17

PM",Matlab内置31种默认表示方法,同时还支持自定义格式。这种字符串的表示方式具有可读性,多用于外部展现。或者用一个向量来表示日期,比如[2010

10 30 13 45

17];日期还可以为一个序列值,比如上面的日期可以为73444.1573113426。在进行数据处理时常使用数字型的日期,因为储存、比较、计算都要快得多。Excel表格中日期外面看上去是一个字符串,但在内部存储的是一个数字,就是基于这个原因。

这样datestr和datenum的功能就很清晰了,datestr把指定日期转化为字符串形式,datenum则获取指定日期的序列值。​

怎样给用日期给保存的图片命名(来源于MATLAB论坛)

sohu_007:

用plot作图然后可以用print保存,可以设置路径和文件名,clock命令可以得到当前的日期和时间。现在想把图片保存到'E:\Picture'文件夹下。请问怎样保存?

就保存成xx-yy-zz-pp-qq--rr.png格式的就行。

砺剑matlab:

你直接将clock得到的数值转化为字符串,当做文件名,然后就可以达到你的要求了啊!有个参考代码你试试

H=figure(1);

fplot('sin(x)',[0 2*pi]);grid on;

title('sin(x)');xlabel('x');ylabel('sin(x)');

str=clock;

filename=[num2str(str(1)),'-',num2str(str(2)),'-',num2str(str(3)),'-',...

num2str(str(4)),'-',num2str(str(5)),'-',num2str(round(str(6)))

];

[filename1,pathname1] =

uiputfile({'*.png','PNG(*.png)';...

'*.bmp','Bitmap(*.bmp)';...

'*.jpg','JPEG(*.jpg)';...

'*.gif','GIF(*.gif)';...

'*.*',  'All Files

(*.*)'},...

'Save

Picture',filename);

if filename1==0

return

else

hp=getframe(H);

imwrite(hp.cdata,fullfile(pathname1,filename1));

end​​

kaaaf123:

fn = ['E:\Picture\'

datestr(clock,'yy-mm-dd-HH-MM-SS'),'.png']

[1] Matlab中datestr和datenum函数效率问题,张志强,2010,11,02

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值