multiply and addition rows of matrices

I got a matrix p = [ 1; 2 ; 3; 4] so in general dimension p(m) (=4) and a matrix w(m,n) (=4,2) witch is w= [ 2 4; 6 8; 1 3 ; 5 7] now i want to multiply each row of w(m,n) by the number of p(m). So multiplication row by row. So the result must be f=[ 2 4; 12 18; 3 9; 20 28]. i tried f=p*w but it gives not the right result.
Second all the rows of f must be add to eachother so f have only one row with elements the addition of all rows. In the example: f=[ 2+12+3+20 4+18+9+27] Thx in advance

댓글 수: 1

Sean de Wolski
Sean de Wolski 2011년 5월 9일
Well asked question! You provided a small example, what you've tried, what you expect and dimensions - everything we typically ask for.

댓글을 달려면 로그인하십시오.

 채택된 답변

Sean de Wolski
Sean de Wolski 2011년 5월 9일

0 개 추천

Basic Singleton eXpansion along the 2nd dimension:
f = sum(bsxfun(@times,p,w))

댓글 수: 2

Fiboehh
Fiboehh 2011년 5월 9일
Okj thx man, hadn't found that function :)
You know a solution for the addition, because f = bsxfun(@plus,p,p) doesnt change the dimension.
Sean de Wolski
Sean de Wolski 2011년 5월 9일
You just use the 'sum' function as I have above. It defaults to summing columns.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Bjorn Gustavsson
Bjorn Gustavsson 2011년 5월 9일

0 개 추천

Golf:
f = (w'*p)';
If you need the same function for complex numbers yuo might have to pay 2 extra characters:
f = (w.'*p).';

카테고리

도움말 센터File Exchange에서 Mathematics에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by