Hi How should be written a code to multiply a vector (1x n) with matrix (n x n) and get a result as a matrix .Each element of vector should be multipied with coresponding column of matrix i.e. : 1-st element with 1-st column then 2-nd with 2-nd .The command kron gives the desired outcome but it is too vast and every n+n of its outcome is that I am interested in .Thank for any clue !

 採用された回答

Sean de Wolski
Sean de Wolski 2012 年 1 月 9 日

0 投票

doc bsxfun
and more specific:
bsxfun(@times,matrix,vector)

その他の回答 (1 件)

Jonathan Sullivan
Jonathan Sullivan 2012 年 1 月 9 日

0 投票

If your vector is V with elements V1-VN and your matrix is M with elements M11-MNN, I presume you want the a matrix containing the following:
[V1*M11 V2*M21 ... VN*MN1
V1*M12 V2*M22 ... VN*MN2
.
.
.
... VN*MNN]
You can do that by simply typing the following:
result = bsxfun(@times,V,M);

1 件のコメント

Malgorzata
Malgorzata 2012 年 1 月 9 日
THANKS, that is it

サインインしてコメントする。

カテゴリ

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by