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

조회 수: 43 (최근 30일)
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

답변 (1개)

Shubham Khatri
Shubham Khatri 2021년 2월 3일
편집: Shubham Khatri 2021년 2월 3일
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

카테고리

Help CenterFile Exchange에서 Programmatic Model Editing에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by