vector matrix multiplication single row

1 visualización (últimos 30 días)
PK
PK el 23 de Oct. de 2012
is there a chance to multiply this way rand(1,10)*rand(10,100) but the way of calculation is each singe element of 1x10 mtx should multiply entire row of 10x100 mtx

Respuestas (2)

Andrei Bobrov
Andrei Bobrov el 23 de Oct. de 2012
a = rand(1,10);
b = rand(10,100);
out = bsxfun(@times,a.',b);

Jan
Jan el 23 de Oct. de 2012
Editada: Jan el 23 de Oct. de 2012
While I'd prefer BSXFUN as Andrei has posted already, there is an alternative:
a = rand(10,1); % Transposed!
b = rand(10,100);
R = a(:, ones(1, 100)) .* b;
Time measurements seems like the ONES is not created explicitely, such that this is more efficient than it looks like.

Categorías

Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by