Shifting the first element of an array to the end

46 visualizzazioni (ultimi 30 giorni)
Hi all, I.m trying to transform vector A into B as below,
A B
[ 1 2 3 4 ] [ 4 1 2 3 ]
Here is what I have got so far, but it didnt work out, please point out where I got it wrong
A = [1 2 3 4];
B = [A(1)];
for i = [2:length(A)]
B = [A(i) B]
end
disp(B);

Risposta accettata

Matt J
Matt J il 6 Set 2021
A=[ 1 2 3 4 ];
B=[A(end),A(1:end-1)]
B = 1×4
4 1 2 3
  2 Commenti
Dillon La
Dillon La il 6 Set 2021
but how would you do it if the loop starts from the second element?

Accedi per commentare.

Più risposte (1)

Ive J
Ive J il 6 Set 2021
a = 1:4;
circshift(a, 1)
ans = 1×4
4 1 2 3
  1 Commento
Dillon La
Dillon La il 6 Set 2021
thank you, but do you have a simpler version of it?
I'm trying to figure out what I got wrong rather than using a new operator

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Tag

Prodotti


Release

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by