我有一个1x64大小的阵列A和另一个64x1806大小的阵列B.我想以这样一种方式将A添加到B中,即A的第一个元素被添加到B的第一行,依此类推,最多64个元素被添加到B的第64行。我怎样才能在matlab中做到这一点。例如
A= (4 5 6 7)
B= (3 4 5;
4 5 6;
4 5 6;
3 4 5 )
c=(4+3) (4+4) (4+5);
(5+4) (5+5) (5+6);
(6+4) (6+5) (6+6);...
答案 0 :(得分:5)
使用bsxfun
添加A
转置和B
元素与单身扩展:
A = [4 5 6 7]
B = [3 4 5; 4 5 6; 4 5 6; 3 4 5];
C = bsxfun(@plus, A.', B);
或者,从Matlab R2016b开始,您可以直接使用+
,感谢implicit singleton expansion:
C = A.' + B;
答案 1 :(得分:0)
如果我理解正确,您可能希望首先使用repmat来重复"重复"对于每一列,当它与B具有相同的大小时,只需向其添加B:
$fulldate = $row["refreshdate"];
$prcount= mysql_query("SELECT linkid FROM linksbuilt WHERE clientid = '$clientid' and linktype = 'PR' and DATEDIFF(day,'$fulldate',getdate()) < 31 ");