Isolate and group regions on a 3D plot based on sensitivy to a 4th parameter

3 vues (au cours des 30 derniers jours)
I've got a reasonably large dataset roughyl 300,000x4. The first 3 columns relate to the x,y,z coordinates of a component in space and the 4th column is a rating based on certain factors and characteristics of the component at that x,y,z coordinate (i.e. temp, stress, strain, material, safety factors etc.) . Some example of the dataset rows are below:
X Y Z Rating
11.67 -5.70 341.21 24860692
-12.39 6.30 389.70 14831798
8.90 -3.12 368.10 17861810
13.80 -12.41 355.95 14962000
I want to identify the regions of the component which have a low rating and are at risk. I've found the individual nodes simply using the find function as below:
w = find(Rating <= 1E5);
u(:, 1) = X(w);
u(:, 2) = Y(w);
u(:, 3) = Z(w);
u(:, 4) = Rating(w);
When I plot this, it produces the following:
It is clear there are several different regions (about 9 or 10 maybe) of the component which have a low rating. I want to identify these grouped regions and output the x,y,z coordinates which enclose each of the regions. I'm guessing I somehow need to identify which x,y,z points are close together within the smaller dataset of low rating points but I'm not sure how to do this as the regions are not a set size and will vary when I run this code for different components so I need something generic.

Réponse acceptée

darova
darova le 10 Avr 2019
  3 commentaires
darova
darova le 11 Avr 2019
Accept the answer. They won't pay me
darova
darova le 6 Août 2019
Try clusterdata() also

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Stress and Strain dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by