array indexing select element and change its place in the array.

hello i am having trouble with indexing methods pls help
how do i select the first element or any specific element and just change its place.
example
if i have an array like this
A=[1,2,3,4,5,6,7,8,9,10]
how do i select the first element, and change its place to either being after the number 5, or at the end.
without having 2 copys of that element.
so they look like this when i am done.
A=[2,3,4,5,1,6,7,8,9,10] or A=[2,3,4,5,6,7,8,9,10,1]
I ALSO NEED THIS FOR VERTICAL ARRAY (i mean 1 columb, and lost of rows) the transposed array of A is now called B
B=A'
i had trouble using indexing, and circshift
i am looking for the most correct way.

 採用された回答

Russel Burgess
Russel Burgess 2021 年 3 月 14 日

0 投票

I'm not sure this is the most correct way, but you can do this sort of thing with positional indexing, e.g.:
A([2:end 1])
Will move the first element to the end, and:
A([2:5 1 6:end])
Will move the first element to after the 5th element. The same idea works with column vectors.

1 件のコメント

mikkel stær
mikkel stær 2021 年 3 月 14 日
thx you seem like a guy that knows MATLAB and it desturbes me that you said, even you dont know, if this is the most correct way. since i looked through the array indexing help page, and noting. but god job this works great, and dont even look like its a kind of hacked together piece of code. so i think it is the most correct way. at least i will be using this short oneliner for the future.
regards mikkel

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Matrix Indexing についてさらに検索

製品

リリース

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by