Interpolacja liniowa

Oleksy_Adam

Interpolacja liniowa: [łac.], [mat] wyznaczanie funkcji w zadanym przedziale na podstawie przyjmowanych przez nią wartości w pewnych punktach tego przedziału.

Mając dowolne dwa punkty A1, A2 możemy poprowadzić przez nie prostą i obliczyć jej równanie. Da nam to możliwość określenia wartości dla dowolnego argumentu X.

Chart.jpg

Ogólne równanie prostej ma postać:
formula_y.jpg

Współczynnik kierunkowy prostej a:
formula_a.jpg

Parametr b:
formula_b.jpg

Przykładowa funkcja dla Delphi/Pascal:

function Interpolacja(X1,Y1, X2,Y2, X : Double) : Double;
{ interpolacja liniowa }
var 
  a, b : Double;
begin
 { współczynnik kierunkowy prostej }
 a := (Y2 - Y1) / (X2 - X1);
 { parametr b }
 b := ((-X1) * (Y2 - Y1) - (X2 - X1) * (-Y1)) / (X2 - X1);
 Interpolacja := a * X + b;
end;

// sposób użycia:
y := Interpolacja(1,100, 2,200, 50); { y = 5000 }

Jest to bardzo pomocne w połączeniu z tablicami, kiedy trzeba obliczyć dokładną wartość zawartą pomiędzy dwiema kolumnami.

Zobacz też:

0 komentarzy