how to shift specific elements in a array to a specific position?
26 次查看(过去 30 天)
显示 更早的评论
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 个评论
Manali Gupta
2019-6-21
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 )];
采纳的回答
obaldia
2019-6-21
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 个评论
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!