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

30 views (last 30 days)
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

Categories

Find more on Simulink Functions in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!