如何解决:使用 horzcat 时出错 被连接的矩阵的维度不一致



在连接步骤中一切都很好。当我保存这些变量(每个变量的大小为 30x180(并在标签步骤中标记它时,我遇到了此错误,帮助解决这个问题吗?

我想要的是将标签编号添加到特征矩阵Class1的每一行。

Error using horzcat
Dimensions of matrices being concatenated are not consistent.
Error in CONCAT (line 16)
dlmwrite(strcat('E:Matlab ProjectsFERFeatures','.txt'), [Class1 1] , 'delimiter', 't','-append','roffset',0,
'precision', 4);
% Concatenation Step
class1 = cat(2,(load(fullfile('.', 'Features', 'ANG1.txt'))), (load(fullfile('.', 'Features', 'ANG11.txt'))));
% Labeling Step
dlmwrite(strcat('E:Matlab ProjectsFERFeatures','.txt'), [Class1 1] , 'delimiter', 't','-append','roffset',0, 'precision', 4);

给定矩阵Class1或任意大小,在每行末尾添加一个1,完成如下:

nrows = size(Class1,1);
[Class1 ones(nrows,1)]

ones函数创建一个包含请求大小的 1 的矩阵。在这里,我们使用Class1中的行数,以便两个矩阵具有相同的行数并且可以连接起来。

通常,要添加任意数量的n,您可以执行以下任一操作:

[Class1, ones(nrows,1) * n]

或:

[Class1, zeros(nrows,1) + n]

或:

[Class1, repmat(n,nrows,1)]

最新更新