I want to sum the subtraction of every element in a cell (1 column, "i" rows) with the others. Then, I want to sum all results

1 view (last 30 days)
elementos_cons1(all(cellfun(@isempty,elementos_cons1),2), : ) = [];
B=cell(size(elementos_cons1));
C=cell(size(elementos_cons1));
D=cell(size(elementos_cons1));
for k=1:i
A=elementos_cons1{k};
for j=1:i
B{j}=A-elementos_cons1{j};
end
C{k}=cellfun(@sum, B,'UniformOutput', false);
D{k}=cellfun(@sum, C{k},'UniformOutput', false);
end
C is giving me what I want: its a cell with 1 column and "i" rows, and in each row there is another cell with "i" rows that have the result for the previous loop. Now, I want to add all the results from C. Instead, D is being the same as C; I want that, for every row, there is sum result of every cell from C. What is wrong?!

Answers (1)

Walter Roberson
Walter Roberson on 11 Nov 2016
D{k} = sum(C{k}, 2);
perhaps. This would be the row sum.
  1 Comment
Eduardo Rocha
Eduardo Rocha on 11 Nov 2016
It says "Undefined function 'sum' for input arguments of type 'cell'." I used
D{k} = sum(cell2mat(C{k}), 2);
but D is being the same as C again.

Sign in to comment.

Categories

Find more on Cell Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!