2013-02-27 53 views
0

通常,當一個增加了兩個向量,這是發生了什麼MATLAB向量加法像乘法,而無需環路

[1 4] + [2 5] = [3 9] 

我希望它這樣做:

[1 4] + [2 5] = 3 6 
        6 9 

所以基本上除了像乘法是如何發生的。但是不使用for循環。 非常感謝!

回答

0

一種方法是使用meshgrid

x = [1 4]; 
y = [2 5]; 
[a, b] = meshgrid(y,x); 
a + b 
+0

你的先生/女士是個英雄!這解決了我的問題。 – Maximinium 2013-02-27 15:30:16

+1

請注意,雖然這很好地工作,但如果'x'和'y'很大,那麼@Jonas的解決方案會更好,因爲它不會複製陣列。 – Edric 2013-02-27 16:00:50

3

這是海報的情況下一個使用bsxfun

x = [1 4]; 
y = [2 5]; 
bsxfun(@plus,x,y')