Shifting the first element of an array to the end

46 vues (au cours des 30 derniers jours)
Dillon La
Dillon La le 6 Sep 2021
Commenté : Dillon La le 6 Sep 2021
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);

Réponse acceptée

Matt J
Matt J le 6 Sep 2021
A=[ 1 2 3 4 ];
B=[A(end),A(1:end-1)]
B = 1×4
4 1 2 3
  2 commentaires
Dillon La
Dillon La le 6 Sep 2021
thanks a bunch!!!
Dillon La
Dillon La le 6 Sep 2021
but how would you do it if the loop starts from the second element?

Connectez-vous pour commenter.

Plus de réponses (1)

Ive J
Ive J le 6 Sep 2021
a = 1:4;
circshift(a, 1)
ans = 1×4
4 1 2 3
  1 commentaire
Dillon La
Dillon La le 6 Sep 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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Tags

Produits


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by