Using kronecker product and elementwise multiplication

1 view (last 30 days)
Dear all,
I have the matrix
der=[2 5 ;3 4]
OMEGA=kron(eye(2),der);
Suppose that now I have the 1 by 2 vector y
y=[3 4];
I want to multiply the first element of y with the first 'der' which is with OMEGA and the second element of y with the second 'der' which is within OMEGA.
Any ideas? Thanks in advance

Accepted Answer

James Tursa
James Tursa on 26 Sep 2017
Edited: James Tursa on 26 Sep 2017
yy = repmat(y,size(der,1),1);
result = bsxfun(@times,OMEGA,yy(:));
or in later versions of MATLAB
result = OMEGA .* yy(:);
Should work even if der is not square.

More Answers (1)

Andrei Bobrov
Andrei Bobrov on 26 Sep 2017
Edited: Andrei Bobrov on 26 Sep 2017
der=[2 5 ;3 4]
OMEGA=kron(eye(2),der)
y=[3 4]
out = OMEGA.*kron(y,ones(1,2))

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!