# split a matrix into two matrices according to some rule

조회 수: 5 (최근 30일)
Alberto Acri 2024년 2월 12일
댓글: Cris LaPierre 2024년 2월 12일
How can I generate two separate matrices, one containing the coordinates of line A and the other of line B?
figure
plot3(matrix(:,1),matrix(:,2),matrix(:,3),'k.','Markersize',5);
axis equal
grid off
I wanted to try this way but it does not seem the best way.
% range
xRange = [xmin xmax];
yRange = [ymin ymax];
zRange = [zmin zmax];
% indices of points in the range
idx = matrix(:,1) >= xRange(1) & matrix(:,1) <= xRange(2) & ...
matrix(:,2) >= yRange(1) & matrix(:,2) <= yRange(2) & ...
matrix(:,3) >= zRange(1) & matrix(:,3) <= zRange(2);
select_matrix = [matrix(idx,1), matrix(idx,2), matrix(idx,3)];
##### 댓글 수: 5이전 댓글 3개 표시이전 댓글 3개 숨기기
Alberto Acri 2024년 2월 12일
Hi Stephen! sorry, I realised I had not installed 'Image Processing Toolbox'!
Alberto Acri 2024년 2월 12일
I wanted to know if there is a way to get the subdivision! I don't have any 'rules' at the moment!

댓글을 달려면 로그인하십시오.

### 채택된 답변

Cris LaPierre 2024년 2월 12일
편집: Cris LaPierre 2024년 2월 12일
I would look into clustering. Here is an attempt that uses dbscan, a spectral clustring algorithm included in the Statistics and Machine Learning Toolbox.
You can learn more about this and other clustering techniques in our Practical Data Science with MATLAB specialization on Coursera. It's free to enroll. Here is a link to the video Introdcution to Clustering Algorithms.
% view the raw data
plot3(matrix(:,1),matrix(:,2),matrix(:,3),'k.','Markersize',5);
% use dbscan to identify clusters
idx = dbscan(matrix,1.5,5);
gscatter(matrix(:,1),matrix(:,2),idx)
##### 댓글 수: 1이전 댓글 -1개 표시이전 댓글 -1개 숨기기
Cris LaPierre 2024년 2월 12일
If you know the number of clusters already, use spectralcluster.
idx = spectralcluster(matrix,2);
gscatter(matrix(:,1),matrix(:,2),idx)

댓글을 달려면 로그인하십시오.

### 카테고리

Help CenterFile Exchange에서 Hierarchical Clustering에 대해 자세히 알아보기

R2021b

### Community Treasure Hunt

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

Start Hunting!

Translated by