max function in a for loop
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Orion
am 23 Feb. 2015
Kommentiert: Orion
am 23 Feb. 2015
Are we not allowed to use max function in a for loop? I have a 25x50 cell array A, and each element of A is a vector of various lengths.
for j=1:25
temp=cell2mat(A{j,20});
[max,ind]=max(temp);
m(j)=max;
end
the length of the vector "temp" is different at each loop. at the second loop I get this error even though I can see a value in the Max column of workspace for temp.:
Subscript indices must either be real positive integers or logicals.
and it messes up the whole software because then I try:
>> xx=1:10;
>> max(xx)
Index exceeds matrix dimensions.
Does anyone know what is wrong? Thanks
0 Kommentare
Akzeptierte Antwort
Image Analyst
am 23 Feb. 2015
You've used max as the name of your variable. DON'T DO THAT!!!!!!!! You've just blown away the max() function and now it thinks max is your array instead of the function.
for j=1:25
temp = A{j,20}; % cell2mat is not necessary unless A has another cell inside it.
[maxValue(j), indexOfMax] = max(temp(:));
end
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Characters and Strings finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!