📜  MATLAB中的多维数组

📅  最后修改于: 2021-01-07 02:23:51             🧑  作者: Mango

MATLAB中的多维数组

  • 一维多于二维的数组称为多维数组。
  • 在MATLAB中,使用两个以上的下标创建多维数组。
  • 例如:
    • 让我们使用函数(3、8、3)创建三维数组。
    • 此函数创建一个3×8×3数组,总共3 * 8 * 3 = 72个元素。
    • 第三个下标告诉创建号。根据第一和第二下标在行和列中设置元素集。

    • 让我们再举一个例子:
    • 这里我们使用了更多的功能,其中之一是perms 函数。
    • perms函数返回所有可能的方式或排列,以将矩阵或向量的元素按行向量的不同顺序集进行排列。


上面的3-D数组的说明:

MATLAB中的单元阵列

单元格是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中的结构数组

结构是一种数据类型,其中每个单独的元素都有一个名称。

结构的各个元素称为字段,结构中的每个字段可能具有不同的类型。

通过将结构名称与字段名称结合在一起(以句点分隔),可以解决各个字段的问题。

使用点表示法访问字段中的数据。

创建结构

在MATLAB中有几种创建结构的方法。

使用点表示法创建结构数组:

  • 点号用于命名结构数组的字段。

向结构数组添加元素

  • 由于结构在MATLAB中也是数组,因此我们可以根据索引插入其他元素。

  • 这里要记住的一件事是,在添加更多元素时,所有字段的名称都应该相同。
  • 命令结构:

使用struct命令以单个语句添加元素:

  • 我们可以用一条语句将元素添加到结构数组中。
  • 所有字段和值对都在struct命令参数中定义。

访问结构数组的元素

  • 我们可以使用索引访问结构的任何元素。

  • 我们可以将一个元素的值分配给另一个变量。

MATLAB中的子数组

希望选择并使用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)将返回数组。

”MATLAB中的多维数组”

注意:第一端返回值3,而第二端返回值4!