# How to multiply a matrix to another cell matrix

13 views (last 30 days)

Show older comments

Hello

I have a 3*3 matrix such as

[1 0 0;

8 23 1;

5 7 10]

On the other hand, I have matrix 2000*1 containing 2000 cell arrays which are 3*4 matrices such as

[ [3*4];

[3*4];

[3*4];

.

.

]

I want to multiplythis 3*3 matrix to each of 3*4 matrices in the big matrix and obtain a final 2000*1 matrix. I have seen the code @(x)x.*matrix in MATLAB forum.

However, it gives out a function handle..I need to use the numeric output. What should i do?

##### 1 Comment

David Hill
on 14 May 2021

### Accepted Answer

### More Answers (1)

Jan
on 14 May 2021

Edited: Jan
on 14 May 2021

Create a simple loop:

A = rand(3, 3);

for iC = 1:numel(C) % Where C is your cell

C{iC} = A * C{iC};

end

The approach with cellfun looks smart, but it is slower:

C = cellfun(@(c) A*c, C, 'UniformOutput', false);

By the way, .* is the elementwise operation. You need *, because the matrix and the cell elements do not have the same number of elements.

##### 2 Comments

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!