simulink error related to diff of a vector
Show older comments
I am using a function block in simulink. suppose "score" is a vector of size [1000 1]. i store the index of the maximum value in score in ind3 : [~, ind3] = max(score); I know that the initial value of ind3 = 1. Then i want to store something like: storing = sum(diff(score(1,1:ind3)).^2), which will be the output of the function block. But, i keep getting error message related to variable matrix sizes such as
SUM with one variable-size matrix input of [] is not supported. Block MATLAB Function2 (#100) While executing: none
I have noticed that i do not get any error if i use something like storing = sum(diff(score(1,1:100)).^2) but as soon as i put ind3, i get the errors.
Thank you
6 Comments
Ryan G
on 15 May 2013
Is the result of storing variable size? What is the output if you run this in MATLAB? Will storing every be an empty matrix? These things are much less flexible in Simulink as you are required to define a fixed size.
pemfir
on 15 May 2013
Ryan G
on 15 May 2013
Are you using a MATLAB Function Block or a Fcn Block? Try predefining the output of your function, for example:
storing = double(0);
If it's a scalar. Is it running at all or just failing to initialize?
pemfir
on 15 May 2013
pemfir
on 15 May 2013
pemfir
on 16 May 2013
Answers (0)
Categories
Find more on Array and Matrix Mathematics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!