MATLAB: How to save maximum value in each iteration

indexmatrix array

Hi everyone,
Suppose I have a for-loop:
a=rand(1);
n(:,:,1) = zeros(1,1);
for i = 2:4
n(:,:,i) = n(:,:,i-1) + a
[val,idx] = max(n);
end
How can I have a list of maximum values in each iteration, such as:
s = [2 3;3 5;4 7] % iteration "2" maximum value is "3"; iteration "3" maximum value is "5"; iteration "4" maximum value is "7"
Can anyone please help me?

Best Answer

You overwrite val and idx. To avoid that, replace
[val,idx] = max(n);
by
[val(i),idx(i)] = max(n);