cell elements equal to values

5 vues (au cours des 30 derniers jours)
skysky2000
skysky2000 le 23 Jan 2017
Commenté : skysky2000 le 23 Jan 2017
Dear all, I have 3 cell elements and vector with 1*10 ( this is just part of 100 elements of cell). what I want elements in cell 1 equal the value.
s={[1,9,7,4][2,6,4][3,4]};
a=[ 1 0 0.5 2 1 4 5 2 3 4];
re_cell1= 1+3+5+2
re_cell2= 0+4+2
re_cell3= 0.5+2
results=[11 6 2.5];
Thanks a lot. I will appreciate it.

Réponse acceptée

the cyclist
the cyclist le 23 Jan 2017
Here is one way:
s = {[1,9,7,4], [2,6,4], [3,4]};
a = [ 1 0 0.5 2 1 4 5 2 3 4];
results = cell2mat(cellfun(@(x)sum(a(x)),s,'UniformOutput',false));
  4 commentaires
the cyclist
the cyclist le 23 Jan 2017
skysky2000, use Stephen's simpler answer.
Originally I used the "uniform output" false, because I was returning the individual "re_cell1" vectors, which were of different lengths. Then I decided that you probably only wanted the "results" output, but forgot you could then use the simple version!
Thanks, Stephen.
skysky2000
skysky2000 le 23 Jan 2017
Thanks a lot, both of them work... that what I want appreciate it Stephen..

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