Why in the Test Assessment I can't use the '==' operator to compare expressions of type real_T within the 'verify' operator?

24 visualizzazioni (ultimi 30 giorni)
When I run a test in which I use a 'verify' operator in a test assessment I obtain the following warning:
"The use of the '==' operator to compare expressions of type real_T within the 'verify' operator may produce unexpected results. Step 'step_0_6605' in Test Sequence 'WiperFunctionSWC_PIL_NominalWorkingConditions/Test Assessment': verify(WiperSpeed==0)"
While when I use an 'assert' operator it works fine.

Risposte (1)

Gyan Vaibhav
Gyan Vaibhav il 9 Ott 2023
Hi Domenico,
The warning you encountered is not related to the type of variable you are using, “real_T, but rather it is related to the precision of floating-point numbers. The following documentation links for both the verify and assert functions emphasizes the importance of using a threshold when working with floating point numbers:
To address this warning, you can use the following workaround:
thres = 0.001; % Set your desired threshold
verify(abs(WiperSpeed - 0) < thres)
By comparing the absolute difference between WiperSpeedand 0 against the threshold in the verify statement, you should be able to avoid the warning. I hope this explanation helps.

Prodotti


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by