Как мне умножить матрицу на вектор и получить результат в матрице? - PullRequest
0 голосов
/ 13 февраля 2019

Предположим, у меня есть матрица:

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

1 Ответ

0 голосов
/ 13 февраля 2019
A = [ 1,2,3;4,5,6];
B = [10;100;1000];
A.*B.'
ans =

     10    200   3000
     40    500   6000
...