Help with multiplication of cell arrays

1 view (last 30 days)
John
John on 20 Aug 2012
Commented: monu on 6 May 2014
Hi,
I have an array of 100 1*4 matrices
I have a second array of 1000 1*4 matrices
I want the .* of for each of my 100 matrices multiplied by each of the 1000 matrices.
In total, my ouput should be 100,000 matrics.
I just wanted some help with the code, I think i may be misunderstanding how the arrays are working...
Thanks

Accepted Answer

Per
Per on 20 Aug 2012
Hi,
If I understood what you said correctly your problem could be solved like this
A = cell array containing 1000 1*4 matrices B = cell array containing 100 1*4 matrices
C = cell(length(A),length(B));
for i = 1:1000
for j = 100
C{i,j} = A{i}.*B{j};
end
end
the for loop could be vectorized to:
for j = 100
C{:,j} = A{:}.*B{j};
end
This will give you an output cell matrix of the size 1000*100
Hope this was of help.
  2 Comments
monu
monu on 6 May 2014
this shows an error of... Undefined function 'times' for input arguments of type 'cell' . . plz help me for element by element multiplication ,subtraction ,addition,power,,,,

Sign in to comment.

More Answers (1)

Sean de Wolski
Sean de Wolski on 20 Aug 2012
If you have the Neural Networks Toolbox:
And specifically
Cm = gmultiply(A',B);
  1 Comment
Duvarakesh KR
Duvarakesh KR on 10 Mar 2014
if i use this logic in my program.i got error like "Sparse integer array arithmetic operation in not supported" please help help

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!