Hi everyone,
I have been struggling with the following problem: I have a function of two variables, let me call it f[x,y] and each variables takes values on a very large range (0-10^8 say). I need to build an interpolating function of the original function for computational purposes. In order not to get a huge number of interpolating points, I would like to split the very large interval into smaller intervals and build several Tables of the original function over the different intervals, like this:
t1=Table[{x, y, f[x,y]}, {x,0,10,0.1},{y,0,10,0.1}];
t2=Table[{x, y, f[x,y]}, {x,10,100,1},{y,10,100,1}];
.....
t=Table[{x, y, f[x,y]}, {x,10^7,10^8,10^6},{y,10^7,10^8,10^6}];
I would then try to join these tables and use Interpolation to build an interpolating function:
fint=Interpolation[DeleteDuplicates[Flatten[Join[t1, t2,..], 1]]]
I use DeleteDuplicates to make sure that I do not repeat points.
However, when I do so, I get the following:
Interpolation::udeg: Interpolation on unstructured grids is currently only supported for InterpolationOrder->1 or InterpolationOrder->All. Order will be reduced to 1.
For my purposes, I need an interpolation order of 3. There seems to be a problem with the merging of the elements in the list, but I cannot solve it with Union[], nor with Sort[].
Would anyone here know how to solve this? Thank you so much! Best. Fabrizio