scatteredInterpolant gives null matrix for collinear data . .

Hello, I want to interpolate scattered data (x,y,z). x and y are collinear (x and y = [0.05 0.1 0.15 0.20 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6] ).
When I use:
F = scatteredInterpolant(x, y, z);
[Xq, Yq] = meshgrid(x, y);
Zq = F(Xq, Yq);
I get empty Zq with following error : The underlying triangulation is empty - the points may be collinear.
Please help me on this.

2 Kommentare

Add a small random offset to x and y so that they are not colinear
Thanks a lot!
It worked very well.

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Farough Rahimzadeh
Farough Rahimzadeh am 29 Mär. 2022

0 Stimmen

One trick you can do is to add one number to the end the array to remove the collinear correlation.
For example, my data is gravitational force at certain coordinates. Because I know gravitational force at 1e8 distance is roughphy equal to zero, I added one addition point of (1e8, -1e8, 0) to the data set to remove the linear correltion.
x = [1 2 3 4 5, 1e8];
y = [1 2 3 4 5, -1e8];
z = [1.8 1.2 2.2 1.9 1.2, 0];

Kategorien

Mehr zu Interpolation finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 10 Jan. 2020

Beantwortet:

am 29 Mär. 2022

Community Treasure Hunt

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

Start Hunting!

Translated by