Programowanie w języku Delphi » Gotowce

Interpolacja liniowa

  • 2006-09-13 11:02
  • 0 komentarzy
  • 3060 odsłon
  • Oceń ten tekst jako pierwszy
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.



Ogólne równanie prostej ma postać:


Współczynnik kierunkowy prostej a:


Parametr b:


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ż: