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

 Risposta accettata

Fangjun Jiang
Fangjun Jiang il 19 Giu 2018
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 Commenti

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?
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.
Thank you very much!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Simulink in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by