Extract values from vector with cell indices

조회 수: 1 (최근 30일)
Marc Gebhardt
Marc Gebhardt 2020년 7월 21일
댓글: Bruno Luong 2020년 7월 21일
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.

채택된 답변

madhan ravi
madhan ravi 2020년 7월 21일
cellfun(@sum,c)
  댓글 수: 4
madhan ravi
madhan ravi 2020년 7월 21일
Mine works if the cell contains 1d vector, if otherwise you need to set the uniformoutput to false.
Bruno Luong
Bruno Luong 2020년 7월 21일
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)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by