1/3
Enterpolasyon Nasıl Yapılır?
Enterpolasyon, en basit haliyle iki (veya daha fazla) bilinen veri noktası arasındaki bilinmeyen değerleri tahmin etme işlemidir. Özellikle matematik, istatistik, yazılım ve sinyal işlemede çok kullanılır.
1) Temel Mantık
Elinde şöyle veriler olduğunu düşün:
- x = 1 için y = 10
- x = 3 için y = 30
Ama sen x = 2 için y değerini bilmiyorsun. Enterpolasyonla bu aradaki değeri tahmin ediyorsun.
2) En Çok Kullanılan Yöntem: Doğrusal (Lineer) Enterpolasyon
İki noktan var: (x₁, y₁) ve (x₂, y₂).
Aradığın nokta: x (x₁ ile x₂ arasında bir değer).
Formül:
Kod:
y = y1 + (x - x1) * (y2 - y1) / (x2 - x1)
Örnek:
(x₁, y₁) = (1, 10)
(x₂, y₂) = (3, 30)
x = 2 olsun.
Kod:
y = 10 + (2 - 1) * (30 - 10) / (3 - 1)
y = 10 + 1 * 20 / 2
y = 10 + 10
y = 20
Yani x=2 için y≈20 tahmin ediliyor.
3) Biraz Daha Gelişmiş Yöntemler
Doğrusal olan en basit ve en yaygın yöntem. Bunun dışında:
- Polinom enterpolasyonu (Lagrange, Newton vs.)
- Spline enterpolasyonu (özellikle kübik spline)
- Parabolik / polinomlu eğri uydurma
- 2D / 3D enterpolasyon (yüzey enterpolasyonu)
Ama günlük işler, basit grafikler, ölçüm arası tahminler için çoğu zaman doğrusal enterpolasyon yeterli oluyor.
4) Basit Kod Örneği (PHP ile Lineer Enterpolasyon)
PHP:
function interpolateLinear(float $x, float $x1, float $y1, float $x2, float $y2): float
{
if ($x2 == $x1) {
throw new InvalidArgumentException('x1 ve x2 eşit olamaz (sıfıra bölme hatası).');
}
return $y1 + ($x - $x1) * ($y2 - $y1) / ($x2 - $x1);
}
// Örnek kullanım:
$x1 = 1; $y1 = 10;
$x2 = 3; $y2 = 30;
$x = 2;
$y = interpolateLinear($x, $x1, $y1, $x2, $y2);
// $y = 20 döner
Sonuç
Enterpolasyon, bilinen veri noktaların arasında kalan değerleri tahmin etmek için kullanılır. En yaygın ve kolay yöntem doğrusal enterpolasyondur; iki nokta arasında doğru çizip aradaki noktayı bu doğru üzerinden hesaplama mantığıyla çalışır.