Optimal range definition to minimize standard deviation

Good morning, I hope you can give me advices.
With my thesis I am working with CPT (cone penetration tests) results from an offshore location, and I have stress data (fs =shear friction, qt=tip resistance) for around 55 m depth below seabed (I attach the numerical data in the txt file, as well as a graph just for understanding).
From empirical relations I am able to determine the shear velocity and density of the (unknown type) materials that compose the soil.
Being the materials unknown and being the recordings possibly affected by local inhomogeneity, to deal with errors and uncertainty I want to define different layers corresponding to different soil types, each with a normal distribution; then on another program I want to run some simulations randomly generating properties for each layer, setting limits at the 5th and 95th percentile.
At the moment I am limited to 3 layers which I can define, and I decided the different depths for each one (0-5; 5-22; 22-55), then obtained the mean and std and found an upper-lower bound (with norminv) for velocity and density.
My question refers on how can I find the optimal depth for each layer, which minimizes the std, so that it would be an indication that the soil type may be the same.
I may do it manually running different loops, each time finding , storing them and at the end comparing, but is there a smarter and faster way to directly obtain the depths?
Thank you!

2 Comments

Have you looked at findchangepts? Maybe something like:
ipt = findchangepts(data, 'Statistic', 'std');
I just tried and seems exactly what I needed!
Thank you!

Sign in to comment.

Answers (0)

Categories

Find more on Agriculture in Help Center and File Exchange

Asked:

on 22 Jul 2021

Commented:

on 23 Jul 2021

Community Treasure Hunt

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

Start Hunting!