Effacer les filtres
Effacer les filtres

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 vue (au cours des 30 derniers jours)
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?!

Réponses (1)

Walter Roberson
Walter Roberson le 11 Nov 2016
D{k} = sum(C{k}, 2);
perhaps. This would be the row sum.
  1 commentaire
Eduardo Rocha
Eduardo Rocha le 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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by