Help with multiplication of cell arrays

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

 Réponse acceptée

Per
Per le 20 Août 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 commentaires

John
John le 20 Août 2012
Thanks, perfect.
monu
monu le 6 Mai 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,,,,

Connectez-vous pour commenter.

Plus de réponses (1)

Sean de Wolski
Sean de Wolski le 20 Août 2012
If you have the Neural Networks Toolbox:
And specifically
Cm = gmultiply(A',B);

1 commentaire

Duvarakesh KR
Duvarakesh KR le 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

Connectez-vous pour commenter.

Catégories

Question posée :

le 20 Août 2012

Commenté :

le 6 Mai 2014

Community Treasure Hunt

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

Start Hunting!

Translated by