sayisal ÇÖzÜmleme yÖntemler - wordpress.com · 2019. 10. 4. · sayisal ÇÖzÜmleme yÖntemler...
TRANSCRIPT
SAYISAL ÇÖZÜMLEME YÖNTEMLERİ
Ders İçeriği
1- Lineer Cebir İşlemerinin Bilgisyar Destekli Çözümü
A- Matrisler -Determinanat ve PASCAL Programı -Matris Tersi ve PASCAL Programı B-Komplex katsayılı Matrisler -Toplama, Çıkarma ve PASCAL Programı - Matrislerin Çarpımı ve Programı -Matris Tersi ve PASCAL Programı
2- Lineer Olmayan denklemlerin Köklerinin Bulunması
-Adım Küçülterek Köke Yaklaşma -Orta Nokta Yöntemi -Kesen Nokta Yöntemi -Basit İterasyon Yöntemi -Newton-Raphson Yöntemi - Geliştirilmiş NRaphson Yöntemi
3- Lineer Denklem Sistemleri Çözümü A- Doğrudan Yöntemler (Analitik) -Ters Matris Yöntemi -Craer Yöntemi -Gauss-Eliminasyon Yöntemi B- Sayısal (İteratif) Yöntemler -Jakobi Yöntemi - Gauss-Seidel Yöntemi
4- Sayısal Türev ve İntegral A-Sayısal Türev -Türeve Yaklaşım - İleri ,Geri, Merkez Fark Türev Denklemleri -Taylor Serisi ve Uygulmaları -Taylor Serisi Yardımı ile Türev Hesabı A-Sayısal İntegral -Dikdörtgen ve Trapez Yöntemi -Simpson Yöntemi -2 katlı İntegraller
5- Lineer Olayan Denklem Sistemlerinin Çözümü
-Basit İterasyon Yöntemi -Newton Yöntemi
6- Enterpoasyon ve Eğri Uydurma -Lineer Enterpolasyon -Polinomal Enterpolasyon (Lagrange Formülü) -En Küçük Kareler Yöntemi - Doğru Uydurma - Polinom Uydurma - Üstel Davranışlı Fonksiyonlara eğri
uydurma 7- Adi Diferansiyel Denklemlerin Sayısal
Çözümü -Analitik Yaklaşım Yöntemi -Ardaşık Diferansiyelleme Yönt. (Taylor) -Euler Yöntemi -İyileştirilmiş Euler Yöntemi -Euler Coushy Yöntemi - Runge-Kutta Yöntemi -Adams Yöntem
Kaynaklar
1- Sayısal Çözümleme, Recep TAPRAMAZ, Literatür Yayınları.
2- Nümerik Analiz, İbrahim UZUN, Beta yayınları,
3- İleri Programlama Uygulamaları, Fahri VATANSEVER, Seçkin yayınları.
4- Yazılım ve Program Uygulamalarıyla Mühendisler için Sayısal Yöntemler, S.C. Chapra, çeviri . Hasan Heperkan , Literatür Yayınları.
Sayısal analizin amacı; matematiksel olarak ifade edilmiş problemlerin çözümüne, belli sayıda ve sıralı aritmatik işlemleri bilgisayar programları ile yaparak, sonuca istenilen hassasiyetle ulaşılmasıdır. Genellikle analitik olarak çözümleri çok zor veya imkansız olan problemleri, belirli hata oranında çözmek için kullanılır.
1- MATRİSLER
Determinant : Bir matrisin gerçek değerine determinant denir.
A aa det A AAA a
A a bc dac det A AAA a d b c
Sarrus Kuralı;
Aa11 a12 a13a21 a22 a23a31 a32 a33
a11
a3
a2 detA ?
Aa11 a12 a13 a11 a12
a21 a22 a23 a21 a22
a31 a32 a33
2
a31 a32
a1a1
a2
a3
a2
- - - + + +
detA AAA a11 a22 a33 a12 a23 a31 a13 a21 a32a 2 a13 a22 a31 a11 a23 a32 a12 a21 a33aa 3
2. yol : Determinantı hesaplanacak matrisin asal köşegen altında kalan elemanlar, elementer satır işlemleri yapılarak sıfırlanır. Asal köşegen elemanlarının çarpımı determinantı verir.
Bir matrise uygulanabilecek elementer işlemler;
1. Herhangibir satır veya sütun sıfırdan farklı bir sayı ile çarpılabilir. 2. İki satır veya sütun karşılıklı yer değiştirebilir. 3. Herhangibir satır başka bir satır yada herhangibir sütun başka bir sütunla toplanabilir.
Örnek :
A1 0 11 1 41 2 1
detA ?
A1 0 1 1 01 1 4 1 11 2 1 1 2
Matris Tersi : Bir matrisin tersinin olabilmesi için determinantının sıfırdan farklı olması gerekir.
Ek (adjoint) matris ile matris tersi bulma;
Cofaktör : Kare A matrisinin aij elemanının kofaktörü
Cij = (-1)i+j Mij formülü ile hesaplanır. Burada Mij ‘ye A matrisinin minörü denir ve A matrisinin i satırı ile j sütununun iptal edilmesi ile oluşan matrisin determinantıdır.
A matrisinin tersi;
adj AA cofaktor Ar A T
A 1 adj Aff
detAaad
ddddjjddddjjddddjdddddjejeeettttAtAtt
AAAAAAAAAAAAAAAAAAAAA
2. yol : A matrisinin yanına aynı boyutlu birim matris yazılır. Elementer satır işlemleri her iki matrisede uygulanarak A matrisi birim matris haline dönüştürülür. Birim matrisin yerinde oluşan matris A matrisinin tersidir.
Örnek :
A3 1 02 4 35 4 2
matrisinin tersini bulunuz.
2. yol ;
A3 1 0 1 0 0
2 4 3 0 1 05 4 2 0 0 1
33
5
Komplex Elemanlı Matrisler
En az bir komplex terim içeren matrise komplex matris denir. Programlama dillerinde komplex terim tanımlanamadığı için, bu terimleri içeren matrisler için bazı yöntemler geliştirilmiştir. Bu yöntemlerde sadece reel sayılar kullanılarak komplex matrislerle ilgili işlemler yaptırılabilir.
A
a11 jb11 a12 jb12 a1n jb1n
a21 jb21 a22 jb22 a2n jb2n
am1 jbm1 am2 jbm2 amn jbmn
aaaaa
mama
aa Reel AAbb Im AAAAA aa j bbb
Toplama ve çıkarma
CC eee j ff olmak üzere
CCC AAA BB aa ccca j bb ddb eee j ff
Çarpma
CC ee j ff olmak üzere
CCC AAA BB aa j bba cc j ddc aa cc j aa dd j bb cc j 2 bb dd
eee aaa ccccc bbb ddd
fff aaaa dddd bbb ccc
Yazılan programlarda bu iki matris ayrı ayrı hesaplanır.
Örnek :
A 1 j 2 j53 2 j
1 , B 1 j2 j12
C A B ?
Genelleştirilmiş Matris Yöntemi
Herhangibir matrisin genelleştirilmiş formatta yazılması için aşağıdaki form kullanılır.
A
a11 jb11 a12 jb12 a1n jb1n
a21 jb21 a22 jb22 a2n jb2n
am1 jbm1 am2 jbm2 amn jbmn
aaaaa
mama
a Reel AAbb Im AAAA aa j bbb
aaaabbAAbbAAbb AAAAA
G
aa bbbb aaaabab
Örnek :
A 1 j 2 j3 j
1 AG ?
AAG
aa bbbb aaaabab
, BBG
cc dddd ccccdcd
, CCG
eee fff
fff eee
ee
ff
Olmak üzere;
Toplama ve Çıkarma
CCG
AAG
BBG
aa bbbb aaaabab
cc dddd cccdcd
aa cc bb ddbb dd aa cccabab
ee fff
fff ee
ee
ff
C eee j ff
Çarpma
CCG
AAG
BBG
aa bbbb aaaabab
cc dddd cccdcd
aa cc bb dd aa dd bb ccbbb ccc aa dd bbb ddd aa ccabab
ee fff
fff ee
ee
ff
C ee j ff
Örnek :
A 1 j 2 j53 2 j
1 , B 1 j2 j12
C A B ?
Matris Tersi
AAG
aa bbbb aaaabab
için herhangibir yöntemle AAG
1 bulunur,
AAG
1 ggg hhhhhgghh ggggghggh
AA 1 gg j hh
Örnek :
A 1 j 1 j1 j
1 A 1 ?
2- Lineer Olmayan Denklemlerin Köklerinin Bulunması Sürekli ve reel y= f(x) fonksiyonunun [x1 , x2] aralığında en az bir kökünün olabilmesi için; f(x1)f(x2)<0 şartının sağlanması gerekir.
Kökleri kolaylıkla bulunamayan fonksiyonların köklerini sayısal olarak bulabilmek için sayısal yöntemler geliştirilmiştir. Bu yöntemler ikiye ayrılır; Kapalı Yöntemler : Fonksiyonların kökleri civarında işaret değiştirmeleri gerceğinden yararlanan yöntemlerdir. Kökün bulunabilmesi için iki adet başlangıç değerine ihtiyac duyar. Başlangıç veya ilk tahmin değerleri mutlaka kökü kıskaca almalıdır. İlk tahmin değerlerinin arasındaki aralığın küçültülmesi ile köke yaklaşılır. Hesaplamalar (iterasyon) ilerledikçe köke daha fazla yaklaşıldığından bu yöntemler Yakınsak Yöntemlerdir. Açık Yöntemler : Sadece bir başlangıç değerine gerek duyan ve kökü kıskaca almayan iki ek değer kullanabilen formüllere dayanan yöntemlerdir. Bu yöntemlerde, iterasyon ilerledikçe kökten uzaklaşılabilir (Iraksama), ancak yakınsadıklarında kapalı yöntemlere göre çok hızlı sonuca ulaşırlar.
Lineer Olmayan Denklemler:
1- Polinom Denklemleri,
0....... 01
1 axaxa nn
nn
2- Trigonometrik Denklemler,
cbaxSin )( 3- Logaritmik (üstel) Denklemler,
ce bax
4- Karışık Denklemler
eebaxxa dcxnn )sin(
2.1- Adım Küçültme Yöntemi
x1: rasgele seçilmiş başlangıç değeri x2= x1+h= x1+Δx x3= x1+2h= x1+2Δx= x2+h= x2+Δx x4= x3+3h= x3+3Δx= x2+2h= x2+2Δx= x1+h= x1+Δx …. xi+1= xi+h xi-1= xi-h xi+2= xi+2h= xi+1+h xi-2= xi-2h= xi-1-h ….
ALGORİTMA
1- Rasgele bir başlangıç değeri (x1), başlangıç adımı (h) ve hassasiyet (ε) seç 2- Başlangıç değerine başlangıç adımını ekleyerek köke yaklaş. 3- f xf x f x hf x > 0 kök geçilmedi adım (2) ‘ye git. 4- f xf x f x hf x 0 kök geçildi 5- Bir önceki adıma git ve başlangıç adımını belirlediğin kritere (h/a) göre küçült 6- Adım yeterince küçükse (h<ε) adım (8) ‘e git 7- Adım (2) ‘ye git 8- Sonuçları yazdır ve çık.
ÖRNEK 104)( 2 xxxf fonksiyonunun pozitif bir kökünü X1=0,h=1 ve =0.1 alarak bulunuz.
Analitik çözümden; X1=-1.74165738 ve X2=5.74165738 bulunabilir (kontrol amaçlı) h x f(x) f(x)*f(x+h) işlem
SORU_1 3)(10)( 2 xSinxxf fonksiyonunun bir kökünü =0.001 alarak program ile
bulunuz. SORU_2 532)( 345 xxxxxf fonksiyonunun tüm kökleri ni =0.001 alarak program ile
bulunuz.
AKIŞ ŞEMASI
C Program #include <stdio.h> float fx(float x) { float a; a = (x*x) - (4*x) - 10; return(a); } main() { float h, xi, xih, epsilon ; int i; h = 1; xi = 0; epsilon = 0.0001; i = 0; do { i++; if ((fx(xi)*fx(xi+h))> 0) xi = xi+h; else h = h/5; //a=5 printf("iterasyon=%d xi=%5.4f xi+h=%5.4f adim=%6.5f\n", i,xi,xi+h,h); } while (h > epsilon); getch(); }
TURBO PASCAL PROGRAM program adim_kucultme; uses crt; var xi,h,epsilon,xih : real; i : integer ; function fx(x:real):real; begin fx:=(x*x)-(4*x)-10; end; begin h:=1; xi:=0; epsilon:=0.0001; i := 0; gotoxy (2, i+1);writeln('iterasyon'); gotoxy (15, i+1);writeln('xi'); gotoxy (25, i+1);writeln('xi+h'); gotoxy (35, i+1);writeln('fx(xi)'); gotoxy (45, i+1);writeln('fx(xi+h)'); gotoxy (55, i+1);writeln('Adim'); repeat i := i + 1; if (fx(xi)*fx(xi+h))> 0 then xi:=xi+h else h:=h/5; //a=5 gotoxy (6, i+2);writeln(i); gotoxy (15, i+2);writeln(xi:5:4); gotoxy (25, i+2);writeln(xi+h:5:4); gotoxy (35, i+2);writeln(fx(xi):5:4); gotoxy (45, i+2);writeln(fx(xi+h):5:4); gotoxy (55, i+2);writeln(h:6:5); until h<epsilon; readln; end.
2.2- Orta Nokta Yötemi
212 xx
212 xx
Bu yöntemde başlangıç aralığı (x1 ve x2) aralığı iki eşit parçaya bölünerek köke yaklaşılır. Aralığın tam orta noktası belirlenir (x3) ve bu noktanın kökün ilerisindemi gerisindemi sorgusu ile aralığın yarısı atılır.
221
3xxx
ALGORİTMA 1- Kökü içine alan rasgele bir başlangıç aralığı belirlenir. (x1 ve x2 ) 2- Aralığın orta noktasını x3 hesaplanır
2
213
xxx
3- f(x1) ve f(x3) hesaplanır. 4- f x1f x f x3f x > 0 (x1 ve x3) aralığında kök yoktur, kök (x2 ve x3) arasındadır. (x1 ve x3)
aralığı atılır, yeni aralık; x1 x3 ve x2 x2 seçilir, adım 6 ya git,
5- f x1f x f x3f x 0 kök (x1 ve x3) aralığındadır, (x3 ve x2) aralığı atılır, yeni aralık; x1 x1 ve x2 x3 seçilir.
6- ABS(x1 - x2 )> adım 2 ye git 7- Sonuçları yazdır ve çık.
ÖRNEK 104)( 23 xxxf fonksiyonunun pozitif bir kökünü =0.1 alarak bulunuz. Aralık belirleme;
x f(x) f(x) 0 -10 <0 3 -19 <0 3-5 aralığında kök var 5 15 >0
SORU_1 3)(10)( 2 xSinxxf fonksiyonunun bir kökünü =0.001 alarak program ile bulunuz.
SORU_2 532)( 345 xxxxxf fonksiyonunun tüm kökleri ni =0.001 alarak program ile bulunuz.
AKIŞ ŞEMASI
#include <stdio.h> #include <math.h> float fx(float x) { float a; a = (x*x) - (4*x) - 10; return(a); } main() { float x1, x2, x3, epsilon ; int i; x1 = 3; x2 = 6; epsilon = 0.0001; i = 0; do { i++; x3 = (x1+x2)/2; printf("iterasyon=%d x1=%5.4f x2=%5.4f x3=%5.4f\n", i,x1,x2,x3); if ((fx(x1)*fx(x3))> 0) x1 = x3; else x2 = x3; } while (abs(x2-x1) > epsilon); getch(); }
program orta_nokta; uses crt; var x1,x2,x3,epsilon : real; i : integer ; function fx(x:real):real; begin fx:=(x*x)-(4*x)-10; end; begin x1:=3; x2:=6; epsilon:=0.0001; i := 0; gotoxy (2, i+1);writeln('iterasyon'); gotoxy (15, i+1);writeln('x1'); gotoxy (25, i+1);writeln('x2'); gotoxy (35, i+1);writeln('x3'); gotoxy (45, i+1);writeln('fx(x1)'); gotoxy (55, i+1);writeln('fx(x3)'); repeat i := i + 1; x3 := (x1+x2)/2; gotoxy (6, i+2);writeln(i); gotoxy (15, i+2);writeln(x1:5:4); gotoxy (25, i+2);writeln(x2:5:4); gotoxy (35, i+2);writeln(x3:5:4); gotoxy (45, i+2);writeln(fx(x1):5:4); gotoxy (55, i+2);writeln(fx(x3):5:4); if (fx(x1)*fx(x3))> 0 then x1:=x3 else x2 :=x3; until abs(x2-x1)<epsilon; readln; end.
2.3- Kesen Nokta Yötemi( Kiriş -Secant)
x1 ve x2 aralığı daraltılarak köke yaklaşılır. (x1,f(x1)) ve (x2,f(x2)) noktaları arasında bir doğru (kiriş) çizilir. Bu doğrunun x eksenini kestiği noktaya x3 denir. x3 noktasının kökün hangi tarafında olduğuna karar verilir ve kökün olmadığı taraf atılarak yeni aralık belirlenir. Aynı işlemlere tekrar edilerek, aralık yeterince küçük olduğunda işlem sonlandırılır. Burada önemli olan x3’ ün hesabıdır. Diğer işlemler orta nokta yöntemindeki gibidir.
A(x1,f(x1)), B(x2,f(x2)) yani A(x1,y1), B(x2,y2) ise 2 noktası bilinen doğru denklemi;
y y1
y1 y2
yyyyyyy
11
yyyyyyyyyyyyyyy1
yy1
y1
2
1
yy2222
x x1
x1 x2
xxxxxxx
11
xxxxxxxxxxxxxxxxx
11
2
1
x2
1
2222
y f x1
f x1 f x2ffffffffyyyyxyyxyyxyxyxx1111
ffffffffffffffffffff
fffffffxffffxffxffxffxffxxxffxffxxxxxx1111
x11
xxxxxxxxx22x22222222
x x1
x1 x2
xxxxxxx
11
xxxxxxxxxxxxxxxxx
11
2
1
x2
1
2222y
f x1 f x2
x1 x2
ffff xxxx
xxxx
x1
x1
x1
xxx1
x111111
fffxfxfxfxfxfxfxfx22
ffxx2222222222
xxxxxxxxx2x2222 x x1xxxx f x1f x
x x3 y 0 oldugundan;
0f x1
3 yf x2
x1 x2
ffff xxxx
xxxx
x1
x1
x1
xxx1
x111111
fffxfxfxfxfxfxfxfx22
ffxx2222222222
xxxxxxxxx2x2222 x3 x1xxxx f x1f x x3
x1 f x2 x2 f x1
f x2 f x1
xx11
fffffffffffffffffffffffff
xxxxxxxxxxxxxxxxxxxxxxxx
2
xx22
2
2
2
2
222
2
22
ffffxfxfxfxfxfxfxxxfxf
22xx22222222
x22
xffxffxffxffxfxfxffxf1
fxf1
f1
ff1
xxxxxxxxxxxxxxxxxx1xx111
ALGORİTMA 1- Rasgele bir başlangıç aralığı belirlenir. (x1 ve x2 ) 2- x3 hesaplanır;
)()(
)()(
12
12213 xfxf
xfxxfxx
3- f(x1) ve f(x3) hesaplanır. 4- f x1f x f x3f x > 0 (x1 ve x3) aralığında kök yoktur, kök (x2 ve x3) arasındadır. (x1 ve x3)
aralığı atılır, yeni aralık; x1 x3 ve x2 x2 seçilir, adım 6 ya git,
5- f x1f x f x3f x 0 kök (x1 ve x3) aralığındadır, (x3 ve x2) aralığı atılır, yeni aralık; x1 x1 ve x2 x3 seçilir.
6- ABS(x1 - x2 )> adım 2 ye git 7- Sonuçları yazdır ve çık.
ÖRNEK 104)( 23 xxxf fonksiyonunun pozitif bir kökünü =0.1 alarak bulunuz.
Aralık belirleme; x f(x) f(x)
3 -19 <0 3-5 aralığında kök var 5 15 >0
SORU_1 3)(10)( 2 xSinxxf fonksiyonunun bir kökünü =0.001 alarak program ile bulunuz.
SORU_2 532)( 345 xxxxxf fonksiyonunun tüm kökleri ni =0.001 alarak program ile bulunuz.
AKIŞ ŞEMASI
program kiris; uses crt; var x1,x2,x3,epsilon : real; i : integer ; function fx(x:real):real; begin fx:=(x*x)-(4*x)-10; end; begin x1:=3; x2:=6; epsilon:=0.0001; i := 0; gotoxy (2, i+1);writeln('iterasyon'); gotoxy (15, i+1);writeln('x1'); gotoxy (25, i+1);writeln('x2'); gotoxy (35, i+1);writeln('x3'); gotoxy (45, i+1);writeln('fx(x1)'); gotoxy (55, i+1);writeln('fx(x3)'); repeat i := i + 1; x3 := (x1*fx(x2)-x2*fx(x1))/(fx(x2)-fx(x1)); gotoxy (6, i+2);writeln(i); gotoxy (15, i+2);writeln(x1:5:4); gotoxy (25, i+2);writeln(x2:5:4); gotoxy (35, i+2);writeln(x3:5:4); gotoxy (45, i+2);writeln(fx(x1):5:4); gotoxy (55, i+2);writeln(fx(x3):5:4); if (fx(x1)*fx(x3))> 0 then x1:=x3 else x2 :=x3; until abs(x2-x1)<epsilon; readln; end.
2.4- Newton Raphson Yöntemi
Bu yöntemde köklere teğetler ile yaklaşılır. Rasgele bir x0 noktası alınır ve bu noktada fonksiyonun teğeti çizilir. Bu teğetin eğimi hesaplanır. Fonksiyonun o noktadaki teğeti aynı zamanda o noktadaki türevine eşittir. Bu iki eşitlik kullanılarak teğetin x eksenini kestiği x1 noktası bulunur. Aynı işlemler x1 noktası için tekrar edilir ve x2 noktası bulunur. İşlemlere devam edilirse sonlu adım sonra köke yaklaşılır.
1.teğetin eğimi
tan 1 ff x1x
f x0 0x0 x1
ffffxx
fxxx
xx
x00
x00
x00
xx00000
xxxxxxxxx1x111
0000000
x1 x0
f x0
f x0
fffffffffffff xxxxxx
xxxxxxxxxx00
xxxx0
x0
x0
x0
0
0
x0000000
2.teğetin eğimi
tan 22 ff x2xf x1 0x1 x2
ffx
ffxxxxx
xx11
x11
xxx111
xxxxxxxxx2x22222
0000000
x2 x1
f x1
f x1
ffffffffffffff xxxx
xxxxxxxxxxxxx11
xx1x1
x1
x1
x1
x111111
Genel Kural (Newton Raphson Fomülü)
)()(
'1i
iii xf
xfxx
)()(
'i
i
xfxfx
xxx ii 1
Not: Fonksiyonun işaret değiştirip değiştirmediğine bakılmadığı için bu yöntem ile katlı kökler de bulunabilir.
ÖRN: 2057)( 23 xxxxf X0 =8 alarak Newton rapson yöntemi ile kök bulunuz. Kökler: (1.8162, -7.3097 , -1.5065)
x f(x) f’(x)
ÖRN: 2057)( 23 xxxxf x f(x) x f(x)
ÖRN: 5)( 3xxf x0=1 (xkök=1.709976) x f(x) x f(x)
ALGORİTMA
8- Rastgele bir başlangıç değeri (x0 ) ve hata sınırı belirle ( ε ),
9- f(x0) ve f’(x0) ‘i hesapla,
10- xi 1 xi
f xi
f xi
ffffffffffffff xxxx
xxxxxxxxxxxxxii
xxxxi
xi
xi
xiiiiii değerini hesapla,
11- abs f xx 1f xf > xi = xi+1 atamasını yap ve adım 2 ‘ye atla,
12- Sonuçları yazdır ve çık.
AKIŞ ŞEMASI c# kodları
x1 x1
f x1
f x1
fffffffffffff xxxx
xxxxxxxxxxxxx11
xx1x1
x1
x1
x1
x111111
namespace nr { class Program { public delegate double Function(double x); static double F1(double x) {return x*x-4*x-10;} static double F1_turev(double x) { return 2*x-4;} public static double NewtonRaphsonMethod(Function f, Function fprime, double x0, double epsilon) { double f0 = f(x0); double x = x0; int i=0; while (Math.Abs(f(x)) > epsilon) { i++; Console.WriteLine("iterasyon: {0}",i + " x:" + x.ToString("0.000000") + " gercek_turev:" + F1_turev(x).ToString("0.000000")); x -= f0 / fprime(x); f0 = f(x); } return x; } static void Main(string[] args) { double epsilon=0.0001, x1=3.0; Console.WriteLine("\n\nTesting Testing Newton-Raphson Method\n"); double x = NewtonRaphsonMethod(F1, F1_turev, x1, epsilon); Console.WriteLine("\n\nNR Sonuc:" + x.ToString()); Console.WriteLine("NR Test:f(x)=" + F1(x).ToString()); Console.ReadLine(); } } }
2.5- Sayısal Türevli Newton Raphson Formülü Newton Raphson formülü içerisinde fonksiyonun 1. Türevine ihtiyaç vardır. Bu türev analitik olarak hesaplanmaktadır. Polinom veya bir çok fonksiyon için 1. türevin bulunması kolay olsada, türevlerinin bulunması zor veya zaman alıcı fonksiyonlar olabilir. Bu durumlarda türevin sayısal hesaplanması gerekir. Sayısal türev hesabı ileriki haftalarda Sayısal türev konusunda ayrıntılı olarak işlenecektir. Burada sadece bir sayısal türev formülüne değinilip geçilecektir.
Genel Kural (Newton Raphson formülü) )(
)('1
i
iii xf
xfxx
?)( 0' xf
Herhangi bir xi noktasında fonksiyonun türevi; ACD üçgeninden
hBC
DCAC
xf i 1tan)('
A noktası hesap edilemediğinden yani AC uzunluğu bilinemediğinden bu üçgen yerine BCD üçgeni kullanılarak yaklaşık olarak türev hesaplanır. BCD üçgeninden
hBC
DCBC
xf i 21 tan)('tan
hxfhxfxf ii
i)()()('
Newton formülü içine yazılırsa;
hxfhxf
xfxxfxfxx
ii
ii
i
iii )()(
)()(')(
1
α2
xi+h x
y
xi
f(xi+h)
f(xi) 1
A
B
C D
ÖRNEK
?)2(',)( 2 fxxf Analitik olarak;
4)2('2)(' fxxf Sayısal Olarak;h=0.1;
hxfhxff )()()2('
1.41.0
21.21.0
)2()1.02()2('22fff
Sayısal Olarak;h=0.01;
01.401.0
)2()01.02()2(' fff
)()()(
1ii
iii xfhxf
hxfxx
ÖDEV 3)(10)( 2 xSinxxf fonksiyonunun bir kökünü =0.001 alarak program ile bulunuz.
SORU_1 532)( 345 xxxxxf fonksiyonunun tüm kökleri ni =0.001 alarak program ile bulunuz.
ÖRN: 5)( 3xxf x0=1 ve h=0.01 (xkök=1.709976) x f(x) x f(x)
ALGORİTMA
1- Rastgele bir başlangıç değeri (x0 ) ve hata sınırı belirle ( ε ),
2- f(x0) ve x0 noktasındaki sayısal türevi ‘i hesapla,
3- xi 1 xi
f xi
f xi
ffffffffffffff xxxx
xxxxxxxxxxxxxii
xxxxi
xi
xi
xiiiiii değerini hesapla,
4- abs f xx 1f xf > xi = xi+1 atamasını yap ve adım 2 ‘ye atla,
5- Sonuçları yazdır ve çık.
AKIŞ ŞEMASI c# kodları
x1 x1
f x1
f x1
fffffffffffff xxxx
xxxxxxxxxxxxx11
xx1x1
x1
x1
x1
x111111
namespace ConsoleApplication1 { class Program { public delegate double Function(double x); static double F1(double x) {return x * x - 4*x - 10; } static double F1_turev(double x) { return 2*x-4;} static double F1say_tur(double x) //sayısal turev {double h = 0.001; return (F1(x + h) - F1(x)) / h; } public static double NewtonRaphsonMethod(Function f, Function fprime, double x0, double epsilon) { double f0 = f(x0); double x = x0; while (Math.Abs(f(x)) > epsilon) { Console.WriteLine("x:" + x.ToString("0.000000") + " gercek_turev:" + F1say_tur(x).ToString("0.000000") + " sayisal_turev:" + F1say_tur(x).ToString("0.000000")); x -= f0 / fprime(x); f0 = f(x); } return x; } static void Main(string[] args) { double epsilon = 0.0001, x1 = 3.0; Console.WriteLine("\n\nTesting Testing Newton-Raphson Method\n"); double x = NewtonRaphsonMethod(F1, F1say_tur, x1, epsilon); Console.WriteLine("\n\nNR Sonuc:" + x.ToString()); Console.WriteLine("NR Test:f(x)=" + F1(x).ToString()); Console.ReadLine(); } } }
NR Yönteminin zayıflıkları; NR yöntemi çok etkili olmasına rağmen, özellikle katlı kökler ve bazı basit kök aramasında zayıf kalır. 1. Örnek : f xf x x10 1 fonksiyonun x0=0.5 civarındaki kökünü NR yöntemi ile bulmaya çalışalım;
i 0 1 2 3 4 5 . . ∞ xi 0.5 51.65 46.485 41.8365 37.6528 33.8875 . . 1.00 2. Kötü bir ilk tahminden sonra, köke yakınsama çok yavaştır.
İlk tahmin x1 ‘den itibaren itersayon adımları kökten uzaklaşmaktadır.
3.
NR yöntemi için genel bir yakınsama kriteri yoktur. Yakınsama fonksiyonun doğasına ve ilk tahmin değerinin dogruluğuna bağlıdır. Çözüm, köke yeterince yakın ilk başlangıç noktasının seçilmesidir. İyi tahminler, fiziksel problemin bilinmesi veya çözümün davranışı hakkında bilgi ve grafikler ile bulunabilir. 4. Katlı kökler
Çift katlı köklerde; f(x) işaret değiştirmediğinden kapalı yöntemler kullanılamaz ayrıca çift ve üç katlı köklerde, kök civarında f(x) ve f’(x) sıfıra çok yakın olduğundan yuvarlama hataları oluşur.
NR yöntemi, yerel max ve min civarında salınma özelliği gösterir.
Çift katlı kökler ekseni kesmez.
Bu sorunları çözmek için Geliştirilmiş NR yöntemi kullanılır. 2.6- Geliştirilmiş Newton Raphson Yöntemi
f(x)’ in kökünü bulmak için yardımcı bir fonksiyon tanımlanır (G(x)). Bu fonksiyonun kökü f(x) ile aynı olmalıdır.
Yardımcı fonksiyon;
)()()( ' xf
xfxG
f(x) = 0 G(x) = 0 ‘dır. Olarak tanımlanır. G(x)=0 yapacak x=a değeri f(x) ‘in de köküdür.
0)(0)( aGafax Bu yöntemle fonksiyon katlı kökten kurtulmuş olur. Bu sebeple f(x) ‘in yerine G(x)’ in kökü Newton Raphson Formülü ile bulunur.
ÖRN 52)( 23 xxxf
xxxx
xfxfxG
4352
)(')()( 2
23
ÖRN 3)2()( xxf
3
2
( ) ( 2) 1( ) ( 2)'( ) 3 ( 2) 3
f x xG x xf x x
G(x) Fonksiyonuna Newton Raphson Formülünün Uygulanması
G xxf xf xfffffffff xxxx
xxxxxxxxxxxxxxxxxxxxx ve xi 1 xi
G xi
G xi
GGGGGGGGGGGGGGGG xxxxxxxx
xxxxxxxxxxxxxxxxxxii
xii
xi
xi
xiiiiii
G xx ddxd
dd
dd
ddddxdxxx
f xf xfffffff xxxx
xxxxxxxxxxxxxxxxxxxxx
ffffffffffffffffffffffffffffffffff
f x2
f x f x
ff xxf2
ffffffff xxxxxxxxx2222
ff
2
fff
2
ffffffffff
ffffffffffffffffff
x
ff
x
fff
x
fff
xxxxxxx
x2
x2
x2
x2
xx22
xxxx fffffffffffffff xxxxxxxxx
xi 1 xi
f xi
f xi
fffffff xxxxxxixii
f xi
2f xi f xi
ff xixf2
fffffffff xxxxxxxxxxixii
fffffffffffffff
fffffff
x
f
x
ff
x
ff
x
ff
x
ff
xx
ff
xxxx
xxxxxxxx222
x2
i
2
x2
ii
2
ffffffffffffff xxxxxxxxxxixiiffffffffffff xxxxxxxxxxxxxxiiixii
22222222222222
fffffffffffffffffffffffffffff
ff
ff
ffffffff
xx
ffff
xx
ffff
xxxxx
ffffff
xxxx
ffffff
xxx
ffff
xxxxxx
ffff
ii
xxxxxxxxxxxxxxxx
ff
i
xxii
xi
xi
xi
xiiiixiiiiiiii
xxxxxxxxxxxixxxxxiii ffffffffffffffffffffff xxxxxxxxxxxxxxxxxiiii
xi 1 xi
f xi f xi
ff xixf2
ff xix f xif xffffffff xxxxxxx
ff
xx
fffffffffff x22
x22
x2
xx2
xxxxiii
ffffffffffff
f
ff
f
ff
fff
ff
f
ff
f
f
f
f
ffffff
xxxx
x
xxxx
x
xx
x
xx
x
xxxx
x
xx
xx
xx
xxiii
fffffffffffffffffffffff xxxxxxxxx
Not: Burada fonksiyonun ikinci türevinin de hesabı gerekmektedir. Şimdilik fonksiyonun 2. Türevi analitik olarak hesaplanarak kullanılacaktır. Sonraki bölümlerde sayısal türev konusunda 2. Türev hesabı için formüller verildiğinde onlar kullanılacaktır. Algoritma, ve program N-R ile aynıdır.
ÖRN f xf x x 3x x 1x x 1x x3 5x2 7x 3 fonksiyonun x0=0 , x0=4 civarındaki kökünü NR ve GNR hesaplayınız.
Not: Başlangıç değeri kompleks sayı girilirse kompleks kökler de bulunabilir.
ÖRN f xf x x2 x 1
x=i noktası civarındaki kökünü bulunuz. x1,21211221122
3 i22222223222322232223 iiiiix1
2.7- Basit iterasyon Yöntemi Bu yöntemde f(x)=0 denklemi x=F(x) formuna getirilir. Eğer yakınsama koşulunu sağlıyorsa; xi 1 F xix formülü ile iterasyona başlanır.
oluncaya kadar işleme devam et.
Yakınsama koşulu; [a , b] deki bütün x’ ler için ]),[( bax için
)(' xF 1 sağlanmalıdır.
ÖRN: 13)( 2 xxxf denkleminin bir kökünü [0, 1 ] aralığında basit iterasyon yöntemi ile 3 adımda bulunuz.
ÖDEV: 022)( 2 xxxf denkleminin bir kökünü [0, 1 ] aralığında basit iterasyon yöntemi ile 3 adımda bulunuz.
ALGORİTMA
1- Rastgele bir başlangıç değeri (x1 ) ve hata sınırı belirle ( ε ),
2- F(x1) ‘i hesapla,
3- x1= F(x1) atamasını yap,
4- abs f x1f xf > adım 2 ‘ye atla,
5- Sonuçları yazdır ve çık.
AKIŞ ŞEMASI c# kodları
namespace ConsoleApplication1 { class Program { public delegate double Function(double x); //f(x)=x * x - 3 * x + 1 static double F1(double x) { return (x * x + 1) / 3; } static double F(double x) { return x * x - 3 * x + 1; } static void Main(string[] args) { Console.WriteLine("\n\nBasit iterasyon yontemi\n"); double x,x0=0.5, epsilon=0.0001; int i=0; do { i++; x = F1(x0) ; x0 = x; Console.WriteLine("iterasyon:" + i + " x:" + x0.ToString("0.00000000")); } while (Math.Abs(F (x0)) > epsilon); Console.WriteLine("\n\nNR Sonuc:" + x.ToString()); Console.WriteLine("BIY Test:f(x)=" + F(x).ToString()); Console.ReadLine(); } } }
3- Lineer Denklem Sistemlerinin Çözümü
n bilinmeyenli n denklemden oluşan bir sistem;
a11 x1 a12 x2 a1n xn b1
a21 x1 a22 x2 a2n xn b2
an1 x1 an2 x2 ann xn bn
Matrisel formda ifade edilirse;
a11 a12 a1na21 a22 a2n
an1 an2 ann
a11a2a2
ana
x1x2
xn
x11xx22
xnxn
b1
b2
bn
bb1
bbb2b22
bnbb
Bu denklem sisteminde çözümün olabilmesi için det(A)≠0 olmalıdır.
Lineer denklem sistemlerinin çözüm yöntemleri iki alt başlıkta toplanabilir;
1. Doğrudan Yöntemler (Ters Matris, Cramer, Gauss Eleminasyon, Gauss-Jordan Yöntemleri),
2. Sayısal Yöntemler (Jakobi, Gauss Siedell Yöntemleri)
[A] [X] =[B]
Burada;
A : Katsayılar matrisi,
B : Sabitler matrisi,
X : Bilinmeyenler matrisidir.
3.1. Doğrudan Yöntemler
Ters Matris Yöntemi
AA XX BB AA 1 AA XX AA 1 BB XX AA 1 BB
RRR AAA 1 BBB XXX RRR
Örnek :
5x1 4x2 142x1 3x2 7 denklem sisteminin çözüm kümesini bulunuz.
Cramer Yöntemi
Yukarda verilen denklem sisteminin cramer yöntemi ile çözümü;
|A|
a11 a12 a1na21 a22 a2n
an1 an2 ann
a11a2a2
ana
1
b1 a12 a1n
b2 a22 a2n
bn an2 ann
bb1b1
bb2b2
bnbnb
2
a11 b1 a1n
a21 b2 a2n
an1 bn ann
a1a1
a2a2
ana
n
a11 a12 b1
a21 a22 b2
an1 an2 bn
a1a1
a2a2
ana
Not : Bu iki yöntem denklem sayısı 3 ve 3 ‘ten az olan sistemlere uygundur.
Örnek :
5x1 4x2 142x1 3x2 7 denklem sisteminin çözüm kümesini bulunuz.
Gauss Eleminasyon Yöntemi
Çok eski bir yöntem olmasına rağmen bir çok popüler yazılım paketinde doğrusal denklemlerin çözüm yöntemi olarak kullanılmaktadır.
Yöntemin gerçekleştirilmesi iki aşamadan oluşur;
1. Bilinmeyenlerin elenmesi; Ana köşegen altındaki elemanlar, elementer satır işlemleri ile sıfır yapılır. a11 a12 a13 | b1
a21 a22 a23 | b2
a31 a32 a33 | b3
aa1
aa3
a2
a3
a2
a11 a12 a1n | b1
0 a22 a23 | b2
0 0 a33 | b3
aa1
0000000000
2. Geriye doğru çözüm kümesinin bulunması; a11 a12 a1n
0 a22 a23
0 0 a33
a11
000
x1x2x3
x11
xx3
xxx2
b1
b2
b3
bbbbb3
b2
b3
b2
Örnek :
x1 2x2 x3 82x1 x2 x3 33x1 3x2 2x3 3
denklem sisteminin çözüm kümesini bulunuz.
#include<stdio.h> int main(void) { void backsubs(float [][10],float [], int); float a[10][10],b[10],tem=0,temp=0,temp1=0,temp2=0,temp4=0,temp5=0; int n=0,m=0,i=0,j=0,p=0,q=0; printf("Kare Matrisin Boyutu :"); scanf("%d",&n); for(i=0;i<n;i++) { for(j=0;j<n;j++) { printf("A[%d,%d] :",i,j); scanf("%f",&a[i][j]); } } printf("\nEnSabitler Matrisi\n"); for(i=0;i<n;i++) { printf("B[%d] :",i,j); scanf("%f",&b[i]); } for(i=0;i<n;i++) { temp=a[i][i]; if(temp<0) temp=temp*(-1); p=i; for(j=i+1;j<n;j++) { if(a[j][i]<0) tem=a[j][i]*(-1); else tem=a[j][i]; if(temp<0) temp=temp*(-1); if(tem>temp) { p=j; temp=a[j][i]; } } //Satir degisimleri for(j=0;j<n;j++) { temp1=a[i][j]; a[i][j]=a[p][j]; a[p][j]=temp1; } temp2=b[i]; b[i]=b[p]; b[p]=temp2; //Kosegen haric elemanlarin sifirlanmasi temp4=a[i][i]; for(q=i+1;q<n;q++) { temp5=a[q][i]; for(j=0;j<n;j++) { a[q][j]=a[q][j]-((temp5/temp4)*a[i][j]); } b[q]=b[q]-(temp5/temp4*b[i]); } } backsubs(a,b,n); return 0; }
void backsubs(float a[][10],float b[], int n) { int i=0,j=0; for(i=n-1;i>=0;i--) { for(j=n-1;j>i;j--) { b[i]=b[i]-a[i][j]*b[j]; } b[i]=b[i]/a[i][i]; printf("x%d = %f\n",i+1,b[i]); } }
Gauss-Jordan Yöntemi
Gauss yönteminin farklı bir durumudur. Ana köşegen hariç diğer elemanlar, elementer satır işlemleri ile sıfırlanır. Dolayısıyla, çözümü bulmak için geriye doğru çözümün bulunması adımını içermez.
a11 0 00 a22 00 0 a33
aa1
000000
x1x2x3
x11
xx3
xxx2
b1
b2
b3
bb1
bbb3
b2
b3
b2
Ayrıca, bütün satırlar pivot elemanlara bölünerek normalize edilebilir.
Örnek :
x1 2x2 x3 82x1 x2 x3 33x1 3x2 2x3 3
denklem sisteminin çözüm kümesini bulunuz.
3.2. İteratif Yöntemler
Gauss-Jakobi Yöntemi
n bilinmeyenli denklem sistemi,
a11 x1 a12 x2 a1n xn b1
a21 x1 a22 x2 a2n xn b2
an1 x1 an2 x2 ann xn bn
Şeklinde verilmiş olsun. Bu sistemş Gauss-Jakobi yöntemi ile çözebilmek için aşağıdaki forma dönüştürülür.
1a11a1
a11
1111
a11 x1 a12 x2 a1n xnaaa 1a11a1
a11
1111
b1
1a22a1
a
1
1a2
1
12
1
122
1
22a21 x1 a22 x2 a2n xnaaa 1
a22
11
a1
a
11
1a2
1
12
12222
b2
1anna1
a1n
1n
1nnnn
an1 x1 an2 x2 ann xnaaa 1anna1
a1n
1n
1nnnn
bn
Dönüştürülen sistemin çözüm kümesine yakınsayabilmesi için, yakınsama koşulunu sağlaması gerekir.
|aii |j 1j i
n
|aij |
İterasyon için;
x1k 1 b1
a11
babab1
b1
1
1
11
a12
a11
1
1
2
1
2
1
2 x2k a1n
a11
aaaaa1
a1
1
1
nn
1
n
1xn
kaaaaaa
1
1
1
1
x2k 1 b2
a22
bababa2
b2
2
2
22
2
22
a21
a22
2
2
2
22
1
2
1
2x1
k a2n
a22
aaaa
2
a2
2
2
2n
22
n
2
n
2xn
kaaaaaaaaa2
a2
2
2
xnk 1 bn
ann
babab
n
bn
n
n
nn
n
nn
an1
ann
n
n
n
nn
1
n
1
nx1
k ann 1
ann
aaan
an
ann
an
an
n
n
nnnnnn
111 xn 1kaa
aaaaaaan
n
n
n
Matrisel formda yazılacak olursa;
x1x2
xn
x11xx22
xnxn
k 1
b1
a11
bab1
b1
1
1
11
b2
a22
baba2
b2
2
2
22
2
22
bn
ann
bbbbn
bbn
n
n
nn
n
nn
bbbbbbaaaaaa
bbbbbbbbbbbbaaaaaaaaa
bbbbbbbbaaaaaabbbbbb
0a12
a11
aaaa
1
1
1
1
2
1
2
1
2 a1n
a11
aaaaa1
a1
1
1
nn
1
n
1
a21
a22
aaa2
a2
2
2
2
22
1
2
1
20
a2n
a22
aaaa
2
a2
2
2
2n
22
n
2
n
222222
an1
ann
aan
n
n
n
n
nn
1
n
1
n
an2
ann
aaaaan
n
n
n
n2
nn
2
n
2
n0
000
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaa
x1x2
xn
xxxx11xxxxxxxxxx22
xxnxxxn
k
[X]k+1 = [B’] - [A’] [X]k
Genel iterasyon formulu;
her satır için köşegen elemanı, diğer elemanların toplamından büyük olmalıdır. Eşit olma durumunda yakınsama çok yavaş olur.
Örnek :
5x1 2x2 x3 4x1 4x2 2x3 3x1 2x2 4x3 17
Denklem sisteminin çözüm kümesini (0,0,0) başlangıç değerlerini kullanarak bulunuz.
Gauss-Seidel Yöntemi
Bu yöntem Jakobi yönteminin geliştirilmiş halidir. Yakınsaması çok daha hızlıdır. Seidel yönteminde, k+1 iterasyonunda bulunan xi
k+1 sonuçları, j=i+1,...n olmak üzere xjk+1
sonuçlarının bulunmasında kullanılır.
x1k 1 b1
a11
babab1
b1
1
1
11
a12
a11
aaaaaaaa
1
1
1
1
2
1
2
1
2 x2k a13
a11
aaaaaaaa
11
1
1
1
3
1
3
1x3
k a1n
a11
aaaaaaaaaa11
aa1
1
1
nn
1
n
1xn
k
x2k 1 b2
a22
baba
1
ba2
1
b2
2
1
2
22
1
2
22
a21
a22
aaaaaaaa
1
aa22
aa2
1
2
2
1
2
22
1
1
2
1
2x1
k 1 a23
a22
aaaaaaaaaa22
aa2
2
2
23
22
3
2
3
2x3
k a2n
a22
aaaaaaaa
22
aa2
2
2
2n
22
n
2
n
2xn
k
xnk 1 bn
ann
babab
n
bn
n
n
nn
n
nn
an1
ann
aaaaaaaaaann
n
n
n
n
nn
1
n
1
nx1
k 1 an2
ann
aaaaaaaaaann
n
n
n
n2
nn
2
n
2
nx2
k 1 ann 1
ann
aaaaaann
aan
ann
an
an
nnnnnn
111 xn 1k 1
Genel iterasyon formulu;
xik 1 bi
aii
babab
i
i
ii
i
i j 1
i 1 aij
aii
aaaa
iji
i
ji
ii
j
ix j
k 1
j i 1
n aij
aii
aaaa
iji
i
iji
ii
jj
iix j
k
İterasyona başlanmadan yakınsama koşuluna dikkat edilmelidir.
#include<stdio.h> int main(void) { float a[10][10],b[10],x[10],y[10]; int n=0,m=0,i=0,j=0; printf("Kare Matrisin Boyutu : "); scanf("%d",&n); for(i=0;i<n;i++) { for(j=0;j<n;j++) { printf("A[%d,%d] :",i,j); scanf("%f",&a[i][j]); } } printf("\nSabitler Matrisi\n"); for(i=0;i<n;i++) { printf("B[%d] :",i,j); scanf("%f",&b[i]); } printf("Baslangic Degerleri\n"); for(i=0;i<n;i++) { printf("x[%d]_0 :",i); scanf("%f",&x[i]); } printf("\nIterasyon sayisi : " ); scanf("%d",&m);
while(m>0) { for(i=0;i<n;i++) { y[i]=(b[i]/a[i][i]); for(j=0;j<n;j++) { if(j==i) continue; y[i]=y[i]-((a[i][j]/a[i][i])*x[j]); x[i]=y[i]; } printf("x%d = %f ",i+1,y[i]); } printf("\n\n"); m--; } return 0; }
Örnek :
5x1 2x2 x3 4x1 4x2 2x3 3x1 2x2 4x3 17
Denklem sisteminin çözüm kümesini (0,0,0) başlangıç değerlerini kullanarak bulunuz.
Örnek :
5x 6y 4z 73x y z 3
5x 3z 8
Denklem sisteminin çözüm kümesini (0,0,0) başlangıç değerlerini kullanarak bulunuz.
Ödev :
Yandaki devrede I1 , I2 ve I3 akımlarını genelleştirilmiş matris formatı ile, her iki iterasyon yöntemini kullanarak bulunuz.
4- SAYISAL TÜREV
Türev herhangibir büyüklükteki değişim miktarıdır.
Örneğin, yoldaki değişim miktarı hızı, hızdaki değişim miktarı ivmeyi verir.
x(t) yol, v(t) hız, a(t) ivme fonksiyonu olmak üzere;
v tt x tt
d x tdt
ddd xxdxdxdxddddtddttt
ttttt
a ttdv t
dtdddvddv
dvdvddddtddt
tttttttttttt d2 x t
dt 2
ddd222
ddx
dx
dx
dxttxt 222222
ttttt
Bobin ve kondansatör uç denklemleri;
V L Ld iL
dtdd
dd
ddi
di
dtddiLitL
tL
iC CdV C
dtdd
dd
d
dVd
dVd
dVd
dtddVdtdd
tVt
tV C
tCCCCC
Açısal hızın zamana göre türevi konumdur;
rd r
dtdd
dddd
dddddddtddt
r
tr
Tanım : x0 değerine pozitif veya negatif yönde verilen Δx (h) artımına karşılık f(x) fonksiyonundaki değişim Δy ise ve,
limiti varsa, bu limite f(x) fonksiyonunun x0 noktasındaki türevi denir.
Aynı zamanda f ’(x0), x0 noktasında fonksiyona teğet geçen eğrinin eğimidir.
Sayısal türev hesabında gerçek teğet denklemi yerine, belli noktalardan geçen doğru denklemi (yaklaşık teğet denklemi) kullanılır.
1. İleri (sağ) Farklarla Sayısal Türev
2. Geri (sol) Farklarla Sayısal Türev
3. Merkez Farklarla Sayısal Türev
Örnek :
y x 2 fonksiyonunun x=2 noktasındaki türevini h=0.1 alarak yaklaşık olarak bulunuz.
Taylor Serileri
Taylor serileri sayısal yöntemlerde fonksiyonları yaklaşık olarak bir polinomla ifade etmek için kullanılır.
Bir fonksiyonun herhangibir noktadaki değerinin, fonksiyonun ve türevlerinin bir başka noktadaki değerleri cinsinden tahmin edilebilmesini sağlar.
Herhangibir f(x) fonksiyonu ve türevi [xi , xi+1] aralığında sürekli ise taylor serisi;
f xi 1f x f xif x
f xi
1!ffff
11x
1xx!x!xx!xxxiii xi 1 xixxxx 1 f xi
2!fffff
22222x
2x!xxx!xxxxxiii xi 1 xixxxx 2 f xi
3!fffff
33333xx!x!xx!xxxxxiii xi 1 xixxxx 3
f n xi
n!ffff nnn
n
n
nnnnnxx!!xx!xxxxxxxxxiii xi 1 xixxxx n Rn
Burada;
xi+1 = xi + h
xi+1 - xi = h
Rn : Kalan
Ayrıca
f(xi)=fi , f(xi+1)=fi+1 , ... olarak gösterilebilir.
f i 1 f i
f i
1!f1f1f1
i
!i
! hf i
2!f2ff2ff222
i
!i
! h2 f i
3!fff3ff333!
i
!i h3 f i
n
n!fnfnfnfn
in
!in
!
n
hn Rn
Taylor Serileri ile Sayısal Türev Hesabı
2 noktalı ileri fark Taylor Serileri ile 1. Türev hesabı
(xi+1 , fi+1) ve (xi+2 , fi+2) değerleri biliniyorsa f’(xi) = ?
f i 1 f i
f i
1!f1f1f1
i
!i
! hf i
2!f2ff2ff222
i
!i
! h2 f i
3!fff3ff333!
i
!i h3 f i
n
n!fnfnfnfn
in
!in
!
n
hn Rn
xi 1 , f i 1x f i 1 f xi 1f x f xi hf x h f i
f i
1!f1f1f1
i
!i
! hf i
2!f2ff2ff222
i
!i
! h2 f i
3!fff3ff333!
i
!i h3 f i
n
n!fnfnfnfn
in
!in
!
n
hn Rn
xi 2 , f i 2x 2 f i 2 f xi 2f x f xi 2hf x h f i
f i
1!f1f1f1
i
!i
! 2h2222f i
2!f2ff2ff222
i
!i
! 2h2222 2 f i
3!fff3ff333!
i
!i 2h2222 3 f i
n
n!fnfnfnfn
in
!in
!
n
2h2222 n Rn
xi noktasındaki 1. Türevin hesaplanması için 2. Türevli terimlere kadar olan kısımların alınmasıyla;
xi 1 , f i 1x f i 1 f i h ff ih2
2h2h2h2
2
2
2
22
ffff i
xi 2 , f i 2x 2 f i 2 f i 2h ff i 2h2 ff i 1. Denklem (-4) ile çarpıp 2. Denklemle toplanırsa;
+___________________
f i 2 4 f i 1 3 f i 2h ff i ff i12h12121h1hhh 3 f i f i 2 4 f i 1
2 noktalı geri fark Taylor Serileri ile 1. Türev hesabı
(xi-1 , fi-1) ve (xi-2 , fi-2) değerleri biliniyorsa f’(xi) = ?
f i 1 f i
f i
1!f1f1f1
i
!i
! hf i
2!f2ff2ff222
i
!i
! h2 f i
3!fff3ff333!
i
!i h3 f i
n
n!fnfnfnfn
in
!in
!
n
hn Rn
xi 1 , f i 1x f i 1 f xi 1f x f xi hf x h f i
f i
1!f1f1f1
i
!i
! hf i
2!f2ff2ff222
i
!i
! h 2
xi 2 , f i 2x 2 f i 2 f xi 2f x f xi 2hf x h f i
f i
1!f1f1f1
i
!i
! 2hf i
2!f2ff2ff222
i
!i
! 2h 2
xi 1 , f i 1x f i 1 f i h ff ih2
2h2h2h2
2
2
2
22
ffff i
xi 2 , f i 2x 22 f i 2 f i 2h ff i 2h2 ff i 1. Denklem (-4) ile çarpıp 2. Denklemle toplanırsa;
+___________________
f i 2 4 f i 1 3 f i 2h ff i ff i12h12121h1hhh f i 2 4 f i 1 3 f iffff
2 noktalı ileri fark Taylor Serileri ile 2. Türev hesabı
xi 1 , f i 1x f i 1 f i h ff ih2
2h2h2h2
2
2
2
22
ffff i
xi 2 , f i 2x 2 f i 2 f i 2h ff i 2h2 ff i 1. Denklem (-2) ile çarpıp 2. Denklemle toplanırsa;
+___________________
f i 2 2 f i 1 f i h2 ff i ff i1h21h1h1h21
22 f i 2 2 f i 1 f iffff
2 noktalı geri fark Taylor Serileri ile 2. Türev hesabı
xi 1 , f i 1x f i 1 f i h ff ih2
2h2h2h2
2
2
2
22
ffff i
xi 2 , f i 2x 22 f i 2 f i 2h ff i 2h2 ff i 1. Denklem (-2) ile çarpıp 2. Denklemle toplanırsa;
+___________________
f i 2 2 f i 1 f i h2 ff i ff i1h21h1h1h21
22 f i 2 2 f i 1 f iffff
Örnek :
y x 2 fonksiyonunun x=2 noktasındaki, 1. ve 2. türevini h=0.1 alarak, 2 noktalı ileri fark Taylor Serileri yaklaşık olarak bulunuz.
3 noktalı ileri fark Taylor Serileri ile 1. Türev hesabı
(xi+1 , fi+1) , (xi+2 , fi+2) ve (xi+2 , fi+3) değerleri biliniyorsa f’(xi) = ?
f i 1 f i
f i
1!f1f1f1
i
!i
! hf i
2!f2ff2ff222
i
!i
! h2 f i
3!fff3ff333!
i
!i h3 f i
n
n!fnfnfnfn
in
!in
!
n
hn Rn
xi 1 , f i 1x f i 1 f i
f i
1!f1f1f1f i
!i
! hf i
2!f2ff2ff2ff22
i
!i
! h2 f i 1 f i h ff ih2
2h2h2h2
2
2
2
22
ffff i (1)
xi 2 , f i 2x 2 f i 2 f i
f i
1!f1f1f1
i
!i
! 2h2222f i
2!f2ff2ff222
i
!i
! 2h2222 2 f i 2 f i 2h ff i 2h2 ff i (2)
xi 3 , f i 3x f i 3 f i
f i
1!f1f1f1
i
!i
! 3h3333f i
2!f2ff2ff222
i
!i
! 3h3333 2 f i 3 f i 3h ff i929292 h2 ff i (3)
18 (1) – 9 (2) + 2 (3) işlemi uygulanırsa;
ff i16h16161h1hhh 11 f i 18 f i 1 9 f i 2 2 f i 3
Nokta sayısının artması ile hassasiyet artar dolayısıyla hata azalır.
Ödev :
3 noktalı ileri fark Taylor Serileri ile 2. Türev formülünü bulunuz.
Örnek : f(x) = ex-2 fonksiyonun x=2 noktasındaki 1. ve 2. türevini, h=0.1 alarak yaklaşık olarak tüm yöntemleri kullanarak bulunuz.
%Matlab% clc; h=0.1; a=2; syms x %x degiskenini tanimla f1 = exp(x-2); %fonksiyon tanimlandi f = inline (char(f1)); %f(x) olarak atandi %Basit ileri fark bif = (1/h)*(f(a+h)-f(a)); %Basit geri fark bgf = (1/h)*(f(a)-f(a-h)); %Merkez fark mf = (1/(2*h))*(f(a+h)-f(a-h)); %2 noktalı ileri fark taylor 1.turev t2ileri = (1/(2*h))*(-3*f(a)-f(a+2*h)+4*f(a+h)); %2 noktalı geri fark taylor 1.turev t2geri = (1/(2*h))*(3*f(a)+f(a-2*h)-4*f(a-h)); %3 noktalı ileri fark taylor 1.turev t3ileri = (1/(6*h))*(-11*f(a)+18*f(a+h)-9*f(a+2*h)+2*f(a+3*h)); %2 noktalı ileri fark taylor 2.turev t2ileri2 = (1/(h*h))*(f(a)-2*f(a+h)+f(a+2*h)); %2 noktalı geri fark taylor 2.turev t2geri2 = (1/(h*h))*(f(a)-2*f(a-h)+f(a-2*h)); fprintf('\n\te^(x-2) fonksiyonun sayisal turevi\n'); fprintf('\tAnalitik 1. ve 2. turev = %.5f \n\n',f(2)); fprintf('basit ileri fark: %.5f hata=%%%.5f\n',bif, 100*abs(1-bif)); fprintf('basit geri fark: %.5f hata=%%%.5f\n',bgf, 100*abs(1-bgf)); fprintf('merkez fark: %.5f hata=%%%.5f\n\n',mf,100*abs(1-mf) ); fprintf('2 noktalı ileri Taylor serisi ile 1.turev: %.5f hata=%%%.5f\n',t2ileri, 100*abs(1-t2ileri)); fprintf('2 noktalı geri Taylor serisi ile 1.turev: %.5f hata=%%%.5f\n\n',t2geri, 100*abs(1-t2geri)); fprintf('3 noktalı ileri Taylor serisi ile 1.turev: %.5f hata=%%%.5f\n\n',t3ileri, 100*abs(1-t3ileri)); fprintf('2 noktalı ileri Taylor serisi ile 2.turev: %.5f hata=%%%.5f\n',t2ileri2, 100*abs(1-t2ileri2)); fprintf('2 noktalı geri Taylor serisi ile 2.turev: %.5f hata=%%%.5f\n',t2geri2, 100*abs(1-t2geri2));
4- SAYISAL İNTEGRAL
c ϵ R olmak üzere F(x) fonksiyonunun türevi f(x) ise ( F’(x) = f(x) );
f xf x dx F xx c eşitliğindeki “F(x)+c” ifadesine, f(x) fonksiyonunun belirsiz integrali
denir.
f(x) fonksiyonu [a,b] R için sürekli ise;
a
b
f xf x dx F xx |ab F bb F aa değerine, f(x) fonksiyonunun [a,b] aralığında belirli
integrali denir.
Geometrik olarak belirli integral, belirtilen aralıkta, fonksiyon eğrisi ile koordinat ekseni arasındaki kalan alandır.
y
xf(x)
a
b
İntegrali kolaylıkla hesaplanabilen eğriler;
İntegral Uygulamaları ;
1. Eğri altında kalan alanı bulmak,
2. İki eğri arasında kalan alanı bulmak,
y
x
f(x)
a b
g(x)
Diktörtgen alanı;
Yamuk alanı (f(x)=x/2);
3. Bir eğrinin x veya y ekseni etrafında 360o döndürülmesi ile oluşan kapalı bölgenin hacmini
bulmak,
Elektrik Mühendisliğinde kullanılan bazı integral uygulamaları;
1. Ortalama değer hesabı;
2. Etkin değer hesabı;
f et2 1
T1T1T1TT
0
T
f 2 xx dx
3. Fourier serilerinin hesabında.
y
x
f(x)
a
b
y
x
f(x)
a b
y
x
fort
T
Yüksek dereceli polinomlarda veya karmaşık fonksiyonların belirli integrallerinin hesabında, eğri ile koordinat ekseni arasında kalan alanın hesabı zordur. Bu alanlar bilinen geometrik şekillerin alanları kullanılarak, yaklaşık olarak hesaplanabilir. Yani eğri ile koordinat ekseni arasında kalan alan daha küçük ve bilinen geometrik şekillere bölünerek elde edilen alanlar toplanarak hesapalanabilir.
Sayısal Yöntemler;
1. Dikdörtgenler yöntemi
İntegrali bulunacak eğri ilgili aralıkta küçük dikdörtgenlere bölünür, bu dikdörtgenlerin alanları toplanarak yaklaşık sonuç bulunur.
1.a) Sol toplamlar
[a,b] aralığı n parçaya bölünür. Adım h b an
bbbnnnn
aaaaaaaa ‘dir. i=0,1,2,..,n-1 için xi+1=xi+h
1.b) Sağ toplamlar
[a,b] aralığı n parçaya bölünür. Adım h b an
bbbnnnn
aaaaaaaa ‘dir. i=1,2,..,n için xi+1=xi+h
y
x
f(x)
a=x0 x1 x2 b=x3
I1f(x0)f(x1)
f(x2)
I2I3
y
x
f(x)
a=x0 x1 x2 b=x3
I1f(x1)
f(x2)
f(x3)
I2I3
1.c) Orta toplamlar
[a,b] aralığı n parçaya bölünür. Adım h b an
bbbnnnn
aaaaaaaa ‘dir. i=0,1,..,n-1 için xi+1=xi+h
y
x
f(x)
a=x0 x1 x2 b=x3
I1f(x0 +h/2) I2
I3
x0 +h/2 x1 +h/2 x2 +h/2
f(x1 +h/2)
f(x2 +h/2)
Örnek :
1
7
3 x 2 dx integralini dikdörtgenler yöntemini kullanarak bulunuz. (n=3,5,10)
Analitik Alan I1
7
3 x 2 dx x 3 |17x 73 17 1 342
%sol clc; %integral sinirlari a=1; b=7; n=input ('Parca ='); h=(b-a)/n; fprintf('Adim = %.3f \n', h); toplam=0; x=1; for i=1:n y=3*x^2; fprintf('%d. alan=%.3f\n', i,y); x=a+i*h; toplam=toplam+h*y; end; fprintf('yaklasik integral = %.3f \n', toplam); %sag clc; %integral sinirlari a=1; b=7; n=input ('Parca ='); h=(b-a)/n; fprintf('Adim = %.3f \n', h); x=1; toplam=0; for i=1:n x=a+i*h; y=3*x^2; fprintf('%d. alan=%.3f\n', i,y); toplam=toplam+h*y; end; fprintf('yaklasik integral = %.3f \n', toplam);
%orta clc; %integral sinirlari a=1; b=7; n=input ('Parca ='); h=(b-a)/n; fprintf('Adim = %.3f \n', h); toplam=0; x=1; for i=1:n y=3*(x+(h/2))^2; fprintf('%d. alan=%.3f\n', i,y); x=a+i*h; toplam=toplam+h*y; end;
fprintf('yaklasik integral = %.3f \n', toplam); n=5 sol Adim = 1.200 1. alan=3.000 2. alan=14.520 3. alan=34.680 4. alan=63.480 5. alan=100.920 yaklasik integral = 259.920
sag Adim = 1.200 1. alan=14.520 2. alan=34.680 3. alan=63.480 4. alan=100.920 5. alan=147.000 yaklasik integral = 432.720 orta Adim = 1.200 1. alan=7.680 2. alan=23.520 3. alan=48.000 4. alan=81.120 5. alan=122.880 yaklasik integral = 339.840
2. Yamuk Yöntemi
İntegrali bulunacak eğri ilgili aralıkta küçük yamuklara ayrılır, bu yamukların alanları toplanarak yaklaşık sonuç bulunur.
Ia
b
f xf x dx I1 I 2 I 3 I 4 I 5 I 6
I1h2h2h22 f x 0f x f x1f xffff
I 2h2h2h22 f x1f x f x 2f xffff
I 3h2h2h22 f x 2f x f x 3f xffff
I 4h2h2h22 f x 3f x f x 4f xffff
I 5h2h2h22 f x 4f x f x 5f xffff
I 6h2h2h22 f x 5f x f x 6f xffff
Ia
b
f xf x dx h2hh22hh2222 f x 0f x f x1f x f x1f x f x 2f x f x 2f x f x 3f x f x 3f x f x 4f x f x 4f x f x 5f x f x 5f x f x 6f xffff
Genel hali Ia
b
f xf x dx h2hh22hh2222 f x 0f x f xnf x 2
i 1
n 1
f x if xffff
y
x
f(x)
a=x0 x1 x2 x3 x4 x5 b=x6
f(x0)
f(x1)
f(x2)
f(x3)
f(x4)
f(x5)f(x6)
I1 I2 I3 I4 I5 I6
Algoritma;
[a,b] aralığı n eşit parçaya bölünür.
Yamuklar elde edilir.
Herbir yamuğun alanı hesaplanır.
Alanlar toplaranak yaklaşık integral sonucu bulunur.
Örnek :
1
7
3 x 2 dx integralini yamuk yöntemini kullanarak bulunuz. (n=3,5,10)
n=3 için
n=5 için
Parca =5 Adim = 1.200 x(1.0)-->f(x)=3.000 x(2.2)-->f(x)=14.520 x(3.4)-->f(x)=34.680 x(4.6)-->f(x)=63.480 x(5.8)-->f(x)=100.920 x(7.0)-->f(x)=147.000 yaklasik integral = 346.320 n=10 için Parca =10 Adim = 0.600 x(1.0)-->f(x)=3.000 x(1.6)-->f(x)=7.680 x(2.2)-->f(x)=14.520 x(2.8)-->f(x)=23.520 x(3.4)-->f(x)=34.680 x(4.0)-->f(x)=48.000 x(4.6)-->f(x)=63.480 x(5.2)-->f(x)=81.120 x(5.8)-->f(x)=100.920 x(6.4)-->f(x)=122.880 x(7.0)-->f(x)=147.000 yaklasik integral = 343.080
Örnek :
0
3333333
sin xx dx integralini yamuk yöntemini kullanarak bulunuz. (n=5,10)
n=10 için Parca =10 Adim = 0.10472 x(0.0000)-->f(x)=0.00000 x(0.1047)-->f(x)=0.10453 x(0.2094)-->f(x)=0.20791 x(0.3142)-->f(x)=0.30902 x(0.4189)-->f(x)=0.40674 x(0.5236)-->f(x)=0.50000 x(0.6283)-->f(x)=0.58779 x(0.7330)-->f(x)=0.66913 x(0.8378)-->f(x)=0.74314 x(0.9425)-->f(x)=0.80902 x(1.0472)-->f(x)=0.86603 yaklasik integral = 0.500
3. Simpson (Paraboller) Yöntemi
Belirli integralin bulunması için en yaygın kullanılan yöntemdir. Bu yöntemde, asıl fonksiyon yerine, bu fonksiyona 2.dereceden bir polinom uydurup, bu polinomla x-ekseni arasında kalan alanın hesabı bulunur.
Eğer uydurulan polinom 1. dereceden ise, yöntem yamuk(trapez) yöntemi olur;
Eğer uydurulan polinom 2. dereceden ise, yöntem simpson(polinomlar) yöntemi olur;
Langrange enterpolasyon formulune göre (Enterpolasyon konusu ayrıca incelenecektir)
x0 , x1 , x2 noktalarından geçen parabol denklemi;
P xxx x1 x x2
x0 x1 x0 x2xxxxxxxxxxxxx00
xx000
xxxxxxxxxxxxxxxx
1
1
11
11
1
1
xxxxxxxxxxxxxxxxxxxxxxxxxx00000
xxxxxxxxxxxxx2
x22
x22
x22
2
222222222f x0f x
x x0 x x2
x1 x0 x1 x2xxxxxxxxxxxxxx11
x1
xxxxxxxxxxxxxxxx
0
0
xx
0
0
00
00
0
0
0
0
xxxxxxxxxxxxxxxxxxxxxxxxxxxx111
xxxxxxxxxxxxxxx
22
x2
x2
2
2
x22
2
222222f x1f x
x x0 x x1
x2 x0 x2 x1xxxxxxxxxxxxx22
xx222
xxxxxxxxxxxxxxxx
0
0
00
00
0
0
0
0
0
0
xxxxxxxxxxxxxxxxxxxxxxxxx2
xx22222
xxxxxxxxxxxx11
xx1
x1
x1
x1111x111111f x2f x
Bu fonksiyonun [x0 , x2] sınırlarına göre belirli integrali ise;
x0
x2
P xx dx h3h3h3h f x0f x 4 f x1f x f x2f xfff
y
x
f(x)
x0 x1
p(x)=ax+b
f(x0)
f(x1)
y
x
f(x)
x0 x1
p(x)=ax2+bx+c
f(x0)
f(x2)
x2
f(x1)
Simpson yönteminde 3 noktadan geçen polinom denklemi kullanılır.
Eğer aralıktaki nokta sayısı artırılırsa, hassasiyet artar, hata azalır.
Ia
b
f xf x dx I1 I 2 I 3
x 0 , x1 , x 2 bölgesi;
I1h3
1
h3
1
h3
1
f x 0f x 4 f x1f x f x 2f x
22
fffff
x 2 , x 3 , x 4 bölgesi;
I 2h3
3
h3
3
h3
3
f x 2f x 4 f x 3f x f x 4f x
44
fffff
x 4 , x 5 , x 6 bölgesi;
I 3h3
5
h3
5
h3
5
f x 4f x 4 f x 5f x f x 6f x
66
fffff
I h3h3h3 f x 0f x f x 6f x 2 f x 2f x f x 4f xff 4 f x1f x f x 3f x f x 5f xffffff
Genel hali Ia
b
f xf x dx h3hh33hh33 f x 0f x f xnf x 4
i 1i:tekiii:
n 1
f x if x 2j 2j:ciftjjj:jjj:
n 1
f x if xffffffffffff
Simpson yöntemi (n ε çift sayılar) için kullanılabilir.
y
x
f(x)
a=x0 x1 x2 x3 x4 x5 b=x6
f(x0)
f(x1)
f(x2)
f(x3)
f(x4)
f(x5)f(x6)
I1 I2 I3
Algoritma;
[a,b] aralığı n eşit parçaya bölünür.
3 noktadan bir 2.dereceden bir eğri geçirilir. Böylece n/2 tane alt bölge oluşur. Herbir bölgenin alanı hesaplanır.
Alanlar toplanarak yaklaşık integral sonucu bulunur.
Örnek :
0
3333333
sin xx dx integralini simpson yöntemini kullanarak bulunuz. (n=4)
Örnek :
0
11
1 x 21111
xxxxxxxx 22222 dx integralini trapez ve simpson yöntemini kullanarak bulunuz. (n=4)
n=4 için
Örnek : Aşağıda, tam dalga kontrollü bir doğrultucunun çıkış dalga geriliminin değişimi verilmiştir. Bu gerilimin ortalama değerini bütün yöntemleri kullanarak bulunuz (n=4).
Vyuk
wt(radyan)
5- LİNEER OLMAYAN DENKLEM SİSTEMLERİNİN ÇÖZÜMÜ
En az bir tanesi doğrusal olmayan n-denklemden oluşmuş sisteme lineer olmayan denklem sistemi denir.
x 2 x y 2 lineer degillil l
x 4 y 5 lineerlliill
1. İki değişkenli lineer olmayan denklem sisteminin Newton Yöntemi ile çözümü
f(x,y) = 0
g(x,y) = 0
olmak üzere, bu denklemler (x0 , y0) noktası için taylor serilerine açılırsa;
f x0 x , y0 yf x y f x0 , y0f x x1!xx!x!xx f x0 , y0
xffffffffff xxxxxxxx0
xx0
x0
x0
x0
xxx,
x,
x, yyyyyyyyy0y0000 y
1!111yy!y!yy f x0 , y0
yffffffffff xxxxxxxx0
yx0
y0
y0
y0
yyy,
y,
y,
yyyyyyyyyy0y0000x
111111x x 2
2!22x2x2x2x!x!
22222 2 f x0 , y0
x 2
22222 ffffff xxxxxxxxxxxxxxxx
0
xxx
00
x02
0222
,,2
, yyyyyyyyy0y0000y
2
2!22y22y2y2y2yy!!!!
222222 f x0 , y0
y2
22222 ffffff xxxyyxyyxyyxyyxxyyxyy0
yxy0
y0
y02
0222
,,2
, yyyyyyyyy0y0000
2
g x0 x , y0 yx y g x0 , y0x x1!xx!x!xx g x0 , y0
xgggggggg xxxxxxxxx0
xxx0
x0
x0
x0
xxx,
x,, yyyyyyyy0y0000 y
1!111yy!y!yy g x0 , y0
ygggggggg xxxxxxxxx0
yx
y0
y0
y0
y0
yyy,
y,, yyyyyyyy0y0000x
111111x x 2
2!2x2x2x2x!x!
22222 2 g x0 , y0
x 2
22222 ggggggg xxxxxxxxxxxxxxxxxxx
00
x02022022
,,, yyyyyyyyyy00000y
2
2!22y22y2y2y2yy!!!!
222222 g x0 , y0
y2
22222 ggggggg xxyyxyyxyyxyyxyyxyyxyxxyy
0
y0
y02022022
,,, yyyyyyyyyy00000
22
Taylor serisinde ilk 2 terim alınır ve (x1 , y1) noktasında da fonksiyonlar sıfıra eşitse;
0 f x0 , y0f x x1!x!x!xx f x0 , y0
xffffffffff xxxxxxxx0
xx0
x0
x0
x0
xxx,
x,
x, yyyyyyyyy0y0000 y
1!111yy!y!yy f x0 , y0
yffffffffff xxxxxxxx0
yx0
y0
y0
y0
yyy,
y,
y,
yyyyyyyyyy0y0000xx
111111xx
0 g x0 , y0x x1!x!x!xx g x0 , y0
xgggggggg xxxxxxxxx0
xxx0
x0
x0
x0
xxx,
x,, yyyyyyyy0y0000 y
1!111yy!y!yy g x0 , y0
ygggggggg xxxxxxxxx0
yx
y0
y0
y0
y0
yyy,
y,, yyyyyyyy0y0000x
111111x
Δx ve Δy bilinmeyenler olarak seçilip sistem matrisel olarak yazılırsa;
f x0 , y0
xffffff xxxxxxxx0
xx00
x0
x0
x0
xxx,
x,
x, yyyyyyyyy0y00000 f x0 , y0
yffffff xxxxxxxx0
yx00
y0
y0
y0
yyy,
y,
y,
yyyyyyyyyy0y00000
g x0 , y0
xggggg xxxxxxxxx0
xxx0
x0
x0
x0
xxx,
x,, yyyyyyyy0y0000 g x0 , y0
yggggg xxxxxxxxx0
yx
y0
y0
y0
y0
yyy,,
y,, yyyyyyyy0y0000
ff x
y
x
y
f x0 , y0x
g x0 , y0x
ffff
gg
Bu sistem Ax=B olan lineer bir sistemdir. Sistem, (x0 , y0) başlangıç değerleri ile herhangibir yöntem kullanılarak çözülerek ve Δx, Δy ‘in ilk değerleri bulunur. Bu değerler kullanılarak,
Hatırlatma : f(x) fonksiyonun xi noktasındaki taylor serisi;
x1 = x0 + Δx
y1 = y0 + Δy
noktaları bulunur. Bu işleme |Δx|< ε ve |Δy|< ε ‘a kadar devam edilir.
İterasyon için sistem;
f xk , yk
xffffff xxxxxxxxkxkk
xk
xk
xk
xxx,
xx,,
x, yyyyyyyyykkkkk f xk , yk
yffffff xxxxxxxxkxkk
yk
yk
yk
yyy,
yy,,
y, yyyyyyyyykkkkk
g xk , yk
xggggg xxxxxxxxxk
xxk
xk
xk
xk
xxk
xxx,,, yyyyyyyyyykkkkk g xk , yk
yggggg xxxxxxxxxk
yxk
yk
yk
yk
yyk
yyy,,
y, yyyyyyyyyykkkkk
ff x
y
x
y
f xk , ykx
g xk , ykx
ffff
gg
Örnek : Aşağıda verilen denklem sistemini x0 = 0.6 ve y0 = 1.5 başlangıç değerlerini kullanarak çözünüz.
x 2 y 3x y2 5
Örnek : Aşağıda verilen denklem sistemini x0 = 0.5 ve y0 = 3 başlangıç değerlerini kullanarak çözünüz.
x 2 y2 9ex 5 x y 0
2. Üç değişkenli lineer olmayan denklem sisteminin Newton Yöntemi ile çözümü
f(x,y,z) = 0
g(x,y,z) = 0
v(x,y,z) = 0
olmak üzere, bu denklemler (x0 , y0 , z0) noktası için taylor serilerine açılırsa;
f x0 x , y0 y , z0 zf x z f x0 , y0 ,z0f x x
1!xx!x!xx f x0 , y0 ,z0
xffffffffff xxxxxxxx0x0000 ,,
x, yxxyxyxyxyxyxyxyy0y0000 ,,,zzzzzzz0z0000 y
1!111yy!y!yy f x0 , y0 ,z0
yffffffffff xxxxxxxx0x0000 ,,
y, yyyyyyyyyyyyyyyyyy
0y0000 ,,,zzzzzzz0z000 z1!111
zz!z!z f x0 , y0 ,z0
zffffffffff xxxxxxxx00000 ,,, y
zzyzyzyzyzyzyzyy0y0000 ,,,zzzzzzz0z0000x
111111x
g x0 x , y0 y, z0 zx z g x0 , y0 ,z0x x1!x!x!x g x0 , y0 ,z0
xgggggggg xxxxxxxxx0x0000 ,,
x,xxxy
xy
xy
xy
xyy
xyy0y0000 ,,,zzzzzz0z0000 y
1!111yy!y!yy g x0 , y0 ,z0
ygggggggg xxxxxxxxx0x0000 ,,
y,yyyyyyyyyyyyyyyy0y0000 ,,,zzzzzz0z0000 z
1!111zz!z!z g x0 , y0 ,z0
zgggggggg xxxxxxxxx0x0000 ,,,
zzyzyzyzyzyyzyy0y0000 ,,,zzzzzz0z0000xx
111111xx
v x0 x , y0 y, z0 zx z v x0 , y0 ,z0x x1!x!x!x v x0 , y0 ,z0
xvvvvvv xxxxxxxxx0x0000 ,,
x,xxxy
xy
xy
xy
xyy
xyy0y0000 ,,,zzzzzz0z0000 y
1!111yy!y!yy v x0 , y0 ,z0
yvvvvvv xxxxxxxxx0x0000 ,,
y,yyyyyyyyyyyyyyyy0y0000 ,,,zzzzzz0z0000 z
1!111zz!z!z v x0 , y0 ,z0
zvvvvvv xxxxxxxxx0x0000 ,,,
zzyzyzyzyzyyzyy0y0000 ,,,zzzzzz0z0000xx
111111xx
Taylor serisinde ilk 2 terim alınır ve (x1 , y1 , z1) noktasında da fonksiyonlar sıfıra eşitse;
0 f x0 , y0 ,z0f x x1!xx!x!x f x0 , y0 ,z0
xffffffffff xxxxxxxx0000 ,,
x, yxxyxyxyxyxyxyxyy0y0000 ,,,zzzzzzz0z000 y
1!111yy!y!yy f x0 , y0 ,z0
yffffffffff xxxxxxxx0x0000 ,,
y, yyyyyyyyyyyyyyyyy0000 ,,,zzzzzzz0z0000 z
1!111zz!z!z f x0 , y0 ,z0
zffffffffff xxxxxxxx0x0000 ,,, y
zzyzyzyzyzyzyzyy00000 ,,,zzzzzzz0z0000x
111111x
0 g x0 , y0 ,z0x x1!x!x!x g x0 , y0 ,z0
xgggggggg xxxxxxxxx0x0000 ,,
x,xxxyxyxyxyxyyxyy0y0000 ,,,zzzzzz0z0000 y
1!111yy!y!yy g x0 , y0 ,z0
ygggggggg xxxxxxxxx0x0000 ,,
y,yyyyyyyyyyyyyyyy0y0000 ,,,zzzzzz0z0000 z
1!111zz!z!z g x0 , y0 ,z0
zgggggggg xxxxxxxxx0x0000 ,,,
zzyzyzyzyzyyzyy0y0000 ,,,zzzzzz0z0000x
111111x
0 v x0 , y0 ,z0x x1!x!x!x v x0 , y0 ,z0
xvvvvvv xxxxxxxxx0x0000 ,,
x,xxxyxyxyxyxyyxyy0y0000 ,,,zzzzzz0z0000 y
1!111yy!y!yy v x0 , y0 ,z0
yvvvvvv xxxxxxxxx0x0000 ,,
y,yyyyyyyyyyyyyyyy0y0000 ,,,zzzzzz0z0000 z
1!111zz!z!z v x0 , y0 ,z0
zvvvvvv xxxxxxxxx0x0000 ,,,
zzyzyzyzyzyyzyy0y0000 ,,,zzzzzz0z0000x
111111x
Δx, Δy ve Δz bilinmeyenler olarak seçilip sistem matrisel olarak yazılırsa;
f x0 , y0 ,z0
xffffff xxxxxxxx0x0000 ,,
x, yxxyxyxyxyxyxyxyy0y0000 ,,,zzzzzzz0z0000 f x0 , y0 ,z0
yffffff xxxxxxxx0x0000 ,,
y, yyyyyyyyyyyyyyyyyy
0y0000 ,,,zzzzzzz0z0000 f x0 , y0 ,z0
zffffff xxxxxxxx00000 ,,, y
zzyzyzyzyzyzyzyy0y0000 ,,,zzzzzzz0z0000
g x0 , y0 ,z0
xggggg xxxxxxxxx0x0000 ,,
x,xxxy
xy
xy
xy
xyy
xyy0y0000 ,,,zzzzzz0z0000 g x0 , y0 ,z0
yggggg xxxxxxxxx0x0000 ,
y,y
yy,y
y
y
yyy
y
yyy
yyyyy
yyy
yyyyyyyyyyyyy0y0000 ,,,zzzzzz0z0000 g x0 , y0 ,z0
zggggg xxxxxxxxx0x0000 ,,,
zzyzyzyzyzyyzyy0y0000 ,,,zzzzzz0z0000
v x0 , y0 ,z0
xvvvv xxxxxxxxx0x0000 ,,
x,xxxy
xy
xy
xy
xyy
xyy0y0000 ,,,zzzzzz0z0000 v x0 , y0 ,z0
yvvvv xxxxxxxxx0x0000 ,
y,y
y,y
y
y
y
y
yyy
yyy
yyy
yyyyyyyyy0y0000 ,,,zzzzzz0z0000 v x0 , y0 ,z0 ,z0
zvvvv xxxxxxxxx0x0000 ,,, yyyyyyyy0
zyz0
z0
z0
z0
zz,,,zzzzzz0z0000 ,,,zzzzzz0z0000
fx
y
z
xx
y
f x0 , y0 ,z0x
g x0 , y0 ,z0x
v x0 , y0 ,z0x
ffff
gggggg
vv
Bu sistem Ax=B olan lineer bir sistemdir. Sistem, (x0 , y0, z0) başlangıç değerleri ile herhangibir yöntem kullanılarak çözülerek ve Δx, Δy ve Δz ‘nin ilk değerleri bulunur. Bu değerler kullanılarak,
x1 = x0 + Δx
y1 = y0 + Δy
z1 = z0 + Δz
noktaları bulunur. Bu işleme |Δx|< ε ve |Δy|< ε ve |Δz|< ε ‘a kadar devam edilir.
Newton yönteminde yakınsama koşullarını çok iyi olmasına ragmen başlangıç degerleri iyi seçilmezse sonuç alınamaz. Newton yönteminin algoritması basittir .Yöntem teorik olarak kusursuzdur. Pek çok problem için gerçek çözüme yakınsar.
Örnek : Aşağıda verilen denklem sistemini x = 1 , y = 2 ve z=3 başlangıç değerlerini kullanarak çözünüz.
x y 2 z 5x y y2 z 3x 2 y2 2 z3 17
Örnek : Aşağıda verilen denklem sistemini x10 = 0.1 , x2
0 = 0.1 ve x30 = 0.19 başlangıç
değerlerini kullanarak çözünüz.
3x1 cos x2 x3x 1211221122 0
x12 81 x2 0.1x 1
2sin x3x 1.06 0
e x1 x2 20 x3 9.472 0
3. Basit İterasyon Yöntemi
Lineer olmayan bir denklemin kökünü bulmak için kullanılan Basit İterasyon Yöntemi bazı değişikliklerle lineer olmayan denklem sisteminde kullanılır.
f 1 x1 , x2 , , xnx 0f 2 x1 , x2 , , xnxx 0
f n x1 , x2 , , xnx 0
formatında verilen denklem sistemi, alttaki formata dönüştürülür.
x1 g1 x1 , x2 , , xnx 0x2 g2 x1 , x2 , , xn
1
xx 0
xn gn x1 , x2 , , xnx 0
Yeni sistem yakınsama koşulunu sağlıyorsa
Xk+1 = G(Xk) formülü ile itersayona başlanır.
Yakınsama Koşulu : Lineer olmayan bir denklemin yakınsama koşulu ile aynı yapıdadır;
g1
x1
gxgxgxg1
x1
1
1
1ggggggxx
g2
x1
gxgxgxgx
2
1
2
1
2ggggggxx
gn
x1
gxgxgxgn
xn
1
n
1
ggggggxx 1
g1
x2
gxgxgxg1
2
1
2
1
2
ggggggggxxx
g2
x2
gxgxgxgx2
2
2
2
2
2ggggggggxx
gn
x2
gxgxgxgn
x2
n
2
n
2
ggggggggxx 1
g1
xn
gxgxgxgxn
1
n
1
n
ggggggxx
g2
xn
gxgxgxgxn
2
n
2
n
2ggggggxx
gn
xn
gxgxgxgn
xn
n
n
n
n
ggggggxx 1
Örnek : Aşağıda verilen denklem sistemini basit iterasyon yöntemi kullanarak çözünüz.
(x10 = 3.48 , x2
0 = 2.26)
x1 3 log10 x1 x22 0
2 x12 x1 x2 5 x1 1 0
6- ENTERPOLASYON
Belirli bir aralıkta, bilinen değerleri [(x0,y0) ..(xn,yn)] kullanarak, bilinmeyen değerlerin hesaplanmasına enterpolasyon denir. Bu amaçla, bilinen veriler kullanarak uygun fonksiyonlar uydurulur.
En yaygın olarak polinom enterpolasyonu kullanılır.
n. dereceden polinomun genel hali;
f xf x a0 a1 x a2 x2 an xn
(n+1) veri için, bütün noktalardan geçen bir tane n.dereceden polinom bulunur.
2 noktayı 1.dereceden polinom (doğru), 3 noktayı 2. Dereceden polinom (parabol) birleştirir.
y
x
y
x
Doğrusal Enterpolasyon
x 0 , f 0x f 0 a0 a1 x 0
x1 , f 1x
0
f 1 a0 a1 x1
bu denklem sistemi çözülerek katsayılar bulunur.
1 x 0
1 x1
11
1
a0
a1
a
a
f 0
f 1
ff
f
Cramer yöntemi ile;
a0
f 0 x 0
f 1 x1
ff
1 x 0
1 x111
ffffffffffff
1111
ffff
1111
fffff
1111
f 11
xx
x
xx
x
x
x
x
x
x
x
x
x
0
x1
0
x
0
11
0
1 f 0 x1 f 1 x 0
x1 x 0
ffff 000 xxxxxxxxxxxxxxx
1
1
x1
1
1
1
1 fxxfxfxfxfxfxfxf
0
f
00
f
0
11
0
1 xxxxxxxx 00000
a1
1 f 0
1 f 1
111
1 x 0
1 x111
11111111
1111
1111
11111111
ff
x
ff
x
f
x
f
x
f
x
f
x
f
x
f
0
f 1
00
1
0
1
0
f 1 f 0
x1 x 0
ffxxfxfx
1
1
1
1
fxfxfxfxfxfxfxfxf
0
f 0
000
00
0
00
f xf x L0 f 0 L1 f 1 şeklinde düzenlenirse;
f xf xf 0 x1 f 1 x0 f 1 x f 0 x
x1 x0
ffff 000 xxxxxxxxx111 fffffffffff 111
xxxxxx
xxxx
xx
xx
1
x
1
x
1
x
1
xx00000
xxxf
xxf
xf
xf
0
fxf
0
f
0
f
0
f
00
ff 111 xxxxxxxxx fffffffffff 00000 xxxxxxxxx x1 xx1 x0
xxxxxxx
1
x1
1
11
xxxxxxxxxxxx
0
xxx
0
x
0000f 0
x x0
x1 x0
xxxxx
11
xxxxxxxxxxxx
0
xxx
0
0
0
x0
0
00
0000f 1
L0
x1 xx1 x0
xxxxxx
1
x1
1
11
xxxxxxxxxxxx
0
xxx
0
x
0000, L1
x x0
x1 x0
xxxxx
11
000x0000xx
0x0xx
0xxxxxxxxx
0
0
0
x0
0
00
0000
y
x
f(x)
x0
f0
f1
x1
(xo,fo) ve (x1,f1) biliniyorsa, bu 2 noktadan geçen doğrunun denkleminin bulunması doğrusal enterpolasyondur.
Bu 2 noktadan geçen doğrunun denklemi;
f(x)=a0 + a1 x
kabul edilerek, katsayıları hesaplanır.
Polinomal Enterpolasyon (Lagrange Enterpolasyonu)
x 0 , f 0x f 0 a0 a1 x 0 a2 x 0
2
x1 , f 1x
0
f 1 a0 a1 x1 a2 x12
x 2 , f 2x f 2 a0 a1 x 2 a2 x 22
bu denklem sistemi çözülerek katsayılar bulunur.
Denklem sistemi çözülüp f xf x L0 f 0 L1 f 1 L2 f 2 katsayıları bulunursa;
L0
x x1 x x2
x0 x1 x0 x2xx
x
x
x
xx
x
0
xx
0
x
0
x
x
x
x
x
x
x
x
x
x
x
x
x
x1
1
x
x1
1
1
1
x
x
x
x
x
x
x
x
xx
xx
x
x
x
x
x
x0000
xxxxxx
x
x
x2
x
x
x2
x2
x2
x22
x222222
, L1
x x0 x x2
x1 x0 x1 x2xx
x
x
x
xx
x
x1
xx
1
x x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x0
0
00
00
0
0
0
0
0
0
x
x
x
x
x
x
x
x
x
x
x
x
x
x
xx
xx111
xxxx
x
xx
x
x
x
x
x
x
x2
x2
x22
x2
x2
2
22222
, L2
x x0 x x1
x2 x0 x2 x1xx
x
x
x
xx
x
2
xx
2
x
2
x
x
x
x
x
x
x
x
x
x
x
x
x
x0
0
x
x00
00
0
0
0
0
0
0
x
x
x
x
x
x
x
x
x
x
xx
xx
x
x2
x
x2222
xxxxx
x
xx
x
x
x1
xx1
x1
x1x111
Bu katsayılara Lagrange polinomları denir. Lagrange katsayıları n dereceli polinom için yazılırsa;
Lk
x x 0 x x1 x xk 1 x xk 1 x xn
xk x 0 xk x1 xk xk 1 xk xk 1 xk xnxxxxxxkkk
xxxxxxxxx
xxxxxxxx 0
x
00
x
0
x
0
x
0
xxxx 000000000000
xxxxxxxxxk
x
k
x
k
x
k
x
k
xxxxx
xxx
x
xx
x
x
x
x
x
x
x
x
x
1
x
1
xx
1
111111
xxx
x
xx
x
xx
x
x
xx
x
xx
k
x
kk
x
kk
xx
x
xx
x
x
x
x
x
x
xk
xxkk
k
kk
kk
k
kkk
11
1
1
11
xxx
x
x
x
x
x
x
x
x
x
xx
xxxxkkkkk
xxxxxxx
x
xk
xk
xk
xkk
xxk
xxkkkkkk
111
111
xxxxxxxxx
xxxxxxxxxkkkk
x
k
xxxxxxxxnnnnnn
xxxxxxxxxxxxxxnnnnnn j 0j kjjjjjjj
n x x j
x k x j
xxxxxx
kkk
xxxxxxxxxxxxxx
jj
xxjj
j
jj
jj
j
jjj
Fonksiyon ise;
f xf x Pn xxk 0
n
Lk f kk 0
n
j 0j k
n x x j
x k x j
xxxxxx
kkk
xxxxxxxxxxxxxx
jj
xxjj
j
jj
jj
j
jjjjjjjjjjj
f k
n=1 (xo,fo) ve (x1,f1)
y
x
f(x)
x0
f0
f1
x1
f2
x2
(xo,fo) , (x1,f1) ve (x2,f2) biliniyorsa, bu 3 noktadan geçen parabol denkleminin bulunması;
f(x)=a0 + a1 x + a2 x2
kabul edilerek, katsayıları hesaplanır.
n=2 (xo,fo) , (x1,f1) ve (x2,f2) Örnek : x y 0 3 1 4 2 7
Noktalarından geçen polinomu Lagrange Enterpolasyon formülünü kullanarak bulunuz.
Örnek : x y 0 -0.5 1 0 2 0.5 3 1
f(x)=sin(πx) için yandaki noktalarından geçen 3. Dereceden polinomu Lagrange Enterpolasyon formülünü kullanarak bulunuz.
En Küçük Kareler Yöntemi
En küçük kareler yöntemi; herbir nokta için, uydurulan eğri ile gerçek fonksiyon arasındaki farkların karelerinin toplamının minimum yapılmasıdır. Gerçek fonksiyon f(x) ve uydurulan fonksiyon g(x) ise;
i 1
n
g xix f xif xg2
‘nin minimum yapılması ile g(x) fonksiyonunun katsayıları belirlenir.
Hatanın minimum yapılması, fark fonksiyonunun 1.türevinin sıfıra eşitlenmesi ile sağlanır. 1. dereceden polinom uydurulması; Bilinen n tane (xi, yi) noktası için en küçük kareler yöntemi kullanılarak g(x)=a0 + a1 x fonksiyonunun elde edilmesi;
e a0 ,a1ai 1
n
a0 a1 xi f xif xa2
Yukardaki e fonksiyonunun minimum olması için 1. türevi sıfıra eşitlenir;
e a0 ,a1
ai
eeee aaaaaaaaa
aaa0
aaa0
a0
a0
a0
aii
,
i
,,aaaaaaa1a110 , i 0,1
e a0 ,a1
a0
eeee aaaaaa
aaaaa
aaa0
aaa0
a0
a0
0
0
a00
,
00
,,aaaaaaa1a110 ve
e a0 ,a1
a1
eeee aaaaaaaaa
aaa0
aaa0
a0
a0
a1
0
a11
,
1
,,aaaaaaa1a110
e a0 ,a1
a0
eeee aaaaaa
aaaaa
aaa0
aaa0
a0
a0
0
0
a00
,
00
,,aaaaaaa1a112
i 1
n
a0 a1 x i f x if xa 0 n a0 a1i 1
n
x ii 1
n
f x if xx
e a0 ,a1
a1
eeee aaaaaaaaa
aaa0
aaa0
a0
a0
a0
a11
,
1
,,aaaaaaa1a112
i 1
n
a0 a1 x i f x if xa x i 0 a0i 1
n
x i a1i 1
n
x i2
i 1
n
x i f x if x
Matrisel olarak ifade edilirse;
y
x
Deneysel olarak elde edilmiş 8 veri yanda görülmektedir. 7. dereceden bir polinom uydurulursa, bu eğri bütün noktalardan geçer. Ancak verilerdeki değişkenlik nedeniyle, eğri salınımlı olacaktır.
Bu gibi durumlarda, her bir noktadan geçmeyen, verilerin genel eğilimine veya şekline uyan fonksiyon üretilir.
ni 1
n
x i
i 1
n
x ii 1
n
x i2
i
a0
a1
aa
aa
i 1
n
f x if xx
i 1
n
x i f x if xi
Örnek : Aşağıda verilen noktalar için 1. dereceden polinomu (g(x)=a0 + a1 x) en küçük kareler yöntemini kullanarak bulunuz. x y 0 1 1 4 2 7 4 13 7 12 2. dereceden polinom uydurulması; Bilinen n tane (xi, yi) noktası için en küçük kareler yöntemi kullanılarak g(x)=a0 + a1 x +a2 x2 fonksiyonunun elde edilmesi;
e a0 ,a1 ,a2ai 1
n
a0 a1 xi a2 xi2 f xif xa
2
Kısmi türevleri bulunup sıfıra eşitlenerek matrisel
olarak ifade edilirse;
ni 1
n
x ii 1
n
x i2
i 1
n
x ii 1
n
x i2
i 1
n
x i3
i 1
n
x i2
i 1
n
x i3
i 1
n
x i4
i
i
a0
a1
a2
aa
aaa
aa
i 1
n
f x if xx
i 1
n
x i f x if x
i 1
n
x i2 f x if x
i
i
Örnek : Aşağıda verilen noktalar için 2. dereceden polinomu (g(x)=a0 + a1 x +a2 x2 ) en küçük kareler yöntemini kullanarak bulunuz. x y 0 -6 2 0 3 6 5 24 8 66
Herhangibir yöntemle çözülerek a0 ve a1 katsayıları bulunarak;
g(x)=a0 + a1 x elde edilir.
Herhangibir yöntemle çözülerek a0 , a1 ve a2 katsayıları bulunarak;
g(x)=a0 + a1 x +a2 x2 elde edilir.
Üstel fonksiyon uydurulması; Bilinen n tane (xi, yi) noktası için en küçük kareler yöntemi kullanılarak g xx a0 ea1 x fonksiyonunun elde edilmesi için öncelikle bu fonksiyonun doğrusallaştırılması gerekir. Çünkü; ai ‘lere göre kısmi türev alınıp sıfıra eşitlendiğinde lineer denklem sistemi oluşmaz. Her iki tarafın ln ‘i alınırsa; g xx y a0 ea 1 x ln yy ln a0 ea 1 xa ln a0a ln ea 1 xe ln a0a a1 x
e a0 ,a1ai 1
n
ln a0a a1 xi ln yiylnll2
Yukardaki e fonksiyonunun minimum olması için 1. türevi sıfıra eşitlenir;
e a0 ,a1
ai
eeee aaaaaaaaa
aaa0
aaa0
a0
a0
a0
aii
,
i
,,aaaaaaa1a110 , i 0,1
e a0 ,a1
a0
eeee aaaaaa
aaaaa
aaa0
aaa0
a0
a0
0
0
a00
,
00
,,aaaaaaa1a110 ve
e a0 ,a1
a1
eeee aaaaaaaaa
aaa0
aaa0
a0
a0
a1
0
a11
,
1
,,aaaaaaa1a110
e a0 ,a1
a0
eeee aaaaaa
aaaaa
aaa0
aaa0
a0
a0
0
0
a00
,
00
,,aaaaaaa1a112
i 1
n
ln a0a a1 x i ln y iylnll 1a0
1a1a1
000 n ln a0a a1
i 1
n
x ii 1
n
ln yiy
e a0 ,a1
a1
eeee aaaaaaaaa
aaa0
aaa0
a0
a0
a1
0
a11
,
1
,,aaaaaaa1a112
i 1
n
ln a0a a1 x i ln y iylnll xi 0 ln a0ai 1
n
x i a1i 1
n
x i2
i 1
n
x i ln y iy
Matrisel olarak ifade edilirse;
ni 1
n
x i
i 1
n
x ii 1
n
x i2
i
ln a0a
a1
llnlllnlli 1
n
ln y iy
i 1
n
x i ln y iyi
Örnek : Aşağıda verilen noktalar için üstel fonksiyonu ( g xx a0 ea1 x ) en küçük kareler yöntemini kullanarak bulunuz. x y 0 3 1 8.155 2 22.167 3 60.257 5 445.239 8 8942.874
Herhangibir yöntemle çözülerek a0 ve a1 katsayıları bulunarak;
elde edilir.
7- Bayağı Diferansiyal Denklemlerin Sayısal Çözümü Fiziksel problemlerin ifade edilmesinde (modellenmesinde) ve çözülmesinde kullanılır. Yay-kütle sistemi, kondansatör-bobin içeren elektronik devreleri, kimyasal reoksiyonlar, bir kütlenin bir başka cismin etrafındaki hareketi problemleri diferansiyel denklem formundadır. Herhangibir değişkene (veya değişken grubuna) bağlı bilinmeyen bir fonksiyon (yada fonksiyonlar) ile bu fonksiyonun türevleri arasındaki bağıntıya adi diferansiyel denklem (yada sistem) denir. Tek denklem halinde en yüksek mertebeli türev, denklemin mertebesini belirler; denklem sistemi halinde ise en yüksek mertebeli denklemin mertebesi sistemin mertebesi olarak kabul edilir. Adi türevli bir çok diferansiyel denklemin analitik çözümleri olmasına rağmen, bunların çözümleri ya çok zor ya da imkansızdır. Bu yüzden, sayısal yöntemler geliştirilmiştir. Eğer diferansiyel eşitlik n. Mertebeden türeve sahip ise bu durumda bu eşitliğen. Mertebeden diferansiyel eşitlik denir. Diferansiyel denklemler katsayılarına , mertebe ve derecelerine göre sınıflandırıabilir. 1- Katsayılarına Göre Sınıflandırma
)(21 xfyKdxdyK
Formunda bir diferansiyel denklem için;
a- K1 ve K2 katsayıları sabit ise; (K1=15, K2=-4 , f(x)=100 sin( x) ) Sabit Katsayılı Diferansiyel Denklem veya Sabit katsayılı lineer diferansiyel denir.
)(100415 xSinydxdy
b- K1 ve K2 katsayıları x’ in fonksiyonu ise; (K1=5x, K2=-4x , f(x)=100 sin( x) ) Değişken Katsayılı Diferansiyel Denklem veya Değişken katsayılı lineer diferansiyel denir.
)(10045 xSinxydxdyx
c- K1 ve K2 katsayıları y’ in fonksiyonu ise; (K1=(3+5y), K2=-4 , f(x)=100 sin( x) ) Doğrusal olmayan (non-lineer) Diferansiyel Denklem denir.
)(1004)53( xSinydxdyy
2- Mertebe ve Derecelerine Göre Sınıflandırma Bir diferansiyel eşitik içerisinde m,n en büyük olmak kaydı ile ;
n
m
m
dxyd
İfadesinde m eşitliğin mertebesini ve n ise eşitliğin derecsini verir. m.mertebeden ve n.dereceden dif. Eşitlik denir.
Diferansiyel Denklemlerin Çözümü Elektrik devrelerinde, elektrik makinalarının dinamik analizinde ve elektromekanik sistemerin tasarımı, modellenmesi ve analizinde ve diğer tüm elektrik mühendisliği konuları kapamında diferansiyel denklemler kullanılmaktadır. Diferansiyel denklemlerin çözülmesi ile mevcut sistemin davranışı belirlenebilmektedir. Diferansiyel denklemlerin çözümü için 2 yaklaşımı mevcuttur. Bunlardan ilki analitik çözüm, diğeri ise sayısal çözümdür. Analitik çözüm Diferansiyel Denklemler dersinde ayrıntılı olarak işlenmiştir. Burada tekrar edilmeyecektir. Bu ders kapsamında sayısal çözüm yöntemlerine değinilecektir. 2 yaklaşım arasındaki fark öğrenci tarafından kolaylıkla anlaşılabilecektir.
),( yxfdxdy
formunda ki diferansiyel eşitliğe 1. Dereceden tek değişkenli adi diferansiyel denklem denir. En basit formda bir diff. Denklem şekildeki RL devresinden türetilebilir.
)()()( ti
LR
LtV
dttdi
1- EULER YÖNTEMİ Diferansiyel denklemlerin sayısal çözümü için geliştirilen yöntemlerin başında gelir. Basit olmasına
rağmen oldukça başarılı sonuçlar vermektedir. ),( yxfdxdy
olan bir diff. denklem için;
Eğer xi noktasında yi biliniyorsa ; ),( iixx
yxfdxdy
i
hyy
dxdy ii
xx i
1
Olarak yazılabilir.Her iki eşitlik ten ),(1ii
ii yxfh
yy olarak yazılır ve buradan yi+1 çözülür ise ;
),(1 iiii yxfhyy yazılabilir. Böylece (xi,yi) başlangıç noktası kullanılarak (xi+1,yi+1) noktası buluınmuış olur. Bu şekilde nokta nokta çözüm yapılarak diferansiyel eşitlik çözülmüş olur. Çözüme başlamak için muhakkak başlangıç noktası x0,y0 bilinmeli ve h adımı belirlenmelidir. Çözüm sonunda bir tablo oluşturulur. Oluşturulan tablo çizdirilerek çözüm değişimi görülebilir.
Not : Aynı ifade taylor serisi yardımı ile bulunabilir.
Diferansiyel denkleminin çözümü y=y(x) olsun,
x=x0 için y(x0)= y0 verildiğine göre olur, taylor serisinden ilk iki terim kullanılırsa;
x y x0 y0 x1 y1 x2 y2 x3 y3 . . . . xn yn
Burada sadece x3 için y3 bulmak gerekse bile sırası ile y1 ve y2 öncelikle bulunmalıdır. Dorudan y3 hesaplanamaz.
ÖRN-1: . xdxdy 2 y(0)=1 ise y(2)=? (h=0.5)
ÖRN-2: . xy
dxdy
y(4)=0.75 ise y(7)=? (h=1)
ÖRN -3 : Devreden i(t) akımının değişimini EULER yöntemi ile bulunuz. Analitik yöntem ile karşılaştırınız. t0=0 iken I0=0 ve h= 0.1 olarak alıp kullanınız.
2- Runge-Kutta Yöntemi ),( yxf
dxdy
formunda bir diff. eşitlğin çözümü Euler yöntemine benzer, tüm sayısal yöntenler gibi
bu yöntemde de bir başangıç koşulu ile durum değişkeninin adım adım hesabına dayanır. Her adımda xi değişkeni h kadar artırılıp xi+1 için yi+1 değeri hesaplanır. Runge-Kutta yönteminde yi+1 hesabı için birkaç adım işlem yapılır. Genel denklemi ;
),( yxfdxdy
olan bir diff. Denklem için;
34
23
12
1
43211
,2
,2
2,
2
,
261
),(
kyhxfhk
kyhxfhk
kyhxfhk
yxfhk
kkkkyy
iseyxfdxdy
ii
ii
ii
ii
ii
Burada dikkat edilmesi gereken nokta k1,k2,k3 ve k4 hesabı içinde değişkenlerin birine h’ li terim diğerine ise k’lı terimler eklenmektedir.
34
23
12
1
43211
,2
,2
2,
2
,
261
),(
kyhxfhk
kyhxfhk
kyhxfhk
yxfhk
kkkkyy
iseyxfdxdy
ii
ii
ii
ii
ii
ÖRN 4: . xy
dxdy
y(4)=0.75 ise y(7)=? (h=1)
ÖRN 5: Devreden i(t) akımının değişimini Runge-Kutta yöntemi ile bulunuz. Analitik yöntem ve EULER ile karşılaştırınız. t0=0 iken I0=0 ve h= 0.1 olarak alıp kullanınız.
3- ADAMS Yöntemi
),( yxfdxdy
formunda bir diff. eşitliğin çözümü için birden fazla başlangıç koşuluna gerek vardır.
Kullanılan nokta sayısı ile orantılı olarak 2 adımlı, 3 adımlı, 4 adımlı gibi farklı yapıları mevcuttur. Nokta sayısı arttıkça gerekli başlangıç değeri sayısı da artmaktadır.
),( yxfdxdy
olan bir diff. Denklem için;
2 adımlı
iiii ffhyy 112 32
ii ff ,1 gereklidir. Yani
),(),,( 11 iiii yxfyxf gereklidir.
İlk hesaplanacak değer
0112 32
ffhyy
10, ff
),(),,( 1100 yxfyxf
3 adımlı
iiiii fffhyy 5162312 1223
iii fff ,, 12 gereklidir. Yani ),(),,(),,( 1122 iiiiii yxfyxfyxf
İlk hesaplanacak değer
0112 32
ffhyy
210 ,, fff
),(),,(),,( 221100 yxfyxfyxf
ÖRN-6: . xy
dxdy
y(4)=0.75 ise y(7)=? (h=1)
ÖRN 7: Devreden i(t) akımının ve Vc(t) kondansatör geriliminin değişimini ; a- EULER b- RUNGE-KUTTA c- ADAMS Yöntemleri ile 2 adım bulunuz.
t0=0 iken I0=0 ve h= 0.1 olarak alıp kullanınız. Adams yönteminde 2. Başlangıç değerleri olarak EULER ile bulunan değerleri kullanınız.
ÖDEV : Devreden i(t) akımının değişimini tüm yöntemler ile 3 adım bulunuzRunge-Kutta yöntemi ile bulunuz. Analitik yöntem ile karşılaştırınız. t0=0 iken I0=0 ve h= 0.1 olarak alıp kullanınız. Adams yönteminde 2. Başlangıç değerleri olarak EULER ile bulunan değerleri kullanınız.