0
通常,當一個增加了兩個向量,這是發生了什麼MATLAB向量加法像乘法,而無需環路
[1 4] + [2 5] = [3 9]
我希望它這樣做:
[1 4] + [2 5] = 3 6
6 9
所以基本上除了像乘法是如何發生的。但是不使用for循環。 非常感謝!
通常,當一個增加了兩個向量,這是發生了什麼MATLAB向量加法像乘法,而無需環路
[1 4] + [2 5] = [3 9]
我希望它這樣做:
[1 4] + [2 5] = 3 6
6 9
所以基本上除了像乘法是如何發生的。但是不使用for循環。 非常感謝!
一種方法是使用meshgrid。
x = [1 4];
y = [2 5];
[a, b] = meshgrid(y,x);
a + b
這是海報的情況下一個使用bsxfun
x = [1 4];
y = [2 5];
bsxfun(@plus,x,y')
你的先生/女士是個英雄!這解決了我的問題。 – Maximinium 2013-02-27 15:30:16
請注意,雖然這很好地工作,但如果'x'和'y'很大,那麼@Jonas的解決方案會更好,因爲它不會複製陣列。 – Edric 2013-02-27 16:00:50