why is NaN not of 'NaN type' in Simulink?

5 次查看(过去 30 天)
Hi everyone,
Please, could anyone explain why the constant block NaN is not of type NaN?
Thank you in advance!
Best regards,
Nicolas
  1 个评论
Nicolas CRETIN
Nicolas CRETIN 2024-5-2
To solve the problem I first converted my input into a string and then I applied a string comparison:
But this is still a weird behaviour

请先登录,再进行评论。

采纳的回答

Paul
Paul 2024-5-2
It looks like the block labeled "assertion1" is a Compare To Constant block.
Instead use a Relational Operator block, which supports isNaN functionality.

更多回答(1 个)

Steven Lord
Steven Lord 2024-5-2
By the definition of NaN, NaN is not equal to anything (including itself.) This is documented on the documentation pages for the NaN function as well as the documentation page for the == operator.
If you can call MATLAB functions in your model, use isequaln to perform equality testing including treating NaN as equal to NaN.
x = NaN;
x == x % false
ans = logical
0
isequal(x, x) % false
ans = logical
0
isequaln(x, x) % true
ans = logical
1

类别

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

标签

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by