Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 将长度不均匀的向量相乘并将结果求和_Arrays_Matlab_Sum - Fatal编程技术网

Arrays 将长度不均匀的向量相乘并将结果求和

Arrays 将长度不均匀的向量相乘并将结果求和,arrays,matlab,sum,Arrays,Matlab,Sum,如何计算向量的每个元素与另一个向量的几个元素 例如,x=[1,2]和y=[1,2,3,4],然后我需要将x的每个元素与y的所有元素相乘和求和,如下所示 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] 向量可以有无限的元素 x = randi(10,3,1); y = randi(10,4,1); tmp = bsxfun(@times,x.',y); % P

如何计算向量的每个元素与另一个向量的几个元素

例如,x=[1,2]和y=[1,2,3,4],然后我需要将x的每个元素与y的所有元素相乘和求和,如下所示

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]
向量可以有无限的元素

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(:));
可以使用bsxfun或隐式展开创建numelx*numely大小的矩阵,然后在展平数组上求和以得到最终结果。

您可以将x乘以y的和

可以在这里帮助您,请尝试z=sumy'*x,1
result = x * sum(y)