for loop to control cellarray whether it is changing or not.

ids=[{'100'};{'100'};{'100'};{'p200'};{'p200'};{'p300'};{'p300'};{'pp400'};{'pp400'}]; %cell
data=[100;110;120;130;140;150;160;170;180]; %double
%I wanna determine which rows are same in ids and where changing is starting, then I need to compute this algorithm like that;
a_100=(100+110+120); %they belongs '100'
a_p200=(130+140); %for 'p200'
a_p300=(150+160); %for 'p300'
a_pp400=(170+180); %for pp400
%how can I perform this calculation with loop w.r.t ids cellarray, like a(i)?

 Respuesta aceptada

[a,~,c] = unique(ids);
out = [strcat('a_',a),num2cell(accumarray(c,data))];

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Preguntada:

el 14 de Mayo de 2014

Respondida:

el 14 de Mayo de 2014

Community Treasure Hunt

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

Start Hunting!

Translated by