# how to use the loop for?

1 view (last 30 days)
Commented: diadalina on 21 Nov 2017
i would like to use the loop for that looks for the maximum of a vector and its position without using the 'max.can anyone help me ?

i had tried this, but i doesn't give me what i want,
maxi=x(1);
for i=1:length(x)
%
if x(i)>maxi
maxi=x(i);
indice=i;
else
maxi=maxi;
indice=i;
end
end
KL on 21 Nov 2017
what have you tried so far?
can you help me, please ?

KL on 21 Nov 2017
you have got it almost right, you just need to put them inside the loop. I'll give you some tips to work further.
• first assign the first value of the vector to maxi and set indice to 1.
maxi = x(1);
indice = 1;
• then loop through number of elements of x starting from 2 (since we have assigned first value of x to maxi),
for k=2:numel(x)
if(x(k)>maxi)
%and the remainig logic
end %end of if
end %end of for
• in your if else condition, you do not have to assign maxi=maxi for the else case, you can simply write continue;. This will continue to the next iteration.

#### 1 Comment

thank you Mr,Kl, , i had got this,
maxi=x(1);indice=1;
for i=2:length(x)
if x(i)>maxi
maxi=x(i);
indice=i;
end
end
i think, that's the right way, thank you for your tips.