【问题标题】:Concatenating Matrices连接矩阵
【发布时间】:2021-02-25 18:32:19
【问题描述】:

根据我对本节的理解,连接矩阵是将两个矩阵合并为一个。我有两个大小相同的矩阵,但想将它们组合成不同大小的三分之一;我不明白这如何或为什么会成为可能。我在下面给出的示例问题供参考。

“给定矩阵 A (75x75) 和 B (75x75) 创建尺寸为 (75x150) 的矩阵 C。使用函数大小将 C 的行数和列数分配给名为 rows 和 cols 的变量。”

【问题讨论】:

  • 参见例如vertcat
  • 我开始认为我永远不会理解这些东西,已经过了几个星期,我完全迷失在试图理解这些概念的过程中。
  • horzcat
  • 我想我感到困惑的地方是问题说“通过调用加载函数提供矩阵 A 和 B - load (Question4.mat") 我输入了 C =load(Question4.mat") rows = 75 cols = 150 我错过了一步吗?
  • 或者通过简单地执行C = [A B] → 具有与C = horzcat(A,B) 函数或C = [A; B] 相同的功能 → 具有与C = vertcat(A,B) 函数相同的功能。要返回行数和列数,您可以使用[rows,cols] = size(C)

标签: matlab


【解决方案1】:

以下将使用 mat 文件中存在的变量名称将 mat 文件中的变量直接加载到工作区中

load('Question4.mat')

大概这会将变量 A 和 B 加载到您的工作区中。这显然是对你的要求。

以下将把 mat 文件中的变量加载到一个名为 C 的结构变量中,其中 C 的字段名将是 mat 文件中的变量名

C = load('Question4.mat')

不是你的要求。如果你这样做了,那么你将不得不使用语法 C.A 和 C.B 来获​​取 A 和 B 变量,这不是赋值的目的。

假设您在工作区中有变量 A 和 B,您通常可以用方括号将它们连接起来。使用逗号将它们水平连接,并使用分号将它们垂直连接。例如,试试这两条线,看看你会得到什么:

[A,B]
[A;B]

一旦您弄清楚如何获得正确的 C 变量,只需使用 size() 函数和两个输出选项(请参阅维度长度作为单独的参数部分)。在这里查看大小函数的文档:

https://www.mathworks.com/help/matlab/ref/size.html?searchHighlight=size&s_tid=srchtitle

【讨论】:

  • OP 在对原帖的评论中专门发布了此内容。
猜你喜欢
  • 2015-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-11
  • 2015-12-20
  • 1970-01-01
相关资源
最近更新 更多