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 comentarios

diadalina
diadalina el 21 de Nov. de 2017
Editada: per isakson el 21 de Nov. de 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 el 21 de Nov. de 2017
what have you tried so far?
diadalina
diadalina el 21 de Nov. de 2017
Editada: diadalina el 21 de Nov. de 2017
can you help me, please ?

Iniciar sesión para comentar.

 Respuesta aceptada

KL
KL el 21 de Nov. de 2017

0 votos

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 comentario

diadalina
diadalina el 21 de Nov. de 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.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Preguntada:

el 21 de Nov. de 2017

Comentada:

el 21 de Nov. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by