MATLAB Answers

how to use the loop for?

1 view (last 30 days)
diadalina
diadalina on 21 Nov 2017
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 ?

  3 Comments

diadalina
diadalina on 21 Nov 2017
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
KL on 21 Nov 2017
what have you tried so far?
diadalina
diadalina on 21 Nov 2017
can you help me, please ?

Sign in to comment.

Accepted Answer

KL
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

diadalina
diadalina on 21 Nov 2017
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.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!