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

35 views (last 30 days)
Diego Dranuta
Diego Dranuta on 29 Jan 2021
Edited: Shubham Khatri on 3 Feb 2021
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

Answers (1)

Shubham Khatri
Shubham Khatri on 3 Feb 2021
Edited: Shubham Khatri on 3 Feb 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

Tags

Community Treasure Hunt

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

Start Hunting!