MATLAB Answers

How can I change the label for my elements with same name?

조회 수: 1(최근 30일)
DulceEien 2021년 8월 12일
댓글: DulceEien 2021년 8월 12일
How can I count the the strings with the sabe value and then add them in another ID with the increasing number for the elements with the same label
For example I have the next vector
A = {'1_01';'1_01';'1_01';'1_02';'1_02'}
and the result should be this
B = {'1_01-1';'1_01-2';'1_01-3';'1_02-1';'1_02-2'}
str1 = '-';

채택된 답변

Chunru 2021년 8월 12일
A = {'1_01';'1_01';'1_01';'1_02';'1_02'};
uA = unique(A);
B = A;
for i=1:length(uA)
idx = find(strcmp(A, uA(i)));
for j=1:length(idx)
B{idx(j)} = sprintf('%s-%d', B{idx(j)}, j);
%B = {'1_01-1';'1_01-2';'1_01-3';'1_02-1';'1_02-2'}
B = 5×1 cell array
{'1_01-1'} {'1_01-2'} {'1_01-3'} {'1_02-1'} {'1_02-2'}

추가 답변(0개)


Community Treasure Hunt

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

Start Hunting!

Translated by