flip an array with the use of vectors

1 回表示 (過去 30 日間)
Zenia Askar
Zenia Askar 2020 年 1 月 12 日
コメント済み: Stephen23 2020 年 1 月 16 日
I would like to flip specific cells in an array, not the whole array, with the use of vectors. For example a=[1 7 5 9 3 2 4 1] and i want to flip it from 5 to 2 and make it a=[1 7 2 3 9 5 4 1]. Any suggestions? Thank you in advance.

採用された回答

Stephen23
Stephen23 2020 年 1 月 12 日
編集済み: Stephen23 2020 年 1 月 12 日
"Any suggestions?"
Use indexing (which in MATLAB starts from 1):
>> a = [1,7,5,9,3,2,4,1]
a =
1 7 5 9 3 2 4 1
>> a(3:6) = a(6:-1:3)
a =
1 7 2 3 9 5 4 1
  2 件のコメント
Zenia Askar
Zenia Askar 2020 年 1 月 16 日
Hello again. Eventually, I choose from the array two numbers (not vectors) and I want to flip these cells instead. For example instead of 3rd and 6th cell, I have mumbers 5 and 2. How can i flip the array in this case? Thank you again.
Stephen23
Stephen23 2020 年 1 月 16 日
>> a = [1,7,5,9,3,2,4,1]
a =
1 7 5 9 3 2 4 1
>> a([3,6]) = a([6,3])
a =
1 7 2 9 3 5 4 1

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

その他の回答 (1 件)

Meg Noah
Meg Noah 2020 年 1 月 12 日
a=[1 7 5 9 3 2 4 1];
a(3:6) = fliplr(a(3:6));

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by