Python'da Taylor Serisi Nasıl Yazılır?

Taylor serisi, bir fonksiyonun sonsuz toplamı kullanan bir temsilidir. Bilgisayarlar genellikle trigonometrik, üstel veya diğer aşkın değerlerin yaklaşık değerlerini yapar. Taylor serisinin terimlerinin sonlu sayısını toplayarak işlev görürseniz, bu işlemi şu şekilde yeniden oluşturabilirsiniz: Python. Toplamın terimleri, fonksiyonun ardışık türevlerine dayanır, bu nedenle serinin her terimi için bir formül yazmak için bu türevlerin değerlerinde bir model belirlemeniz gerekir. Ardından, toplamı toplamak için bir döngü kullanın ve yaklaşıklığınızın doğruluğunu döngünün yineleme sayısıyla kontrol edin.

Aşama 1

Her bir terimin nasıl hesaplanabileceğini anlamak için Taylor serisinin tanımına bakın. Serinin her terimi, tipik olarak "n" ile indekslenir ve değeri, temsil edilen fonksiyonun n'inci türevi ile ilişkilidir. Basitlik adına, ilk denemenizde "a" değeri için 0 kullanın. Taylor serisinin bu özel versiyonuna Maclaurin serisi denir. Ardışık türevlerini belirlemek kolay olduğu için sinüs fonksiyonunu deneyin.

Günün Videosu

Adım 2

0'da değerlendirilen sinüs fonksiyonunun n'inci türevinin birkaç değerini yazın. n 0 ise, değer 0'dır. n 1 ise, değer 1'dir. n 2 ise, değer 0'dır. n 3 ise, değer -1'dir. Buradan, model tekrar eder, bu nedenle Taylor serisinin 0 ile çarpıldığı için çift indeksli her terimi dikkate almayın. Ortaya çıkan serinin her terimi için bir formül:

(-1)^n/(2n+1)!*x^(2n+1)

Seriyi yeniden indekslemek için "n" yerine "2n+1" kullanılır ve indeksin kendisini değiştirmeden çift indeksli terimleri etkin bir şekilde atar. (-1)^n faktörü, ardışık terimlerin pozitif ve negatif arasındaki değişimi açıklar. Bu ön matematik çalışması gereksiz görünebilir, ancak dizin her zaman 0'dan başlar ve 1'lik artışlarla sayarsa Python kodunu yazmak ve diğer Taylor serilerinde yeniden kullanmak çok daha kolay olacaktır.

Aşama 3

Python yorumlayıcısını açın. Birkaç değişken tanımlamak için aşağıdaki komutları yazarak başlayın:

toplam = 0 x = .5236

Her terim hesaplanırken Taylor serisinin toplamını toplamak için "toplam" değişkeni kullanılacaktır. "x" değişkeni, sinüs fonksiyonunu yaklaşık olarak hesaplamak istediğiniz açıdır (radyan cinsinden). Ne istersen ona ayarla.

4. Adım

"Matematik" modülünü aşağıdaki komutla içe aktarın, böylece "pow" ve "factorial" işlevlerine erişebilirsiniz:

ithalat matematik

Adım 5

"Aralık" işleviyle yineleme sayısını ayarlayarak bir "for" döngüsü başlatın:

(4) aralığında n için:

Bu, indeks değişkeni n'nin sıfırdan başlamasına ve 4'e kadar saymasına neden olur. Bu kadar az sayıda yineleme bile şaşırtıcı derecede doğru bir sonuç verecektir. Döngü hemen yürütülmez ve yinelenecek tüm kod bloğunu belirleyene kadar başlamaz.

6. Adım

Ardışık her terimin değerini "sum:"a eklemek için aşağıdaki komutu yazın:

toplam += math.pow(-1,n)/math.factorial (2*n+1)*math.pow (x, 2*n+1)

Komutun, Python'a "for" döngüsünün bir parçası olduğunu gösteren bir sekme ile girintili olduğuna dikkat edin. Ayrıca "^" ve "!" yerine "güç" ve "faktöriyel"in nasıl kullanıldığına dikkat edin. notasyon. "+=" atama operatörünün sağındaki formül, 2. Adımdakiyle aynıdır, ancak Python sözdizimiyle yazılmıştır.

7. Adım

Boş bir satır eklemek için "Enter" tuşuna basın. Python için bu, "for" döngüsünün sonlandırıldığını gösterir, bu nedenle hesaplama yürütülür. Sonucu ortaya çıkarmak için "sum" komutunu yazın. Adım 3'te verilen x değerini kullandıysanız, sonuç pi/6'nın sinüsü olan 0,5'e çok yakındır. Farklı x değerleri ve döngünün farklı yineleme sayıları için işlemi tekrar deneyin, sonuçlarınızı "math.sin (x)" işlevine göre kontrol edin. Birçok bilgisayarın sinüs ve diğer aşkın işlevler için değerleri hesaplamak için kullandığı işlemi Python'da uyguladınız.

Kod yürütülürken toplamın çalışan bir toplamını elde etmek için "for" döngüsünün ikinci satırına "sum" komutunu girin ve yazın. Bu, serinin her ardışık teriminin, toplamı fonksiyonun gerçek değerine nasıl daha yakın hale getirdiğini ortaya koymaktadır.