MATLAB 移位陣列
Ammar Ali
2023年1月30日
本教程將介紹如何手動移動陣列並使用 MATLAB 中的 circshift()
函式。
使用 MATLAB 中的 circshift()
函式移動陣列
如果要將陣列向左或向右移動特定數量的位置,可以使用 circshift()
函式,該函式將給定陣列迴圈移動特定數量的位置。此函式的第一個引數是你要移動的陣列,第二個是你要移動的位置數,可以是列數或行數。如果第二個引數是負數,則陣列將向左移動,否則向右移動。例如,讓我們定義一個包含 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
第二個引數指定我們要將上述程式碼中的第一行左移三位。如果你有矩陣,你也可以移動列。
使用 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
用於指定陣列的結尾。如果你有矩陣,你也可以移動列。現在,讓我們將陣列向左移動一個位置,並在陣列末尾新增一個新元素並刪除第一個元素。請參考下面的程式碼。
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