Compare to constant block doesn't work.

I don't know why the compare with constant doesn't work. I have tried to use a relational operation block, but it is the same problem. I missing something? Please see the picture attached: image.png

 採用された回答

Fangjun Jiang
Fangjun Jiang 2018 年 6 月 19 日

1 投票

What is the data type of "lamba5"? I assume it is double or single. This is a typical "floating point equal or unequal comparison" issue. Convert the "lamba5" to integer or logical if it applies. Otherwise, you have to compare a floating point value with a threshold value, for example, if abs(lamba5-1)<=1e-6.

3 件のコメント

Adriana Maria
Adriana Maria 2018 年 6 月 19 日
Thanks. It works. I use this check to resolve divide by zero error. Do you have a suggestion for me for the comparison value, if 1e-6 is the better value. Or which is minimal value between 0 and 0.01, by which division works?
Fangjun Jiang
Fangjun Jiang 2018 年 6 月 19 日
You have to decide the best threshold value based on your application. If it is divided by (lamba5-1), you have to decide by "how much" when lamba5 is close to the value of 1 that you want to do something differently.
Adriana Maria
Adriana Maria 2018 年 6 月 20 日
Thank you very much!

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

その他の回答 (0 件)

カテゴリ

Community Treasure Hunt

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

Start Hunting!

Translated by