Help with multiplication of cell arrays

5 visualizzazioni (ultimi 30 giorni)
John
John il 20 Ago 2012
Commentato: monu il 6 Mag 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

Risposta accettata

Per
Per il 20 Ago 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 Commenti
John
John il 20 Ago 2012
Thanks, perfect.
monu
monu il 6 Mag 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,,,,

Accedi per commentare.

Più risposte (1)

Sean de Wolski
Sean de Wolski il 20 Ago 2012
If you have the Neural Networks Toolbox:
And specifically
Cm = gmultiply(A',B);
  1 Commento
Duvarakesh KR
Duvarakesh KR il 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

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by