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 Commenti

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.

Accedi per commentare.

Risposte (3)

Azzi Abdelmalek
Azzi Abdelmalek il 23 Ott 2013
Modificato: Azzi Abdelmalek il 23 Ott 2013
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)
D = cell(size(A)) ;
for k=1:numel(A),
D{k} = A{k}+B{k}+C{k} ;
end
bugatti79
bugatti79 il 25 Ott 2013
Hi folks,
Adding the cell arrays of the same dimension works after. Thanks for your help.

Categorie

Tag

Richiesto:

il 23 Ott 2013

Risposto:

il 25 Ott 2013

Community Treasure Hunt

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

Start Hunting!

Translated by