Filter löschen
Filter löschen

max function in a for loop

7 Ansichten (letzte 30 Tage)
Orion
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

Akzeptierte Antwort

Image Analyst
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)

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!

Translated by