flip an array with the use of vectors

1 次查看(过去 30 天)
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 CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by