MATLAB:将日历持续时间数组转换为字符串
我有一些代码来测量模拟所需的时间,我无法简单地将时间差打印为字符串:MATLAB:将日历持续时间数组转换为字符串,matlab,Matlab,我有一些代码来测量模拟所需的时间,我无法简单地将时间差打印为字符串: t1 = datetime('now'); % spend somme time... for i = 1:20000000 m = log(1234); end t2 = datetime('now'); dt = between(t1,t2) fprintf('t1 = %s\nt2 = %s\ndt = %s\n',datestr(t1),datestr(t2),datestr(dt)); 请参
t1 = datetime('now');
% spend somme time...
for i = 1:20000000
m = log(1234);
end
t2 = datetime('now');
dt = between(t1,t2)
fprintf('t1 = %s\nt2 = %s\ndt = %s\n',datestr(t1),datestr(t2),datestr(dt));
请参见下面的输出。我知道dt是一个calendarDuration数组,但我不知道如何打印它,也没有在文档中找到什么。如错误消息所示,使用cellstr不起作用
>> test_for_reading_mat
dt =
0h 0m 1.156s
Error using calendarDuration/datestr (line 616)
You cannot convert a calendarDuration array to date strings. Use
CELLSTR instead.
Error in test_for_reading_mat (line 11)
fprintf('t1 = %s\nt2 = %s\ndt =
%s\n',datestr(t1),datestr(t2),datestr(dt));
有人知道一个简单的解决方案吗 你为什么不直接做字符(t2-t1)?你为什么不使用
tic
,toc
?非常感谢!char(t2-t1)是我一直在寻找的一种简单的解决方案。你为什么不直接做char(t2-t1)?你为什么不使用tic
,toc
?非常感谢!char(t2-t1)是我一直在寻找的一种简单的解决方案。