繁体   English   中英

我如何处理“使用vertcat的错误连接矩阵的尺寸在Matlab中不一致”?

[英]How do i handle “Error using vertcat Dimensions of matrices being concatenated are not consistent” in Matlab?

所以我想连接mxn矩阵以获得1 x mn矩阵。 我想连接的矩阵是从while循环生成的。 虽然列数总是3 ,但我无法确定每次迭代会有多少行。 此外,每次迭代的行大小可能并不总是相同。

代码在行大小都等于6情况下运行,但是在它们不相等的情况下我得到一个错误:

使用vertcat时出错连接矩阵的维数不一致。

部分代码如下:

A = [];
B = [];
searchArea = 2;

for ii = 1: numel(velocity)
    Do ....
    while area(ii,:) < searchArea
        Do ....
        % COLLATE vectors for A
        A = [A; [Ax(ii), Ay(ii), Az(ii)]];
        Do ...
    end
    %# Copy the A into new variable (B) and Reshape into row vector so as to associate each row to its corresponding velocity
    B = [B; reshape(A.',1,[])];
    A = [];
end

有人可以告诉我这里我做错了什么。 如果有需要,我会进一步澄清。 多谢你们!

如果你的意图是B最终成为行向量,那么你需要改变这个:

B = [B; reshape(A.',1,[])];  % Does vertical concatenation

对此:

B = [B reshape(A.',1,[])];  % Does horizontal concatenation (note there's no semicolon)

这样从重新整形A得到的每一行向量都会被添加到行的末尾,而不是作为一个新行( 如分号所示 )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM