Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

vector matrix multiplication single row

Asked by PK

PK (view profile)

on 23 Oct 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

0 Comments

PK

PK (view profile)

Products

No products are associated with this question.

2 Answers

Answer by Andrei Bobrov

Andrei Bobrov (view profile)

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

0 Comments

Andrei Bobrov

Andrei Bobrov (view profile)

Answer by Jan Simon

Jan Simon (view profile)

on 23 Oct 2012
Edited by Jan Simon

Jan Simon (view profile)

on 23 Oct 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.

0 Comments

Jan Simon

Jan Simon (view profile)

Contact us