
remove outliers from a circumference
3 ビュー (過去 30 日間)
古いコメントを表示
hi guys.. I have a series of points, those points generates a sort of circumference/ellipse in the 3d space ( intersection between a shpere and a cone).. i want to get rid of the outliers....I've tried using rmoutliers, but nothing.. can you help me?
0 件のコメント
採用された回答
darova
2019 年 10 月 16 日
Here is an idea:
x0 = mean(x); % Choose some center point (maybe approximately)
y0 = mean(y);
[t,r] = cart2pol(x,y); % convert your data to polar system
[~,ix] = sort(t); % sort your data by angle
tol = 0.4; % some tolerance
ix1 = find(diff(r(ix) > tol); % find values where difference of radius is too big
ind = ix(ix1); % indices of outlier points
plot3(x(ind),y(ind),z(ind),'or')

2 件のコメント
darova
2019 年 10 月 17 日
Opps! Data should be replaced to 'origin'. Try:
[t,r] = cart2pol(x-x0,y-y0); % convert your data to polar system
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!