MATLAB Answers

Using kronecker product and elementwise multiplication

5 views (last 30 days)
ektor
ektor on 26 Sep 2017
Edited: James Tursa on 26 Sep 2017
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

  0 Comments

Sign in to comment.

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.

  0 Comments

Sign in to comment.

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))

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by