个性化阅读
专注于IT技术分析

MATLAB中的多维数组

本文概述

  • 一维多于二维的数组称为多维数组。
  • 在MATLAB中, 使用两个以上的下标创建多维数组。
  • 例如:
    • 让我们使用函数(3、8、3)创建三维数组。
    • 此函数创建一个3×8×3数组, 总共3 * 8 * 3 = 72个元素。
    • 第三个下标告诉创建号。根据第一和第二下标在行和列中设置元素集。
MATLAB中的多维数组
  • 让我们再举一个例子:
  • 在这里, 我们使用了更多功能, 其中之一是perms功能。
  • perms函数返回所有可能的方式或排列, 以将矩阵或向量的元素按行向量的不同顺序集进行排列。
MATLAB中的多维数组
MATLAB中的多维数组

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

MATLAB中的多维数组

MATLAB中的单元阵列

单元格是MATLAB中的功能数据对象。它可以包含任何数据, 数字数组, 字符串, 结构或单元格。单元阵列称为单元阵列。

例如, 一个单元格数组的一个单元格包含一个实数数组, 另一个包含字符串数组, 另一个包含复数向量。

MATLAB中的多维数组

用编程的术语来说, 单元阵列的每个元素都是指向另一个数据结构的指针, 并且那些数据结构可以是不同的类型。

单元阵列提供了一种收集有关问题的信息的好方法, 因为所有数据都可以保存在一起并可以通过单个名称访问。

单元格数组使用大括号:{}”而不是括号”()”来选择和显示单元格的内容。这种差异是因为单元格数组包含数据结构而不是数据。假设单元格数组a的定义如图所示。

MATLAB中的多维数组

然后, 元素a(1, 1)的内容是一个包含3 x 3数字数据数组的数据结构, 对(1, 1)的引用将显示该单元格的内容, 即该数据结构。

» a (1, 1)
ans =
     [3x3 double]

相反, 对{1, 1}的引用显示了单元格中包含的数据项的内容。

MATLAB中的多维数组

注意:符号a(1, 1)表示单元格a(1, 1)(它是数据结构)的内容, 而符号a {1, 1}则涉及单元格中数据结构的内容。细胞。

创建单元阵列

可以使用单元功能创建单元阵列。

MATLAB中的多维数组
  • 我们还可以使用花括号创建一个单元格数组:
MATLAB中的多维数组
  • 使用花括号访问单元格数组的元素:
MATLAB中的多维数组
  • 使用单元格数组来存储不同大小的数组:
MATLAB中的多维数组

MATLAB中的结构数组

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

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

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

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

创建结构

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

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

  • 点号用于命名结构数组的字段。
MATLAB中的多维数组

向结构数组添加元素

  • 由于结构在MATLAB中也是数组, 因此我们可以根据索引插入其他元素。
MATLAB中的多维数组
  • 这里要记住的一件事是, 在添加更多元素时, 所有字段的名称都应该相同。
  • 命令结构:
MATLAB中的多维数组

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

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

访问结构数组的元素

  • 我们可以使用索引访问结构的任何元素。
MATLAB中的多维数组
  • 我们可以将一个元素的值分配给另一个变量。
MATLAB中的多维数组

MATLAB中的子数组

希望选择并使用MATLAB数组的子集, 就像它们是划分的数组一样。要选择数组的一部分, 在数组名称后的括号中包含要选择的所有项目的列表。

例如, 假设数组arr1的描述如下:

MATLAB中的多维数组

那么arr1(3)就是3, arr1([1 4])是数组[1.1 -4.4], 而arr1(1:2:5)是数组[1.1 3.3 5.5]。

对于二维数组, 可在下标中使用冒号来选择该下标的所有值。例如, 假设

MATLAB中的多维数组

该语句将创建一个包含值的arr2数组。

MATLAB中的多维数组

子数组arr2(1, :)将为[1 2 3], 子数组arr2(:, 1:2:3)将为

MATLAB中的多维数组

结束功能

MATLAB包含一个名为end的特定函数, 该函数对于创建数组下标非常有用。在数组下标中使用时, 末尾返回该下标采用的最大值。

例如, 假设数组arr3的描述如下:

MATLAB中的多维数组

然后arr3(5:end)将是数组[5 6 7 8], 而数组(end)将是值8。

最后返回的值始终是给定下标的最大值。如果结尾出现在不同的下标中, 则它可以在同一表达式中返回不同的值。

例如, 假设3 x 4数组arr4定义如下:

MATLAB中的多维数组

然后表达式arr4(2:end, 2:end)将返回数组。

MATLAB中的多维数组

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


赞(0)
未经允许不得转载:srcmini » MATLAB中的多维数组

评论 抢沙发

评论前必须登录!