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 commentaires

diadalina
diadalina le 21 Nov 2017
Modifié(e) : per isakson le 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 le 21 Nov 2017
what have you tried so far?
diadalina
diadalina le 21 Nov 2017
Modifié(e) : diadalina le 21 Nov 2017
can you help me, please ?

Connectez-vous pour commenter.

 Réponse acceptée

KL
KL le 21 Nov 2017

0 votes

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 commentaire

diadalina
diadalina le 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by