Adding three cells element wise using cellfun

Folks,
I have three cell arrays of the form 1*6 each containing an 18*9 double. I have attempted to add each corresponding element in each cell array. Ie the ith element of cell A + ith element of cell B + the ith element of cell C.
D = cellfun(@(x,y,z){x+y+z},A{ii},B{ii}, C{ii});
but i get an error stating
??? Error using ==> cellfun Input #2 expected to be a cell array, was double instead.
Any suggestions? B

2 Kommentare

The ith element of cell A is a 18x9 array, is it right?
A is a 1*6 cell
A{1,1} is an 18*9 double matrix
A{1,2} is an 18*9 double matrix
A{1,n} is an 18*9 double matrix
A{1,6} is an 18*9 double matrix
looking to add the corresponding elements in each matrix.

Melden Sie sich an, um zu kommentieren.

Antworten (3)

Azzi Abdelmalek
Azzi Abdelmalek am 23 Okt. 2013
Bearbeitet: Azzi Abdelmalek am 23 Okt. 2013

0 Stimmen

n=2;
A{n}+B{n}+C{n}
Is it what you are asking for?
% or maybe you want this
ii=5
out=cellfun(@(x,y,z) x(ii)+y(ii)+z(ii),A,B,C)
Jos (10584)
Jos (10584) am 23 Okt. 2013

0 Stimmen

D = cell(size(A)) ;
for k=1:numel(A),
D{k} = A{k}+B{k}+C{k} ;
end
bugatti79
bugatti79 am 25 Okt. 2013

0 Stimmen

Hi folks,
Adding the cell arrays of the same dimension works after. Thanks for your help.

Kategorien

Mehr zu Operators and Elementary Operations finden Sie in Hilfe-Center und File Exchange

Tags

Gefragt:

am 23 Okt. 2013

Beantwortet:

am 25 Okt. 2013

Community Treasure Hunt

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

Start Hunting!

Translated by