埃尔希Eigerman, MathWorks
创建和操作MATLAB®数组,包括使用索引访问元素。
MATLAB将所有类型的数据存储在数组中。这不仅包括数值数据,还包括其他类型的数据,如字符串甚至复杂对象。所以使用数组是MATLAB的基础。使用MATLAB语言,您可以创建数组,使用许多索引方法访问并赋值给数组元素,并执行许多其他操作来操作数组的内容。
让我们首先看看如何创建数组。可以通过使用方括号和逗号或空格来指定特定的值来创建数组,例如a = 1、2、3、4和分号来分隔行。您可以使用列操作符创建等距的一维数组,例如a = 1到10、步骤2中的a = 1到10、步骤- 2中的a = 10到1。
linspace空间函数类似于冒号操作符,允许您指定起始值和结束值,但是可以控制点的数量,比如7。您可以使用转置操作符将行更改为列。您还可以调用许多函数来生成具有不同内容(如1、0或随机数)的初等矩阵。通过在变量编辑器中打开数组,可以更方便地检查数组的内容。
现在让我们看看如何使用不同形式的索引来访问和更改数组元素的值。您可以通过简单的行和列索引指定数组的元素。这是第一行第二列中的一个元素。
可以指定行和列的范围来访问数组的部分,比如行1、列1到列2。元素不必是连续的,如第1行、第1列和第3列。可以使用冒号操作符指定所有行或列,在本例中指定所有列。还可以使用end关键字,如第1行、第2列到末尾或第2列到末尾减1。
您可以通过在诸如行1的等式的左侧指定索引来指定特定元素的值,该列2到结束1等于10 10.您可以删除一个或多行数组,例如行1到2,所有列,通过将它们分配给由方括号表示的空矩阵。A现在是两排短。
有时它可以方便地处理二维阵列,例如这些阵列作为一维阵列,尽管所有列堆叠在一起中并指定单个索引。这称为线性索引。例如,可以通过一个线性索引,5访问行1列2的元素。
这是可能的,因为MATLAB数组是按列存储在内存中。换句话说,数组中的每一列都是一个接一个存储的。所以第1行第2列的元素实际上是存储的第5个元素。当使用线性索引时,单独使用的冒号操作符指定所有元素,并返回包含整个数组内容的单个列向量。
您还可以使用所谓的逻辑索引访问元素,其中指定一个大小相等的索引数组,填充true或false值,就像掩码一样。这对于操作值匹配某些条件(如A小于0.5)的元素很有用,它将创建一个与A大小相同的逻辑值数组,当A小于0.5时,这里显示的真值为1。注意像true和false这样的逻辑值分别显示为1和0。
我们可以使用这样的逻辑数组来执行逻辑索引,比如将A小于0。5到- 1的元素集合起来。要查找匹配条件的数组元素的索引,请使用find函数,该函数将查找非零值和逻辑表达式。这给出了满足条件A小于0。5的元素的线性指标。相反,您可以获得行和列索引。您可以在文档中看到关于所有索引技术的信息。
最后,让我们看看如何提取有关数组的有用信息并执行一些基本操作。您可以获得关于数组的基本信息,例如确定它是否为空、获取所有维数的长度(通常用于1d数组)或元素的总数。正如我们前面看到的,使用方括号创建数组使我们能够水平或垂直地将多个数组连接在一起。其他有用的数组操作函数包括左右翻转和上下翻转,repmat用于复制矩阵,重塑和排序。
尽管这里所示的示例使用一个和二维阵列,但是大多数这些技术也可以应用于多维数组。有关更多信息,请参阅文档。这结束了演示。尝试现在在Matlab中的这些功能或观看其他视频。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。