matrix in a cell multiplicaiton

1 view (last 30 days)
Jing Hua
Jing Hua on 10 Jul 2012
I got two cells and each cell contain three matrix.
{matrix_1 matrix_2 matrix_3}and {matrix_4 matrix_5 matrix 6}
I want to multiply two matrix together in a matrix-wise fashion, NOT element wise by using 'cellfun'.
I was wondering if cellfun(@(v,w) v*w,cell1, cell2.'un',0) is correct, does it compute in a matrix wise fashion?
Cheers
Jing
  2 Comments
Luffy
Luffy on 10 Jul 2012
Maybe you wrote it in a hurry but change it to cellfun(@(v,w) v*w,cell1, cell2,'UniformOutput',0)
Jan
Jan on 10 Jul 2012
@Jing Hua: I suggest that you try it and check the results.

Sign in to comment.

Accepted Answer

Jan
Jan on 10 Jul 2012
Yes, I like CELLFUN also. But if it causes troubles, why not using a loop?
Result = cell(size(cell1));
for i = 1:numel(cell1)
Result{i} = cell1{i} * cell2{i};
end
I assume this runs even faster then CELLFUN, but I cannot test this currently. Without doubt it is faster to write and to debug.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!