matlab arr3(5:end),MATLAB中的多维数组

本文概述

一维多于二维的数组称为多维数组。

在MATLAB中, 使用两个以上的下标创建多维数组。

例如:

让我们使用函数(3、8、3)创建三维数组。

此函数创建一个3×8×3数组, 总共3 * 8 * 3 = 72个元素。

第三个下标告诉创建号。根据第一和第二下标在行和列中设置元素集。

multi-dimensional-arrays-in-matlab.png

让我们再举一个例子:

在这里, 我们使用了更多功能, 其中之一是perms功能。

perms函数返回所有可能的方式或排列, 以将矩阵或向量的元素按行向量的不同顺序集进行排列。

multi-dimensional-arrays-in-matlab2.png

multi-dimensional-arrays-in-matlab3.png

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

multi-dimensional-arrays-in-matlab4.png

MATLAB中的单元阵列

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

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

multi-dimensional-arrays-in-matlab5.png

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

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

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

multi-dimensional-arrays-in-matlab6.png

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

» a (1, 1)

ans =

[3x3 double]

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

multi-dimensional-arrays-in-matlab7.png

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

创建单元阵列

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

multi-dimensional-arrays-in-matlab8.png

我们还可以使用花括号创建一个单元格数组:

multi-dimensional-arrays-in-matlab9.png

使用花括号访问单元格数组的元素:

multi-dimensional-arrays-in-matlab10.png

使用单元格数组来存储不同大小的数组:

multi-dimensional-arrays-in-matlab11.png

MATLAB中的结构数组

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

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

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

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

创建结构

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

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

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

multi-dimensional-arrays-in-matlab12.png

向结构数组添加元素

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

multi-dimensional-arrays-in-matlab13.png

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

命令结构:

multi-dimensional-arrays-in-matlab14.png

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

我们可以用一条语句将元素添加到结构数组中。

所有字段和值对均在struct命令参数中定义。

multi-dimensional-arrays-in-matlab15.png

访问结构数组的元素

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

multi-dimensional-arrays-in-matlab16.png

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

multi-dimensional-arrays-in-matlab17.png

MATLAB中的子数组

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

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

multi-dimensional-arrays-in-matlab18.png

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

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

multi-dimensional-arrays-in-matlab19.png

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

multi-dimensional-arrays-in-matlab20.png

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

multi-dimensional-arrays-in-matlab21.png

结束功能

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

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

multi-dimensional-arrays-in-matlab22.png

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

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

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

multi-dimensional-arrays-in-matlab23.png

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

multi-dimensional-arrays-in-matlab24.png

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值