# unexpected use of 00:00:01 in a scalar context matlab

7 ビュー (過去 30 日間)
Andrea Sbaragli 2021 年 5 月 24 日
コメント済み: Andrea Sbaragli 2021 年 5 月 24 日
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')
ans = 1×8
48 48 58 48 48 58 48 49
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)
##### 1 件のコメント表示非表示 なし
Andrea Sbaragli 2021 年 5 月 24 日
Thanks!!

サインインしてコメントする。

### Community Treasure Hunt

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

Start Hunting!

Translated by