remove outliers from a circumference

3 ビュー (過去 30 日間)
luca antonioli
luca antonioli 2019 年 10 月 16 日
コメント済み: darova 2019 年 10 月 17 日
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?

採用された回答

darova
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')
321.png
  2 件のコメント
luca antonioli
luca antonioli 2019 年 10 月 17 日
yes, it is a good idea..but how to consider the center of the circumference?
you calculate x0 and y0 but you dont use these points!
darova
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 件)

カテゴリ

Help Center および File ExchangeDirection of Arrival Estimation についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by