Azzera filtri
Azzera filtri

Reverse an array by for loop

29 visualizzazioni (ultimi 30 giorni)
Mohammed
Mohammed il 10 Ott 2012
Hi i got this array : a=[1 2 3 4 5] and i want to reverse it by for loop so it will be a=[5 4 3 2 1]
Thanks

Risposta accettata

Wayne King
Wayne King il 10 Ott 2012
Why a for loop?
a = [1 2 3 4 5] ;
b = fliplr(a);
If you must with a for loop
for ii = 1:length(a)
b(ii) = a(length(a)-ii+1);
end
  3 Commenti
Wayne King
Wayne King il 10 Ott 2012
a = [1 2 3 4 5] ;
for ii = 1:length(a)
b(ii) = a(length(a)-ii+1);
end
It absolutely works. Just copy and paste the entire code snippet above into the command window.
Matt Fig
Matt Fig il 10 Ott 2012
Modificato: Matt Fig il 10 Ott 2012
Wayne, Mohammed needs to read the Getting Started section of the documentation. As far as I can tell, he thinks it doesn't work because of the semi-colons. See the comments on my answer for more insight.

Accedi per commentare.

Più risposte (2)

Doug Hull
Doug Hull il 10 Ott 2012
a = fliplr(a)
  2 Commenti
Mohammed
Mohammed il 10 Ott 2012
it must be for loop
Doug Hull
Doug Hull il 10 Ott 2012
why?

Accedi per commentare.


Matt Fig
Matt Fig il 10 Ott 2012
An in-place FOR loop would look like:
a = 1:10;
L = length(a);
for ii = 1:L/2
T = a(L-ii+1);
a(L-ii+1) = a(ii);
a(ii) = T;
end
  2 Commenti
Mohammed
Mohammed il 10 Ott 2012
i put this in the matlab but i do not know what's wrong it does not give me an output
Matt Fig
Matt Fig il 10 Ott 2012
You need to read the "Getting Started" section of the documentation. Copy-paste the code I gave into the command window and it will reverse the elements of a. Nothing is wrong, you just didn't look at a after the code ran!! To look at the result, type:
a
at the command window.....

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by