MATLAB 移位数组

Ammar Ali 2023年1月30日 2021年7月4日
  1. 使用 MATLAB 中的 circshift() 函数移动数组
  2. 使用 MATLAB 中的数组索引移动数组
MATLAB 移位数组

本教程将介绍如何手动移动数组并使用 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 用于指定数组的结尾。

Author: 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