How to sum a single column of a cell whose content are vectors

2 visualizzazioni (ultimi 30 giorni)
How to sum a single column of a cell whose content is a vector?
data = cell(20,2);
for i=1:20
data{i,1} = i;
data{i,2} = rand(1,13);
end
My goal is to sum all values of column 2 (that are vectors) in one scallar.

Risposta accettata

Andres
Andres il 11 Ott 2022
Using cellfun is fine, but use it with the sum function.
data = cell(20,2);
for i=1:20
data{i,1} = i;
data{i,2} = rand(1,13);
end
value = sum(cellfun(@sum,data(:,2)))

Più risposte (1)

David Hill
David Hill il 11 Ott 2022
Modificato: David Hill il 11 Ott 2022
Simple loop.
data = cell(20,2);
for i=1:20
data{i,1} = i;
data{i,2} = rand(1,13);
end
s=0;
for k=1:size(data,1)
s=s+sum(data{k,2});
end
s
s = 129.3577
  3 Commenti
David Hill
David Hill il 11 Ott 2022
data = cell(20,2);
for i=1:20
data{i,1} = i;
data{i,2} = rand(1,13);
end
s=sum(arrayfun(@(x)sum(data{x,2}),1:size(data,1)))
s = 135.0550

Accedi per commentare.

Categorie

Scopri di più su Linear Algebra in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by