连接不同长度的向量

时间:2017-02-17 12:13:57

标签: matlab

我在MATLAB中连接向量时遇到了困难。

A = [1
     2
     3]

B = [6
     7
     8
     9
     10]

Desired result:

C = [1
     2
     3
     6 
     7                
     8
     9
     10]

其中AB的大小在我的脚本的每次迭代中都不同,我想形成连接的结果向量C,它具有动态大小。

这就是我的尝试:

matlab snapshot

3 个答案:

答案 0 :(得分:2)

A = [1
     2
     3];

B = [6
     7
     8
     9
     10];

垂直连接两个矢量/矩阵就是你想要的,像这样......

C = [A; B]; 

......或者......

C = [A
     B];

......或者......

C = vertcat(A,B);

这三个都给出了

C = [1
     2
     3
     6
     7 
     8
     9
     10]

% As you requested...

因为您尝试使用horzcat

而遇到了麻烦
C = horzcat(A',B');

水平级联水平合并矩阵,即

C = [1, 6
     2, 7
     3, 8
     ?, 9
     ?, 10]

为了避免这种情况,你已经转换了矩阵来使它们成行而不是列,然后将结果转换回来?你需要vertcat!我已经在上面展示了速记和完整形式。

答案 1 :(得分:0)

尝试:

A = [1 2 3];
B = [4 5 6 7 8 9 10];

C = [A B]

对于垂直向量A'和B'使用:

C = [A;B]

答案 2 :(得分:0)

这种万无一失的方式是:

canvas.loadFromJSON(json,canvas.renderAll.bind(canvas))

canvas.renderAll();

//select all items first (this works)
var objs = canvas.getObjects().map(function(o) {  
     return o.set('active', true);
});

//deactivate some items i dont want to resize (this works)
canvas.item(0).set('active', false);
canvas.item(1).set('active', false);
canvas.item(2).set('active', false);
canvas.item(3).set('active', false);
canvas.item(4).set('active', false);

canvas.renderAll();
//the problem starts here 
var o = canvas.getActiveGroup();
o.set({width:100, height:100});

如果使用此方法,则A和B是行向量,列向量还是矩阵无关紧要。

相关问题