1

是否可以为矩阵自动添加长度不同的向量?

IE:

a = [1 2 3 4]
b = [1 2]

我怎样才能使 C 成为:

c = [1 2 3 4 ; 1 2 0 0]

或者

c = [1 2 3 4 ; 1 2 NaN NaN]

或类似的东西

谢谢

4

2 回答 2

3

这可能会有所帮助

a = [1 2 3 4];
b = [1 2];
c = a;
c(2,1:length(b)) = b;

c =

 1     2     3     4
 1     2     0     0

然后,如果您宁愿拥有而NaN不是0,您可以按照 Dennis Jaheruddin 在下面的评论中的建议进行操作。

于 2013-03-20T09:40:14.263 回答
1

做一个这样的功能

function out = cat2(a, b)

    diff = length(a) - length(b)
    if diff > 0
        b = [b, nan(1, diff)];
    else
        a = [a, nan(1, -diff)];
    end

    out = [a;b];

end

(但也添加一个检查来处理列向量)

cat2([1 2 3 4], [1 2])

ans =

     1     2     3     4
     1     2   NaN   NaN
于 2013-03-20T09:35:50.843 回答