How can I write "words" and time format in a matrix ?

1 次查看(过去 30 天)
I have this code
m=0.5
A = poissrnd(m, 24, 1);
for i=1:24;
if A(i,:)== 0;
DT(i,:)= 00:00:00; % I want it to be on time format, 00:00:00 How??
elseif 10>=A(i,:)>0;
DT(i,:)= 00:00:10; % I want it to be on time format , 00:00:10
else A(i,:)>10;
DT(i,:)=00:00:20; % I want it to be on time format, 00:00:20
end
end
As I write on the code how can I make the code to write time format?
Thank you you very much
  2 个评论
Jan
Jan 2017-9-27
编辑:Jan 2017-9-27
It depends on what you want DT to be. A datetime vector?
What does this mean:
As I write on the code how can I make the code to type ' no delay'
and write time format?
zeezo
zeezo 2017-9-27
It was a mistake. I edit the question and I forget to delete it.

请先登录,再进行评论。

回答(2 个)

Jan
Jan 2017-9-27
sec = zeros(size(A));
sec(0 < A & A <= 10) = 10;
sec(A > 10) = 20;
DT = datetime(0, 0, 0, 0, 0, sec, 'Format', 'HH:mm:ss');
Note:
elseif 10 >= A(i,:) > 0
This will not do, what you expect. Matlab evaluates this from left to right. In the first step 10 >= A(i, :) replies a logical vector, which contains TRUE or FALSE. Then TRUE > 0 or FALSE > 0 is calculated. You mean:
elseif 10 >= A(i,:) && A(i, :) > 0

Walter Roberson
Walter Roberson 2017-9-27
It is not possible to put strings or datetime items into a numeric array.
You can construct cell arrays, or you can construct table objects.

类别

Help CenterFile Exchange 中查找有关 Numeric Types 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by