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

 採用された回答

Wayne King
Wayne King 2012 年 10 月 10 日

0 投票

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 件のコメント

Mohammed
Mohammed 2012 年 10 月 10 日
IT does not work.. when i input this in the matlab it gives me nothing
Wayne King
Wayne King 2012 年 10 月 10 日
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 2012 年 10 月 10 日
編集済み: Matt Fig 2012 年 10 月 10 日
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.

サインインしてコメントする。

その他の回答 (2 件)

Doug Hull
Doug Hull 2012 年 10 月 10 日

0 投票

a = fliplr(a)

2 件のコメント

Mohammed
Mohammed 2012 年 10 月 10 日
it must be for loop
Doug Hull
Doug Hull 2012 年 10 月 10 日
why?

サインインしてコメントする。

Matt Fig
Matt Fig 2012 年 10 月 10 日

0 投票

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 件のコメント

Mohammed
Mohammed 2012 年 10 月 10 日
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 2012 年 10 月 10 日
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.....

サインインしてコメントする。

カテゴリ

Community Treasure Hunt

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

Start Hunting!

Translated by