2017-04-19 6 views
0

ベクトルの各要素に対して、別のベクトルからいくつかの要素を計算するにはどうすればよいですか?例えば、x=[1,2]y=[1,2,3,4]とは、私はそうのように、yの全ての要素とxの各要素を乗算し、合計する長さの不均一なベクトルの乗算と結果の合計

を必要とします。

x = [1,2] 
y = [1,2,3,4] 
z = [x1*y,x2*y] = [x1*y1+x1*y2+x1*y3+x1*y4,x2*y1+x2*y2+x2*y3+x2*y4] 

ベクターには無制限の要素を含めることができます。

+0

[マトリックス乗算](https://en.wikipedia.org/wiki/Matrix_multiplication)の合計とxを掛けることができます* x、1) ' – user2999345

答えて

1
x = randi(10,3,1); 
y = randi(10,4,1); 

tmp = bsxfun(@times,x.',y); % Pre-R2016b 
% tmp = x.'*y; % Post R2016b method 
out = sum(tmp(:)); 

一つはnumel(x) * numel(y)サイズの行列を作成するかbsxfunまたは暗黙的な拡張を使用し、最終結果に到達するために平坦化アレイにわたる和することができます。

0

あなたは `Z =合計(Y」してみてください、ここであなたを助けることができるy

result = x * sum(y) 
関連する問題