如何解决:使用horzcat时发生错误所连接矩阵的维数不一致

时间:2018-09-07 18:24:04

标签: matlab matrix concatenation

在连接步骤中,一切都很好。当我保存这些变量(每个变量的大小为30x180)并在“标签”步骤中对其进行标签时,出现此错误,对此有帮助吗?

我要在功能矩阵Class1的每一行中添加标签号。

Error using horzcat
Dimensions of matrices being concatenated are not consistent.
Error in CONCAT (line 16)
dlmwrite(strcat('E:\Matlab Projects\FER\Features\','.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 Projects\FER\Features\','.txt'), [Class1 1] , 'delimiter', '\t','-append','roffset',0, 'precision', 4);

1 个答案:

答案 0 :(得分:0)

给定矩阵Class1或任意大小,在每行末尾添加1的操作如下:

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

ones函数创建一个带有所请求大小的矩阵。在这里,我们使用Class1中的行数,以便两个矩阵具有相同的行数并且可以串联。

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

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

或:

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

或:

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