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

 Akzeptierte Antwort

Per
Per am 20 Aug. 2012

0 Stimmen

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 Kommentare

John
John am 20 Aug. 2012
Thanks, perfect.
monu
monu am 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,,,,

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Sean de Wolski
Sean de Wolski am 20 Aug. 2012

0 Stimmen

If you have the Neural Networks Toolbox:
And specifically
Cm = gmultiply(A',B);

1 Kommentar

Duvarakesh KR
Duvarakesh KR am 10 Mär. 2014
if i use this logic in my program.i got error like "Sparse integer array arithmetic operation in not supported" please help help

Melden Sie sich an, um zu kommentieren.

Kategorien

Gefragt:

am 20 Aug. 2012

Kommentiert:

am 6 Mai 2014

Community Treasure Hunt

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

Start Hunting!

Translated by