how to shift specific elements in a array to a specific position?

6 ビュー (過去 30 日間)
Nurahmed
Nurahmed 2019 年 6 月 21 日
回答済み: Nurahmed 2019 年 6 月 21 日
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
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
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

その他の回答 (1 件)

Nurahmed
Nurahmed 2019 年 6 月 21 日
Hi,
Thanks a lot!

カテゴリ

Help Center および File ExchangeLaTeX についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by