Son Yazılar

MATLAB ile Taylor Serisinin Kullanımı






Taylor Serisi, bir fonksiyonun belli bir noktadaki türevleri kullanılarak yaklaşık olarak hesaplanmasına olanak tanıyan bir matematiksel yöntemdir. Maclaurin Serisi ise Taylor Serisi'nin özel bir durumudur. Kısaca Maclaurin, fonksiyonun x=0 noktasında hesaplanan Taylor Serisi'ne verilen özel bir isimdir.

Taylor Serisinin açılımı da şu şekildedir:

f(x)=f(a)+f(a)1!(xa)+f(a)2!(xa)2+=m=0f(m)(a)m!(xa)m

Matlab ile karmaşık işlemlere girmeksizinin kolaylıkla Taylor Serisini hesaplayabilirsiniz. Bu özelliği kullanmak için "taylor" fonksiyonundan faydalanırız. 

syms x
T=taylor(sin(x))

Yukarıda "sin(x)" fonksiyonun Taylor Serisi ile kullanımını görmektesiniz. Burada "syms" komutu x değişkenin sembolik değişkenini tanımlar. "taylor" fonksiyonu ise bu fonksiyonun taylor serisini hesaplamak için kullanılır. Bu kodun çıktısı aşağıda görüldüğü gibidir. 

T =

x^5/120 - x^3/6 + x

Bu fonksiyonda, yazının devamında anlatacağım "ExpansionPoint" ve "Order" için varsayılan değerler yani 0 ve 6 kullanılmıştır. 

"taylor" fonksiyonun detaylı kullanımı da  aşağıda görüldüğü gibidir.

T = taylor(f, x, 'ExpansionPoint', a, 'Order', n)

Burada "ExpansionPoint" Taylor Serisinin hangi noktada hesaplanacağını belirtmekte iken "Order" fonksiyonu ise hesaplanacak olan Taylor Serisinin kaç terime kadar hesaplanacağını belirler. a ve n değerleri bu iki fonksiyonun değerleri olmakla birlikte, x ise Taylor Serisinin hangi noktada hesaplanacağını belirtir.  

Şimdi, f=log(x) fonksiyonu için ExpansionPoint değeri 1, Order ise 8 olan Taylor Serisinin açılımını gerçekleştirelim:

T=taylor(log(x),x,'ExpansionPoint',1,'Order',8)

Kodun çıktısı:

T =

x - (x - 1)^2/2 + (x - 1)^3/3 - (x - 1)^4/4 + (x - 1)^5/5 - (x - 1)^6/6 + (x - 1)^7/7 - 1

Bir sinüs değerinin ve farklı terim sayılarına göre hesaplanan Taylor Serilerine ait kod ve grafiği de aşağıda görmektesiniz. Burada, terim sayısı arttıkça grafiklerin, gerçek sinüs değerine daha fazla yaklaştığını inceleyebilirsiniz.

 syms x
f = sin(x)/x;
T6 = taylor(f,x);
>> T8 = taylor(f,x,'Order',8);
T10 = taylor(f,x,'Order',10);
>> fplot([T6 T8 T10 f])
xlim([-4 4])
grid on
legend('approximation of sin(x)/x with error O(x^6)', ...
       'approximation of sin(x)/x with error O(x^8)', ...
       'approximation of sin(x)/x with error O(x^{10})', ...
       'sin(x)/x','Location','Best')
title('Taylor Series Expansion')


Son olarak Command Window ortamına "taylortool" yazarak erişebileceğiniz bir araçtan bahsedeceğim. Bu araç Taylor serilerini hesaplamalaya, Taylor serilerinin grafiğini çizmeye ve de Taylor serileriyle gerçek fonksiyonları karşılaştırmaya yaramaktadır.

Kaynakça:


Hiç yorum yok