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

2 views (last 30 days)
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.

Accepted Answer

Russel Burgess
Russel Burgess on 14 Mar 2021
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 Comment
mikkel stær
mikkel stær on 14 Mar 2021
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

Sign in to comment.

More Answers (0)

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!