📅  最后修改于: 2021-01-07 02:23:51             🧑  作者: Mango
上面的3-D数组的说明:
单元格是MATLAB中的功能数据对象。它可以包含任何数据,数字数组,字符串,结构或单元格。单元格数组称为单元格数组。
例如,一个单元格数组的一个单元格包含一个实数数组,另一个包含字符串数组,另一个包含复数向量。
用编程的术语来说,单元阵列的每个元素都是指向另一个数据结构的指针,并且那些数据结构可以是不同的类型。
单元阵列提供了一种收集有关问题的信息的好方法,因为所有数据都可以保存在一起并可以通过单个名称访问。
单元格数组使用大括号:{}“而不是括号”()“来选择和显示单元格的内容。这种差异是因为单元格数组包含数据结构而不是数据。假定单元格数组a的定义如图所示。
然后,元素a(1,1)的内容是一个数据结构,其中包含3 x 3的数字数据数组,对(1,1)的引用将显示该单元格的内容,即该数据结构。
» a (1, 1)
ans =
[3x3 double]
相反,对{1,1}的引用显示了单元格中包含的数据项的内容。
注意:符号a(1,1)表示单元格a(1,1)(它是数据结构)的内容,而符号a {1,1}则涉及单元格内数据结构的内容。细胞。
可以使用cell函数创建一个单元格数组。
结构是一种数据类型,其中每个单独的元素都有一个名称。
结构的各个元素称为字段,结构中的每个字段可能具有不同的类型。
通过将结构名称与字段名称结合在一起(以句点分隔),可以解决各个字段的问题。
使用点表示法访问字段中的数据。
在MATLAB中有几种创建结构的方法。
使用点表示法创建结构数组:
向结构数组添加元素
使用struct命令以单个语句添加元素:
访问结构数组的元素
希望选择并使用MATLAB数组的子集,就像它们是划分的数组一样。要选择数组的一部分,在数组名称后的括号中包含要选择的所有项目的列表。
例如,假设数组arr1的描述如下:
那么arr1(3)只是3,arr1([1 4])是数组[1.1 -4.4],而arr1(1:2:5)是数组[1.1 3.3 5.5]。
对于二维数组,可在下标中使用冒号来选择该下标的所有值。例如,假设
该语句将创建一个包含值的arr2数组。
子数组arr2(1,:)将为[1 2 3],子数组arr2(:,1:2:3)将为
MATLAB包含一个名为end的特定函数,该函数对于创建数组下标非常有用。在数组下标中使用时,末尾返回该下标承担的最大值。
例如,假设数组arr3的描述如下:
然后arr3(5:end)将是数组[5 6 7 8],而数组(end)将是值8。
最后返回的值始终是给定下标的最大值。如果结尾出现在不同的下标中,则它可以在同一表达式中返回不同的值。
例如,假设3 x 4数组arr4定义如下:
然后表达式arr4(2:end,2:end)将返回数组。
注意:第一端返回值3,而第二端返回值4!