Selecting a single value with max function - Subscripted assignment dimension mismatch.
2 views (last 30 days)
Show older comments
Hello, I am having the error message ??? Subscripted assignment dimension mismatch, an I believe that it is caused because when I use the max function, it finds two maximum values and tries to return both of them. Is there a way to return one value? The part of code that I get the error is shown below: Line No 5.
A = rpm((i-19):(i-10),1);
rpmGS(c,1) = max(A);
num = max(A);
row=find(A==num)+(j-2)*10+3;
%ratioGS(c,1) = ratio(row,1);% This is the error line.
velocityGS(c,1) = a(row-3,6);
c=c+1;
0 Comments
Accepted Answer
Walter Roberson
on 25 Jun 2012
The max() is only returning one value. The find(A==num) is returning 2. If you only want one returned you can use find(A==num, 1). Or, as indicated by "grapevine" you can use the two-output version of max() to return the location instead of doing the find()
[num, indexMax] = max(A);
row = indexMax + (j-2)*10+3;
0 Comments
More Answers (1)
grapevine
on 25 Jun 2012
I'm not sure about that Check this code
A=[2, 2, 3, 3]
[num, indexMax] = max(A)
size(num)
length(num)
I think the error is elsewhere, but you didn't give us enough information to help you
0 Comments
See Also
Categories
Find more on Annotations 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!