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

2 vues (au cours des 30 derniers jours)
Hudson Romualdo
Hudson Romualdo le 11 Oct 2022
Réponse apportée : Andres le 11 Oct 2022
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.

Réponse acceptée

Andres
Andres le 11 Oct 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)))

Plus de réponses (1)

David Hill
David Hill le 11 Oct 2022
Modifié(e) : David Hill le 11 Oct 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 commentaires
David Hill
David Hill le 11 Oct 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
Hudson Romualdo
Hudson Romualdo le 11 Oct 2022
Nice! =)

Connectez-vous pour commenter.

Catégories

En savoir plus sur Linear Algebra 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