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)?

 채택된 답변

Andrei Bobrov
Andrei Bobrov 2014년 5월 14일
[a,~,c] = unique(ids);
out = [strcat('a_',a),num2cell(accumarray(c,data))];

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

질문:

2014년 5월 14일

답변:

2014년 5월 14일

Community Treasure Hunt

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

Start Hunting!

Translated by