How do I perform an integration on a two-dimensional surface of scatttered data?

76 views (last 30 days)
I have measured data in two dimensions, not on a uniform grid. I want to perform the surface integral over the two dimensions, to get a smooth 2D surface function that I can evaluate at any input (x, y), which may be beyond the original measurement space, so smoothness and sensible extrapolation are desirable features of the integrated surface.
I have used 'scatteredInterpolant' function to obtain the surface of the original data, and then used 1-dimensional numerical integration in each dimension to create the appearance of a surface, but this is not a function F(x,y).

Answers (1)

Yogesh Khurana
Yogesh Khurana on 23 Aug 2019
Hi,
I am assuming that you already got the interpolated data by using scatteredInterpolant. Now for integrating the data you can use MATLAB’s integral functions like:
Following are some links that are some of the cases similar to this case:
Please refer to links above for more information.
Hope this helps!
  1 Comment
John Wood
John Wood on 26 Aug 2019
The first link that you provided is very similar to what I am doing already, so perhaps I am on the right track and need some help with the details.
I have used scatteredInterpolant function on measured data, but the resulting surface is still quite noisy, particularly at the edges of the data set. None of the parameters 'linear', 'nearest' seem to make any diffrence, so if there is anything else I could try that may help.
I choose an integration starting point (in each direction) that is 'inside' the data in a relatively smooth region. The choice of starting point affects the result, in terms of the smoothness and shape of the integrated surface.
I also get different results depending on which axis I use for the first line integration, in other words, the integral isn't conservative, which it is supposed to be.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!