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.
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Akzeptierte Antwort
Stephan
am 2 Jun. 2021
Bearbeitet: Stephan
am 2 Jun. 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 Kommentare
Weitere Antworten (1)
KSSV
am 2 Jun. 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')
Siehe auch
Kategorien
Mehr zu Other Formats finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!