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

5 views (last 30 days)
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.

Accepted Answer

darova
darova on 10 Apr 2019
  3 Comments

Sign in to comment.

More Answers (0)

Categories

Find more on Stress and Strain in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!