hello everyone. How to divide a group of points named data into two parts, dataA and dataB, as shown in the figure. Thank you very much.

2 vues (au cours des 30 derniers jours)

Réponse acceptée

Stephan
Stephan le 2 Juin 2021
Modifié(e) : Stephan le 2 Juin 2021
% divide data
idx = clusterdata(data,2);
dataA = data(idx==2,:);
dataB = data(idx==1,:);
% plot results
scatter(dataA(:,1),dataA(:,2))
hold on
scatter(dataB(:,1),dataB(:,2))
hold off
result is:
Note that this needs Statisitcs and Machine Learning Toolbox.
  3 commentaires
Wesley
Wesley le 2 Juin 2021
It is very helpful to me. Thank you for your warm-hearted reply.

Connectez-vous pour commenter.

Plus de réponses (1)

KSSV
KSSV le 2 Juin 2021
x = data(:,1) ;
y = data(:,2) ;
mx = mean(x) ; my = mean(y) ;
idx = y < my ;
x1 = x(idx) ; y1 = y(idx) ;
x2 = x(~idx) ; y2 = y(~idx) ;
plot(x,y,'.r')
hold on
plot(mx,my,'*b')
plot(x1,y1,'.b')
plot(x2,y2,'.g')

Catégories

En savoir plus sur Time Series dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by