Python'da doğrusal i̇nterpolasyon nasıl yapılır (örnekle)


Doğrusal enterpolasyon, bir fonksiyonun bilinen iki değeri arasındaki bilinmeyen bir değerini tahmin etme işlemidir.

Bilinen iki değer (x 1 , y 1 ) ve (x 2 , y 2 ) verildiğinde, aşağıdaki formülü kullanarak bir x noktası için y değerini tahmin edebiliriz:

y = y 1 + (xx 1 )(y 2 -y 1 )/(x 2 -x 1 )

Python’da doğrusal enterpolasyon gerçekleştirmek için aşağıdaki temel sözdizimini kullanabiliriz:

 import scipy. interpolate

y_interp = scipy. interpolate . interp1d (x,y)

#find y-value associated with x-value of 13
print (y_interp( 13 ))

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: Python’da doğrusal enterpolasyon

Python’da aşağıdaki iki değer listesine sahip olduğumuzu varsayalım:

 x = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
y = [4, 7, 11, 16, 22, 29, 38, 49, 63, 80]

Hızlı bir x-y grafiği oluşturabiliriz:

 import matplotlib. pyplot as plt

#create plot of x vs. y
plt. plot (x, y, ' -ob ')

Şimdi, 13’lük yeni bir x değeriyle ilişkili y değerini bulmak istediğimizi varsayalım.

Bunu yapmak için aşağıdaki kodu kullanabiliriz:

 import scipy. interpolate
y_interp = scipy. interpolate . interp1d (x,y)

#find y-value associated with x-value of 13
print (y_interp( 13 ))

33.5

Tahmin edilen y değeri 33,5 olarak çıkıyor.

Eğer (13, 33.5) noktasını çizimimize eklersek, fonksiyonla oldukça iyi eşleştiği görülüyor:

 import matplotlib. pyplot as plt

#create plot of x vs. y
plt. plot (x, y, ' -ob ')

#add estimated y-value to plot
plt. plot (13, 33.5, ' ro ')

Herhangi bir yeni x değeri için doğrusal enterpolasyon gerçekleştirmek amacıyla bu tam formülü kullanabiliriz.

Ek kaynaklar

Aşağıdaki eğitimlerde Python’daki diğer yaygın hataların nasıl düzeltileceği açıklanmaktadır:

Pandas’ta KeyError Nasıl Düzeltilir
Nasıl düzeltilir? ValueError: float NaN int’ye dönüştürülemiyor
Nasıl düzeltilir? ValueError: İşlenenler şekillerle yayınlanamadı

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir