How can i find the position of same elements in matlab......
1 次查看(过去 30 天)
显示 更早的评论
For Example :
x=[1 1 1 2 2 3 3 5 5 5 7 7 7]
result =
1 1 3
2 4 5
3 6 7
5 8 10
7 11 13
Regards.......
I try something like this, ('works')but is really slow
ind=unique(x)
for i = 1 : length(ind);
[z] =find(x==ind(i))
limit(i,:)=[z(1) z(end)]
end
0 个评论
采纳的回答
Andrei Bobrov
2013-8-28
编辑:Andrei Bobrov
2013-8-28
[a,b1] = unique(x,'first');
[a,b2] = unique(x,'last');
result = [a(:),b1,b2];
or
ii = [find([true;diff(x(:))~=0]);numel(x)+1];
result=[x(ii(1:end-1))',ii(1:end-1),ii(2:end)-1];
更多回答(1 个)
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!