arrays - 具有维度 MxN 的字段的 MATLAB 结构数组是否与 NxM 相同?
问题描述
假设我有一个人员列表,我想将他们的名字存储在一个结构数组中:
people(1).name = "john"
people(1).lastname = "doe"
people(2).name = "jane"
people(2).lastname = "smith"
这将给出一个1×2 struct array
带有字段名称和姓氏的“”。
现在,如果我这样做:
peoplev2(1,1).name = "john"
peoplev2(1,1).lastname = "doe"
peoplev2(2,1).name = "jane"
peoplev2(2,1).lastname = "smith"
它会给我一个2×1 struct array
带有字段名称和姓氏的“”。
现在,尽管尺寸不同(一个是 1x2,另一个是 2x1),但可以以相同的方式访问两个结构数组并获得相同的结果:
people(1)
是一个名为“john”和姓氏“doe”的结构
peoplev2(1)
也是一个名为“john”和姓氏“doe”的结构。
我本来希望一个数组相对于另一个数组旋转(1x2 与 2x1),但尽管尺寸不同,它们似乎相等。此外,如果您在 MATLAB Workspace 中将它们可视化,它们都会呈现为具有第 1 行和第 2 行以及列“name”和“lastname”的表(我想我会得到第 1 列和第 2 列,以及行名称和姓氏)。
为什么 1x2 与 2x1 完全没有区别?在其他语言中,如果您尝试使用典型索引i
和迭代矩阵j
,在一种情况下i
会循环到 2,而在另一种情况下j
,它们肯定不会相等。
我在这里想念什么?谢谢!
解决方案
MATLAB 中矩阵的行为与数学中的矩阵相同:[1 2] * [1; 2] = 1 1 + 2 2 = 5(标量结果)[1; 2] * [1 2] = [1 2 ; 2 4](矩阵结果)所以不,1x2 不等于 2x1。
推荐阅读
- javascript - 在 Google Apps 脚本中将图片插入到警报弹出窗口
- excel - Excel VBA到Word文档删除最后一行
- haskell - 为什么我的包的 Hackage Matrix Builder 不正确?
- python - 将变量保存到文本文件不起作用
- java - 在 Intellij 上执行 Jboss 的权限被拒绝
- apache-spark - Spark Graphx 将层次数据从叶子扁平化到根
- installation - Power BI Enterprise Gateway 安装 - 无法联系网关服务
- redirect - BlazorServer 授权应重定向到 Azure SSO 页面
- amazon-web-services - Redshift 计划查询错误通知
- godot - 空袭戈多