I am having trouble with a 3D extrapolation. I have tried using the Interpolate2DScattered.VI but I found that it does only the interpolation within a 2D array which have the same XYZ dimentions (and no extrapolation).
Basically I have a XY plane which form a regular grid, and the problem is that the Z array (which forms the Height) does not cover the whole area of the base plane (i.e XY grid).
I am not reaaly sure but I guess that after interpolation inside the mesh grid need to extrapolate the rest of the missing Z values in the outer are!? But I dont know how!!
sample values can be as follows where the red numbers are considered as X, the green numbers as Y and the black numbers are the Z known and unknown (x) values which have to be extrapolated:
1 2 3 4 5 6 7
1 x x 2 x 1 x x
2 x x x 4 x x x
3 x x x x x x x
4 x x 9 x 5 x x
5 x x x x x x x
Any help would be really appreciated,
Not sure if you can get any meaningful data from extrapolating 30 more points out of 5, but... you can try some geometry and calculate planes from the few points you have and then determine where your missing Z points fall within those planes (given their X and Y coords). I'm not sure if LabVIEW has any built in functions that would assist with this though the math is available on the web (e.g. wikipedia).
Thanks for replying.
Basically it is going to be 120 points out of these 5 points, and the idea is to find the roughness of a surface by measuring the height only in 5 points in the middle of the surface, and then inter/extrapolate to cover the whole surface.
Unfortunately I still could not manage it in Labview. I was just trying to avoid to build a function from a scrach..
Do you know the nominal or expected shape of the surface? Is it a plane or a sphere or some other well-defined mathematical shape? Do you know where the surface is with respect to one or more of the measured points?
You could define a plane which is the best fit to the 5 points and measure the distance from each of those points to the plane. But that will define the location of the plane at the other 120 points, but there is no procedure to estimate the roughness values for those points.
If you have a mathematical relationship between the 5 measured points and the 120 unknown points, then you can probably implement that in LV. If you have a physical model which defines both the nominal surface and the roughness, then you can probably do something with that. But with 5 somewhat random points and no additional knowledge about the physics of the ssytem, I do not see how you could do anything useful.
By definition extrapolation is a process of estimataing values outside the domain of the measured data along some specified path or surface. You have not specified that path or surface.
Thanks for your reply.
Firslty I should say that the surface is simply a flat rectangle.
I know the points (X,Y) that the height (Z) is measured, and the X and Y for the other points that the Z should be extrapolated is also known.
What I have done is interpolation inside the region where I have measured the heights, and then what I would like to find out is how to extrapolate ouside this area to cover the whole surface.
Here I have attached the VI which I hope can clarify.
Do you know where the flat rectangle (plane) is located in the X, Y, Z space? I am still not sure how you are defining extrapolation.
A plane is defined by three points. You have 5 points but it is not clear that any of them are actually on the reference plane. Your plot of the interpolated points is obviously not planar.
You could attempt to find the plane which best fits the data and then extrapolate the other points to that plane. Because your data is not planar, extrapolating to the plane does not seem to be too useful. With only 5 points any fit will not be very robust.