Error : The first argument of the 'verify' operator must be a scalar logical expression.

26 visualizzazioni (ultimi 30 giorni)
I am getting the error (Error : The first argument of the 'verify' operator must be a scalar logical expression.) in Testsequence (Simulink Test) while performing the MIL testing.
The Output signal "TGS_Zero_Pos_EE_NVM" is an output with array of[4x1].
Currently i have added as below :
Step_1
verify(TGS_Zero_Pos_EE_NVM == single([1.5; 1.5; 1.5; 1.5]))
Error : The first argument of the 'verify' operator must be a scalar logical expression.
Please suggest how can i add the Output signal "TGS_Zero_Pos_EE_NVM" in Testsequence inorder to run the Testsequence.
The inputs i am using are :
NVMUpdatesZeroLearn_b = [0; 0; 0; 0]; %this is an array[4x1] input
NVMsZeroLearnArray = true;
Ignition_Is_Off = false;
Engine_Is_Running = false;
Reset = false;
V5B1_Out_Of_Range = false;
deltaTime = 0.001;
HAL_TGS1_AnalogIn_V = 0.7;
V5B2_Out_Of_Range = false;
HAL_TGS2_AnalogIn_V = 2;
DID_Disable_ZeroLearning = false;
NVMs_StoredMax_V = 0;
NVM_Updates_Max_b = false;

Risposte (1)

Voss
Voss il 2 Lug 2024
verify(isequal(TGS_Zero_Pos_EE_NVM,single([1.5; 1.5; 1.5; 1.5])))
  1 Commento
Walter Roberson
Walter Roberson il 2 Lug 2024
Or
verify(all(TGS_Zero_Pos_EE_NVM == single([1.5; 1.5; 1.5; 1.5])))
but this will fail if TGS_Zero_Pos_EE_NVM is not shape-compatible with a column vector of length 4, whereas the isequal() approach handles the situation nicely and so is better.

Accedi per commentare.

Prodotti


Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by