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 view (last 30 days)
Show older comments
Accepted Answer
Stephan
on 2 Jun 2021
Edited: Stephan
on 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 Comments
More Answers (1)
KSSV
on 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')
See Also
Categories
Find more on Other Formats in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!