how to shift specific elements in a array to a specific position?
5 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I have an arry A = [1,2,3,4,5,6,7,8,9,10]. I want specific elements to shift the order but remain with the same elements. E.x. I want 3 elements (7,8,9) in A to shift 3 postions to the left to get an array B = [1,2,3,7,8,9,4,5,6,10]
Thanks,
Nur
1 Commento
Manali Gupta
il 21 Giu 2019
Hi,
I assume that you know the index from which you need to shift.
Here,
a=1:10;
k=7;i=3;
b=[a(1:k-i-1) a(k:k+i-1) a(k-i:k-1) a(k+i:end )];
Risposta accettata
obaldia
il 21 Giu 2019
Hello Nur!
Just shift the positions in the vector if you know the current position,
A = [1,2,3,4,5,6,7,8,9,10]
startPos = 7;
numElements = 3;
B = A;
oldElements = A(startPos-numElements:startPos-1);
B(startPos-numElements:startPos-1)=A(startPos:startPos+numElements-1);
B(startPos:startPos+numElements-1)=oldElements
0 Commenti
Più risposte (1)
Vedere anche
Categorie
Scopri di più su LaTeX in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!