logical indexing for row-wise average

How can I get a row-wise mean of this matrix
1 2 3
A = 4 5 6
7 8 9
but I only want to select these entries
0 1 1
B = 1 1 0
1 0 1
so the result would be something like
2.5
C = 4.5
8.0
Actually, this is easily possible with a loop, but I'd prefer a 1-line code. (this one is just a question of beauty :-))

 Accepted Answer

C=sum(A.*B,2)./sum(B,2);

1 Comment

thanks, quite clever using .* instead of indexing, thank you! :-)

Sign in to comment.

More Answers (0)

Products

Tags

Asked:

on 28 Mar 2013

Community Treasure Hunt

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

Start Hunting!