MATLAB シフト配列

Ammar Ali 2023年1月30日
  1. MATLAB の circshift() 関数を使用して配列をシフトする
  2. MATLAB の配列インデックスを使用して配列をシフトする
MATLAB シフト配列

このチュートリアルでは、MATLAB で circshift() 関数を使用して配列を手動でシフトする方法を紹介します。

MATLAB の circshift() 関数を使用して配列をシフトする

配列を特定の桁数だけ左または右にシフトする場合は、circshift() 関数を使用できます。この関数は、指定された配列を特定の桁数だけ循環的にシフトします。この関数の最初の引数はシフトする配列であり、2 番目の引数はシフトする場所の数です。これは列の数または行の数のいずれかです。2 番目の引数が負の数の場合、配列は左にシフターになり、それ以外の場合は右になります。たとえば、1〜10 個の整数の配列を定義し、circshift() 関数を使用して左にシフトしてみましょう。以下のコードを参照してください。

myArray = 1:10
shifted_array = circshift(myArray,[1,-3])

出力:

myArray =

     1     2     3     4     5     6     7     8     9    10


shifted_array =

     4     5     6     7     8     9    10     1     2     3

2 番目の引数は、上記のコードの最初の行を 3 桁左シフトすることを指定します。行列がある場合は、列をシフトすることもできます。

MATLAB の配列インデックスを使用して配列をシフトする

特定の数の場所で配列を左または右にシフトし、配列のどこかに新しい要素を配置する場合は、配列インデックスを使用できます。たとえば、1〜10 個の整数の配列を定義し、配列インデックスを使用して左にシフトしてみましょう。以下のコードを参照してください。

myArray = 1:10
shifted_array = [myArray(4:end) myArray(1:3)]

出力:

myArray =

     1     2     3     4     5     6     7     8     9    10


shifted_array =

     4     5     6     7     8     9    10     1     2     3

上記のコードでは、end を使用して配列の終わりを指定しています。行列がある場合は、列をシフトすることもできます。次に、配列を 1 桁左にシフトし、配列の最後に新しい要素を追加して、最初の要素を削除しましょう。以下のコードを参照してください。

myArray = 1:10
element = 11
shifted_array = [myArray(2:end) element]

出力:

myArray =

     1     2     3     4     5     6     7     8     9    10


element =

    11


shifted_array =

     2     3     4     5     6     7     8     9    10    11

上記のコードでは、end を使用して配列の終わりを指定しています。

著者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

関連記事 - MATLAB Array