Python ile Türev ve İntegral Almak, Polinom İşlemleri

Python ile türev, integral almak, bir polinomu kolayca tanımlayabilmek ve bir polinomun birden çok noktadaki değerini aynı anda hesaplayabilmek için Scipy modülünün poly1d sınıfını kullanacağız. Poly1d, scipy modülünün diğer sınıfları gibi ayrı bir import işlemine ihtiyaç duyar. Yani:

from scipy import poly1d

kodunu çalıştırmamız gerekir. Tabii ki istersek scipy.poly1d olarak da bunu kullanabiliriz. Şimdi bir polinom tanımlayalım ve bu polinomun türev, integralini bulalım.

polinom = poly1d([1,2,3,4]) # Liste şeklinde katsayıları gönderiyoruz.

Tanımladığımız polinomu kontrol edelim:

print polinom

Gördüğünüz gibi scipy bunu özel bir yazım şekliyle bize gösterdi. Şimdi bu polinomun türevini alalım:

print polinom.deriv()

Türevini ekrana yazdırdıktan sonra integralini alalım. İntegrali alırken dikkat etmemiz gereken, belirsiz integralde ortaya çıkan sabitin değerini burda bize soruyor olması. Bunu integ(k=x) şeklinde belirtmemiz gerekiyor. Yani integralli hali ekrana yazdıracak olursak:

pring polinom.integ(k=10) # Belirsiz integralde c=10 şeklinde düşünürsek sanırım pek yanlış olmaz.

İntegrali de bulduktan sonra bir polinomun istediğimiz sayıda noktada aldığı değeri tek seferde nasıl bulabileceğimize bakalım. Aslında bu işlem oldukça basit. Tanımladığımız polinom değişkenine liste olarak istediğimiz değerleri gönderiyoruz ve o da bize o noktalardaki değerlerini döndürüyor. Örnek verecek olursak:

print polinom([1,2,3,4,5])

Bize verdiği çıktı sırasıyla 1,2..,5 noktalarında polinomun aldığı değerlere eşittir. Sonucu bir dizi(array) şeklinde verdiğini de belirtmekte fayda var.

Şimdi pratik olması için bir polinom tanımlayalım ve bu polinomun x=3 noktasında türevinin aldığı değeri bulalım. Polinomumuza 5,3,6 katsayılarını gönderelim.

p = poly1d([5,3,1])
pturev = p.deriv()
print pturev([3])

Sırasıyla kodu açıklayacak olursak ilk satırda polinomu tanımlayıp p adlı bir değişkene atadık. 2. satırda bu değişkendeki polinomun türevini aldık ve bu türebi pturev adlı değişkene atadık. Son satırda ise pturev değişkeninin x=3 noktasındaki değerini ekrana bastırdık. Çıktımız:

[33]

olacaktır. Umarım işinize yarar.

 
comments powered by Disqus