How to plot discontinuities with scatteredInterpolant in 3D?

3 views (last 30 days)
This is the problem, I have scattered data of a fiber composite. This is a problem of "material discontinuity", this means the values of stress along the interface between materials are discontinuous. So, in the interface I have the values of stress for each material, this means that interface data has two values for plotting rather than one.
When i'm going to interpolate the data, the command scatteredInterpolant automatically averages the two values and eliminates duplicate points instead considering a discontinuity.
I also want to integrate, so if the discontinuity is not well represented, the integral value will be wrong.
Any help? In 2D is too easy to plot discontinuities, so maybe there's a way.
Thank you very much in advance.

Answers (1)

Mike Garrity
Mike Garrity on 22 Feb 2016
If you have some way of identifying which side of the discontinuity a location is on, then I would set up two scatteredinterpolants. Split your data into two sets to seed the two scatteredinterpolants. Then, when you're integrating, switch from using one to the other as you cross the boundary.
As for plotting, I'd probably need more details. For example, if you wanted to display the results as a surface, then you'd probably want to either:
  • Create one surface from each scatteredinterpolant, using nans for values which are on the other side of the discontinuity.
  • Create a single mesh which holds values calculated from both scatteredinterpolants, but squeeze a row of nans along the discontinuity.
Hector Palacios
Hector Palacios on 23 Feb 2016
Thank you very much. So NaN is the solution for plotting holes. It works perfect!
I hope not ask for much, but can that result be integrated?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by