Extract values from vector with cell indices

1 vue (au cours des 30 derniers jours)
Marc Gebhardt
Marc Gebhardt le 21 Juil 2020
Commenté : Bruno Luong le 21 Juil 2020
Hello guys,
i created a cell, with indices in the fields.
c=cell(2,2);
c{1,1}=[1,2,3];
c{2,1}=[7,8];
c{1,2}=[1,4];
c{2,2}=[3,5];
The goal is to extract and sum up values from another vector at this indices.
data=(1:10)';
The result should be a matrix (2x2, same size like c) with the results in it.
Pseudocode:
results(1,1)=sum(cell{1,1})=1+2+3
results(2,1)=sum(cell{2,1})=7+8
... and so on...
But this should be done automatically without a loop over the fields of the cell.

Réponse acceptée

madhan ravi
madhan ravi le 21 Juil 2020
cellfun(@sum,c)
  4 commentaires
madhan ravi
madhan ravi le 21 Juil 2020
Mine works if the cell contains 1d vector, if otherwise you need to set the uniformoutput to false.
Bruno Luong
Bruno Luong le 21 Juil 2020
Well your pseudo-code does not depend on DATA, and it's confusing to select DATA example that has value==indice.
cellfun(@(i) sum(data(i)), c)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

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