在matlab中水平连接不起作用

时间:2014-04-01 15:39:48

标签: matlab concatenation

我有两个矩阵作为A:

'1 2 3 4'     0.00959601005678583   4
'1 2 3'        0.00972420458014290  3
'1 2 4'        0.0107007400086486   3
'1 2'          0.0108439251050866   2

B:

2.20000000000000
1.91335914850010
2.01512388433582
1.73004520013173

为什么我不能使用这个函数水平连接它?

C = horzcat(A,B);

显示的错误是:

使用horzcat时出错 连接的矩阵的尺寸不一致。

1 个答案:

答案 0 :(得分:1)

当A和B都是矩阵时,horzcat(A,B)有效,所以它在这里不起作用,因为A是(我假设)一个单元格数组。

解决问题的一种便宜方法是使用循环向A:

添加值
for ii=1:size(A,1)
    A{ii, 4} = B(ii);
end

然后你的手机A看起来像这样:

A = 
    '1 2 3 4'    [0.0096]    [4]    [2.2000]
    '1 2 3'      [0.0097]    [3]    [1.9134]
    '1 2 4'      [0.0107]    [3]    [2.0151]
    '1 2'        [0.0108]    [2]    [1.7300]