Illegal use of a matrix or vector type where a scalar was expected. ERROR IN SIMULINK

31 visualizaciones (últimos 30 días)
Hi, I am working on a chart block in SIMULINK where my imput is a variable over time. State Of Charge (SOC) of a battery.
When I try to run the model the following error pops up: Illegal use of a matrix or vector type where a scalar was expected.
This message refers to an object in '[SOC<=40]'.
Does anybody know how to fix this? Here I leave some images

Respuestas (1)

Shubham Khatri
Shubham Khatri el 3 de Feb. de 2021
Editada: Shubham Khatri el 3 de Feb. de 2021
Hello,
To my understanding it looks like you are trying to feed an array to stateflow input. The array when fed to a stateflow fiagram will result in an boolean array.
For example
SOC=[20 40 60 120];
ans= SOC >= 40
The output will be [0 1 1 1] rather 1 or 0. That is why you are getting this error. You need to make the stateflow input a scaler with respect to time steps.
Hope it helps

Categorías

Más información sobre Simulink Functions en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by