Matlab 如何将矩阵与向量相乘,得到矩阵中的结果?

Matlab 如何将矩阵与向量相乘,得到矩阵中的结果?,matlab,octave,Matlab,Octave,假设我有一个矩阵: 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): 你试过把它们相乘吗?b不是标量。它是一个矩阵或列向量prefer@matzeri已修复打字

假设我有一个矩阵:

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
):


你试过把它们相乘吗?b不是标量。它是一个矩阵或列向量prefer@matzeri已修复打字错误。请参阅
*
的。如果您使用的是MATLAB≤ R2016a,您将需要。在倍频程和MATLAB中≥ R2016b,您可以直接使用
*
(调整尺寸后)
是复共轭转置。您应该在这里使用简单的转置
,因为您要使用的是转置。安迪已经贴出来了。你可以继续,谢谢你的回答。在我对这个问题发表评论之前,我没有注意到你的回答。我正在等待@SardarUsama的输入,然后将您的答案标记为已接受答案。
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
A = [ 1,2,3;4,5,6];
B = [10;100;1000];
A.*B.'
ans =

     10    200   3000
     40    500   6000