how to find the number of occurances
1 回表示 (過去 30 日間)
古いコメントを表示
i have a matrix x=[1 1 1 1 2 2 1 1 3 3 ]
i want the output to be x1=[1 2 1 3] and y1=[4 2 2 2]
x1 should have the reduced number from input and x2 should be the number of ocurances
1 件のコメント
採用された回答
madhan ravi
2018 年 12 月 14 日
編集済み: madhan ravi
2018 年 12 月 14 日
x=[1 1 1 1 2 2 1 1 3 3];
idx=logical([diff(x)~=0,1]);
x1=x(idx)
yy=find(idx);
yyy=diff(find(idx));
y1=[yy(1) yyy]
x2=histc(x,unique(x)) % number of occurences
unique_numbers_and_their_occurences=[unique(x); histc(x,unique(x))].' %bonus
Gives:
x1 =
1 2 1 3
y1 =
4 2 2 2
x2 =
6 2 2
unique_numbers_and_their_occurences =
1 6
2 2
3 2
4 件のコメント
madhan ravi
2018 年 12 月 14 日
編集済み: madhan ravi
2018 年 12 月 14 日
Try this I corrected the mistake:
x=[1;1;1;1;2;2;1;1;3;3];
idx=logical([diff(x)~=0;1]);
x1=x(idx)
yy=find(idx);
yyy=diff(find(idx));
y1=[yy(1);yyy]
x2=histc(x,unique(x)) % number of occurences
unique_numbers_and_their_occurences=[unique(x) histc(x,unique(x))]
Gives :
>> COMMUNITY
x1 =
1
2
1
3
y1 =
4
2
2
2
x2 =
6
2
2
unique_numbers_and_their_occurences =
1 6
2 2
3 2
>>
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Environmental Science についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!