how to multiply cell with a vector such that cell contains a matrix and each row is multiplied by different element of vector?

1 view (last 30 days)
If I have a cell containing 2 matrices
A={[10 0 0 10 0 20 15;
0 10 10 15 0 0 20;
10 0 0 12 11 0 0;
10 0 0 0 19 0 14;
18 13 0 0 0 15 0;
0 10 0 0 0 10 15]
[0 0 10 0 20 15;
10 10 15 0 0 20;
0 0 12 11 0 0;
0 0 0 19 0 14;
13 0 0 0 15 0;
11 0 13 0 15 0]}
B=[500 550 600 650 700 550]
I want to multiply each matrix with this vector in a way that 1st row is multiplied by 1st element of B 2nd row with 2nd element and 6th row with 6th element. how to define this as A is a cell

Accepted Answer

James Tursa
James Tursa on 18 Jan 2017
It is not clear to me what you want to have happen to rows 3-5. Assuming it is similar to the other rows, does this do what you want?
C = cellfun(@(x)bsxfun(@times,x,B(:)),A,'uni',false);

More Answers (0)

Categories

Find more on Cell Arrays in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!