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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

KL
KL am 21 Nov. 2017

0 Stimmen

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 Kommentar

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 21 Nov. 2017

Kommentiert:

am 21 Nov. 2017

Community Treasure Hunt

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

Start Hunting!

Translated by