Matrix and vector multiplication elementwise

2 vues (au cours des 30 derniers jours)
Rica
Rica le 30 Nov 2012
I have a big matrix and vector. itry to present my problem with this exemple:
%
a=[1 2 3;2 3 4;4 5 6]
h=[2 2 2]
how to calculate:
%
C=[a(1,1)*h(1) a(1,1)*h(2) a(1,1)*h(3); a(2,1)*h(1) a(2,1)*h(2) a(2,2);.......;...;a(3,3)*h(1) a(3,3)*h(2) a(3,3)*h(3)]:
?
Thank you
  1 commentaire
Azzi Abdelmalek
Azzi Abdelmalek le 30 Nov 2012
The answer you've accepted don't answer your question, the size of your matrix
C=[a(1,1)*h(1) a(1,1)*h(2) a(1,1)*h(3); a(2,1)*h(1) a(2,1)*h(2) a(2,2);.......;...;a(3,3)*h(1) a(3,3)*h(2) a(3,3)*h(3)]:
is 9x3 while José-Luis result is 3x3

Connectez-vous pour commenter.

Réponse acceptée

José-Luis
José-Luis le 30 Nov 2012
bsxfun(@times,a,h)

Plus de réponses (4)

Muruganandham Subramanian
Muruganandham Subramanian le 30 Nov 2012
Modifié(e) : Muruganandham Subramanian le 30 Nov 2012
hi,
a=[1 2 3;2 3 4;4 5 6];
h=[2 2 2];
for i=1:3
for j=1:3
c(i,j)=a(i,j)*h(i);
end
end
disp(c)

Wayne King
Wayne King le 30 Nov 2012
a=[1 2 3;2 3 4;4 5 6]
h=[2 2 2];
kron(a,h)

Azzi Abdelmalek
Azzi Abdelmalek le 30 Nov 2012
Modifié(e) : Azzi Abdelmalek le 30 Nov 2012
a=[1 2 3;2 3 4;4 5 6]
h=[2 2 2]
out=cell2amt(arrayfun(@(x) x*h,a(:),'uni',0))

Andrei Bobrov
Andrei Bobrov le 30 Nov 2012
Modifié(e) : Andrei Bobrov le 30 Nov 2012
Rica wrote: "...how to calculate: ...
C=[a(1,1)*h(1) a(1,1)*h(2) a(1,1)*h(3); a(2,1)*h(1) a(2,1)*h(2) a(2,2);.......;...;a(3,3)*h(1) a(3,3)*h(2) a(3,3)*h(3)]: ..."
out = reshape(bsxfun(@times,reshape(a,1,size(a,1),[]),h(:)),numel(h),[])';
  1 commentaire
Azzi Abdelmalek
Azzi Abdelmalek le 30 Nov 2012
Yes, we 've got the same result

Connectez-vous pour commenter.

Catégories

En savoir plus sur Dimensionality Reduction and Feature Extraction 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