Why does the stateflow function 'hasChanged(PS)' not work when PS is a vector?

1 view (last 30 days)
Coder Error: PS contains a matrix or a structure type and cannot be used with change detection.? WHen PS is a scalar value, it works fine.

Accepted Answer

Gillian Rosen
Gillian Rosen on 10 Apr 2017
Hi Nandish,
I understand that when you use the 'hasChanged' function in your Stateflow chart, you encounter an error that indicates that your input PS is a matrix or structure and therefore cannot be used with change detection. 
If you are using MATLAB as your action language, you unfortunately can only use a scalar value as input to hasChanged. If you would like to use vector or matrix inputs with hasChanged, please use C as your action language instead. See the note in the "hasChangedTo" section of the change detection documentation for more information: 
  1 Comment
Nandish Calchand
Nandish Calchand on 11 Apr 2017
Hello, Thank you very much. Indeed the action language was the problem. But in the documentation of hasChanged(u), it does say that u can be a vector. Anyways thanks a lot. Nandish

Sign in to comment.

More Answers (0)

Categories

Find more on Complex Logic in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!