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