Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在一个向量Matlab中组合矩阵列_Matlab - Fatal编程技术网

在一个向量Matlab中组合矩阵列

在一个向量Matlab中组合矩阵列,matlab,Matlab,我有一个大小为4x1的矩阵a,如下所示,我想做的是a有一个包含矩阵Aas元素的向量B,如图所示,B=145,144,192,145,197,307,143,198,309,所以如果有人可以建议 A= 145 [144;192] [145;197;307] [143;198;309] 在我看来,A是一个单元数组,而不是矩阵。在这种情况下,您可以执行以下操作: B = [A{:}]; 或者,因为在您的示例中,列中的各个元素都是向量 At = cellfun(@transpose, A, 'uni

我有一个大小为4x1的矩阵a,如下所示,我想做的是a有一个包含矩阵Aas元素的向量B,如图所示,B=145,144,192,145,197,307,143,198,309,所以如果有人可以建议

A=
145
[144;192]
[145;197;307]
[143;198;309]
在我看来,A是一个单元数组,而不是矩阵。在这种情况下,您可以执行以下操作:

B = [A{:}];
或者,因为在您的示例中,列中的各个元素都是向量

At = cellfun(@transpose, A, 'uniformoutput', false);
B = [At{:}];
或者只是

B = vertcat(A{:});
感谢@horchler提醒我简单的…

在我看来,A是一个单元数组,而不是矩阵。在这种情况下,您可以执行以下操作:

B = [A{:}];
或者,因为在您的示例中,列中的各个元素都是向量

At = cellfun(@transpose, A, 'uniformoutput', false);
B = [At{:}];
或者只是

B = vertcat(A{:});

感谢@horchler提醒我简单的…

您首先需要将A的所有元素转置为行:

A = cellfun(@transpose, A,'UniformOutput', false)   
然后水平连接,即[]一个逗号分隔的列表,即{:}:


您首先需要将所有元素转置为行:

A = cellfun(@transpose, A,'UniformOutput', false)   
然后水平连接,即[]一个逗号分隔的列表,即{:}:

假设A的定义如下:

A={145
[144;192]
[145;197;307]
[143;198;309]}
可以使用垂直连接:

vertcat(A{:})'
如果A中的向量被转置,则可以使用[]或horzcat,假设A的定义如下:

A={145
[144;192]
[145;197;307]
[143;198;309]}
可以使用垂直连接:

vertcat(A{:})'

如果A中的向量被转置,可以使用[]或horzcat

或vertcat。谁知道那个细胞是如何定向的,或者说是维特猫。谁知道该单元格是如何定向的。请注意,A实际上不是矩阵,可能是单元格数组。请澄清A是如何定义的。如前所述,您的矩阵每行的元素数参差不齐-这不是Matlab中的实际工作方式。请注意,A实际上不是矩阵,可能是单元数组。请澄清A是如何定义的。正如所写的那样,你的矩阵是参差不齐的,每行的元素数不同——这并不是它们在Matlab中的工作方式。