在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现在短了两排。
有时,将这样的二维数组视为一维数组比较方便,就好像所有列都堆叠在一起成为一个列,并指定一个索引。这被称为线性索引。例如,可以通过一个线性索引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中尝试这些特性,或者观看其他视频。
相关产品2022世界杯八强谁会赢?
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。