假设我有一个矩阵:
A = [ a, b, c;
d, e, f ];
和向量:
b = [ x;
y;
z ];
我想要的是结果矩阵为:
C = [ a*x, b*y, c*z;
d*x, e*y, f*z ];
我该怎么做? 本质上,我想将矩阵(维度:mxn)与向量(nx1)相乘,并得到结果矩阵mxn。
根据注释的要求(使用八度版本3.8.0
):
octave> A = [ 1,2,3;4,5,6]; B=[10;20;30];
octave> A*B
ans =
140
320
octave> A.*B
error: product: nonconformant arguments (op1 is 2x3, op2 is 3x1)
octave> bsxfun(@times, A, B)
error: bsxfun: nonconformant dimensions: 2x3 and 3x1
答案 0 :(得分:1)
A = [ 1,2,3;4,5,6];
B = [10;100;1000];
A.*B.'
ans =
10 200 3000
40 500 6000