현재 그리드에서 누락 된 점을 찾기 위해 Bilinear 보간을 사용하는 데이터 점의 격자가 있습니다. 나는 Kriging 일명 thee best linear unbiased estimator의 지시를 받았다. 그러나 좋은 소스 코드 나 대수적 인 설명을 찾을 수 없었다. 누구든지 사용할 수있는 다른 보간 방법을 알고 있습니까?누군가가 쌍 선형 보간보다 나은 2 차원 보간 방법을 설명 할 수 있습니까?
- 업데이트 @Sam Greenhalgh 필자는 Bicubic 보간법을 고려해 보았지만 찾은 코드 예제를 사용하여 얻은 결과는 꺼져 보였습니다. 여기
은 바이 큐빅참고 나는 C#으로 코딩하고 있지만뿐만 아니라 다른 언어의 예를 환영의 코드 예입니다.
//array 4
double cubicInterpolate(double[] p, double x)
{
return p[1] + 0.5 * x * (p[2] - p[0] + x * (2.0 * p[0] - 5.0 * p[1] + 4.0 * p[2] - p[3] + x * (3.0 * (p[1] - p[2]) + p[3] - p[0])));
}
//array 4 4
public double bicubicInterpolate(double[][] p, double x, double y)
{
double[] arr = new double[4];
arr[0] = cubicInterpolate(p[0], y);
arr[1] = cubicInterpolate(p[1], y);
arr[2] = cubicInterpolate(p[2], y);
arr[3] = cubicInterpolate(p[3], y);
return cubicInterpolate(arr, x);
}
double[][] p = {
new double[4]{2.728562594,2.30599759,1.907579158,1.739559264},
new double[4]{3.254756633,2.760758022,2.210417411,1.979012766},
new double[4]{4.075740069,3.366434527,2.816093916,2.481060234},
new double[4]{5.430966401,4.896723504,4.219613391,4.004306461}
};
Console.WriteLine(CI.bicubicInterpolate(p, 2, 2));
바이 큐빅 보간을 고려 했습니까? –
Kriging은 "Wiener filtering"의 이름으로 더 잘 알려져 있습니다. –
@JonSkeet을 구출하는 것은 어떻습니까? –