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)是我一直在寻找的一种简单的解决方案。