Using kronecker product and elementwise multiplication

1 vue (au cours des 30 derniers jours)
ektor
ektor le 26 Sep 2017
Modifié(e) : James Tursa le 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

Réponse acceptée

James Tursa
James Tursa le 26 Sep 2017
Modifié(e) : James Tursa le 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.

Plus de réponses (1)

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

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by