unexpected use of 00:00:01 in a scalar context matlab
6 次查看(过去 30 天)
显示 更早的评论
if abs(Int12{i,6}- F1{j,1}) <= '00:00:01' why is it not corret?
1 个评论
Daniel Pollard
2021-5-24
Can you give some more context? Since we don't know what Int12 or F1 are, it's not easy to help. What are you trying to do?
采纳的回答
Walter Roberson
2021-5-24
In MATLAB '00:00:01' is a character vector. When you use a character vector in a numeric expression, most of the time the character vector will have each character converted to the Unicode position number used to encode the character.
double('00:00:01')
You would then be comparing whatever is on the left side of the < to that vector of numbers, getting out a vector of logical results.
If the values you are working with just happen to be datetime objects then subtracting would give a duration object. You can then compare
if abs(Int12{i,6}- F1{j,1}) <= duration('00:00:01')
or more compactly
if abs(Int12{i,6}- F1{j,1}) <= seconds(1)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Numeric Types 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!