Reverse an array by for loop

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

 Réponse acceptée

Wayne King
Wayne King le 10 Oct 2012

0 votes

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 commentaires

Mohammed
Mohammed le 10 Oct 2012
IT does not work.. when i input this in the matlab it gives me nothing
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 le 10 Oct 2012
Modifié(e) : Matt Fig le 10 Oct 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.

Connectez-vous pour commenter.

Plus de réponses (2)

Doug Hull
Doug Hull le 10 Oct 2012

0 votes

a = fliplr(a)

2 commentaires

Mohammed
Mohammed le 10 Oct 2012
it must be for loop
Doug Hull
Doug Hull le 10 Oct 2012
why?

Connectez-vous pour commenter.

Matt Fig
Matt Fig le 10 Oct 2012

0 votes

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 commentaires

Mohammed
Mohammed le 10 Oct 2012
i put this in the matlab but i do not know what's wrong it does not give me an output
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.....

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by