How to multiply row of matrix A with column of matrix B?

7 visualizzazioni (ultimi 30 giorni)
A is 121 x 36 matrix
B is 36 x 121 matrix
The result C should be 121 x 1 matrix.
May I know how should I multiply a row of A with col of B? so that resulting matrix is 121 X 1.
No loops please.
  2 Commenti
the cyclist
the cyclist il 24 Nov 2021
One row of A is 36 elements. One column of B is 36 elements. It is absolutely unclear how to get a 121x1 matrix from that.
Please explain more clearly what you need. Perhaps use a smaller example (e.g. 4x3) to show exactly what the input and output should be.
Adam Danz
Adam Danz il 24 Nov 2021
Prehaps the goal is the multiply a col of A by row of B.

Accedi per commentare.

Risposta accettata

James Tursa
James Tursa il 25 Nov 2021
Modificato: James Tursa il 25 Nov 2021
Maybe this is what you want?
C = sum(A .* B.',2)

Più risposte (1)

the cyclist
the cyclist il 24 Nov 2021
If @Adam Danz is correct that you actually want to multiply all the elements of one column of A with one row of B, then
% Define A and B
A = rand(121,36);
B = rand(36,121);
% Which row and column?
colA = 2;
rowB = 3;
% Multiply the selected row and column
V = A(:,colA) .* B(rowB,:).'; % <----- Note that I used the transpose here
% Check the size of V
size(V)
ans = 1×2
121 1

Prodotti


Release

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by