MATLAB: Multiplication of a matrix with 6×6 cell.

array multiplication

Here, i want to multply matrix with 6×6 cell array, but the error occurs. How can i solve this?
Here
S_m is 6×6 cell array
I2 is 1×6 matrix, I2=[1 1 1 0 0 0]
In order to multiply both, following code is used:
(error included)
S_dg = cellfun(@times,S_m,num2cell(I2),'uni',false); %to multiply matrix I2(1x6) with cell array 6x6
Error using cellfun
All of the input arguments must be of the same
size and shape.
Previous inputs had size 6 in dimension 1.
Input #3 has size 1

Best Answer

Use an anonymous function instead:
fun = @(m) m.*I2;
S_dg = cellfun(fun,S_m,'uni',false);