SAYISAL ÇÖZÜMLEME YÖNTEMLERİ 1- Lineer Cebir İşlemerinin

advertisement
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ı
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
5- Lineer Olayan Denklem Sistemlerinin
Çözümü
-Basit İterasyon Yöntemi
-Newton Yöntemi
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
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
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
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
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
a
det A
a b
c d
A
A
a
det A
A
detA
a d
b c
Sarrus Kuralı;
A
a111
a221
a331
a12
a22
a32
a13
a23
a33
A
a111
a221
a331
a12
a22
a32
a13
a23
a33
-
-
-
detA
A
a11
a221
a31
a12
a22
a32
+
+
?
+
a11 a22 a33 a12 a23 a31 a13 a21 a322
a13 a22 a31 a11 a23 a32 a12 a21 a333
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 :
A
1 0 1
1 1 4
1 2 1
detA
A
1
1
1
1
1
1
0 1
1 4
2 1
?
0
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 A
A
1
cofaktor
f
r A
adj
a
dj A
dj
detA
d
etA
tA
T
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 :
A
3
2
5
1
4
4
3
1
0
3 matrisinin tersini bulunuz.
2
2. yol ;
A
2
5
4
4
0
3
1 0 0
0 1 0
2 0 0 1
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
a
b
A
a11 jb11 a12 jb12
a21 jb21 a22 jb22
a1n jb1n
a2n jb2n
amm1 jbm1 am2 jbm2
amn jbmn
Reel A
Im A
a j b
Toplama ve çıkarma
C
e j f olmak üzere
C
A B
a c j b d
e j f
Çarpma
C
e j f olmak üzere
C
A
B
a j b
e
a c
f
a d b c
c j d
a c j a d j b c j2 b d
b d
Yazılan programlarda bu iki matris ayrı ayrı hesaplanır.
Örnek :
A
1 j 2 j5
3
2j
, B
1j
2 j
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
a
b
A
a11 jb11 a12 jb12
a21 jb21 a22 jb22
a1n jb1n
a2n jb2n
amm1 jbm1 am2 jbm2
amn jbmn
Reel A
Im A
a j b
a
b
AG
b
a
Örnek :
A
AG
1j 2 j
3
j
a
b
b
a
AG ?
, BG
c
d
d
c
e
, CG
f
f
e
Olmak üzere;
Toplama ve Çıkarma
CG
C
AG BG
e j f
a
b
b
c
a
d
d
c
a c
b d
b
d
a c
e
f
f
e
Çarpma
CG
C
AG BG
a
b
b
a
c
d
d
c
a c
b d
b c a d
e j f
Örnek :
A
1 j 2 j5
3
2j
1j
2 j
, B
C A B ?
Matris Tersi
a
b
AG
AG
g
h
b
a
1
için herhangibir yöntemle A G bulunur,
h
g
A
1j 1 j
1
j
A
1
1
g j h
Örnek :
A
1
?
a d
b c
b d a c
e
f
f
e
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.
x
Lineer Olmayan Denklemler:
1- Polinom Denklemleri,
an x an1 x n1 ....... a0
n
0
2- Trigonometrik Denklemler,
Sin(ax b) c
3- Logaritmik (üstel) Denklemler,
eax b c
4- Karışık Denklemler
an x n sin(ax b) ecxd
e
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
12345678-
Rasgele bir başlangıç değeri (x1), başlangıç adımı (h) ve hassasiyet (ε) seç
Başlangıç değerine başlangıç adımını ekleyerek köke yaklaş.
kök geçilmedi adım (2) ‘ye git.
f x f x h >0
kök geçildi
f x f xh d0
Bir önceki adıma git ve başlangıç adımını belirlediğin kritere (h/a) göre küçült
Adım yeterince küçükse (h<ε) adım (8) ‘e git
Adım (2) ‘ye git
Sonuçları yazdır ve çık.
ÖRNEK
f ( x) x 2 4 x 10 fonksiyonunun pozitif bir kökünü X1=0,h=1 ve H=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
f ( x)
x 2 10Sin( x) 3
fonksiyonunun bir kökünü H=0.001 alarak program ile
bulunuz.
SORU_2
f ( x)
bulunuz.
x 5 2 x 4 3x 3 x 5 fonksiyonunun tüm kökleri ni H=0.001 alarak program ile
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
x2 x1
2
x2 x1
2
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.
x3
x1 x2
2
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
x1 x2
x3
2
3- f(x1) ve f(x3) hesaplanır.
4- f x1 f x 3 > 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 x 3 ve x 2 x 2
seçilir, adım 6 ya git,
5- f x1 f x 3 d 0 kök (x1 ve x3) aralığındadır, (x3 ve x2) aralığı atılır, yeni aralık;
x1 x1 ve x 2 x 3 seçilir.
6- ABS(x1 - x2 )>H adım 2 ye git
7- Sonuçları yazdır ve çık.
ÖRNEK
f ( x) x 3 4 x 2 10 fonksiyonunun pozitif bir kökünü H=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
f ( x)
x 2 10Sin( x) 3 fonksiyonunun bir kökünü H=0.001 alarak program ile bulunuz.
SORU_2
f ( x)
x 5 2 x 4 3x 3 x 5 fonksiyonunun tüm kökleri ni H=0.001 alarak program ile bulunuz.
AKIŞ ŞEMASI
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;
#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();
}
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)
y y1 x x1
y f x1
x x1
y1 y 2 x1 x 2
f x1 f x 2
x1 x 2
x x 3 y 0 oldugundan;
x f
f x1 f x 2
0
x 3 x1 f x1
x3 1
x1 x 2
f
ise 2 noktası bilinen doğru denklemi;
f x1 f x 2
y
x x1 f x1
x1 x 2
x2
x2
x 2 f x1
f x1
ALGORİTMA
1- Rasgele bir başlangıç aralığı belirlenir. (x1 ve x2 )
2- x3 hesaplanır;
x3
x1 f ( x2 ) x2 f ( x1 )
f ( x2 ) f ( x1 )
3- f(x1) ve f(x3) hesaplanır.
4- f x1 f x 3 > 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 x 3 ve x 2 x 2
seçilir, adım 6 ya git,
5- f x1 f x 3 d 0 kök (x1 ve x3) aralığındadır, (x3 ve x2) aralığı atılır, yeni aralık;
x1 x1 ve x 2 x 3 seçilir.
6- ABS(x1 - x2 )>H adım 2 ye git
7- Sonuçları yazdır ve çık.
ÖRNEK
f ( x)
Aralık belirleme;
x
f(x)
3
-19
5
15
x 3 4 x 2 10 fonksiyonunun pozitif bir kökünü H=0.1 alarak bulunuz.
f(x)
<0
>0
3-5 aralığında kök var
SORU_1
f ( x)
x 2 10Sin( x) 3 fonksiyonunun bir kökünü H=0.001 alarak program ile bulunuz.
SORU_2
f ( x)
x 5 2 x 4 3x 3 x 5 fonksiyonunun tüm kökleri ni H=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.
2.teğetin eğimi
1.teğetin eğimi
tan D 1
f
x1 x 0
f x0
f x0
x1
f x0 0
x 0 x1
tan D 2
x 2 x1
f
x2
f x1 0
x1 x 2
f x1
f x1
xi1
Genel Kural
(Newton Raphson Fomülü)
Ÿ
xi 'x xi1
f ( xi )
f ' ( xi )
f ( xi )
f ' ( xi )
xi 'x
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:
f ( x)
x 3 7 x 2 5x 20
X0 =8 alarak Newton rapson yöntemi ile kök
bulunuz. Kökler: (1.8162, -7.3097 , -1.5065)
x
ÖRN:
f ( x)
x 3 7 x 2 5x 20
x
ÖRN:
f(x)
f ( x)
x
f(x)
x3 5
x
f(x)
x0=1 (xkök=1.709976)
f(x)
x
f(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- x i 1 x i
f xi
değerini hesapla,
f xi
11- abs f xx 1 >H
xi = xi+1 atamasını yap ve adım 2 ‘ye atla,
12- Sonuçları yazdır ve çık.
AKIŞ ŞEMASI
c# kodları
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;}
x1 x1
f x1
f x1
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ü)
xi xi1
f ( xi )
f ' ( xi )
f ' ( x0 ) ?
Herhangi bir xi noktasında fonksiyonun türevi;
ACD üçgeninden
f(xi+h)
y
f ' ( xi ) tan D1
AC
DC
BC
h
B
A
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.
D1
f(xi)
D
α2
C
x
xi +h
xi
BCD üçgeninden
ÖRNEK
tan D1
f ' ( xi ) # tan D 2
BC
DC
BC
h
9
xi 1
xi f ( xi )
f ( xi )
# xi f ( xi h) f ( xi )
f ' ( xi )
h
f ( xi ) ˜ h
xi f ( xi h) f ( xi )
9
f ' (2)
9
f ' (2)
f ( x)
x 2 10Sin( x) 3
2 x o f ' (2)
4
f ( x h) f ( x )
h
f (2 0.1) f (2)
0.1
2.12 2 2
0.1
Sayısal Olarak;h=0.01;
9
ÖDEV
f ' ( x)
Sayısal Olarak;h=0.1;
Newton formülü içine yazılırsa;
xi 1
x 2 , f ' (2) ?
Analitik olarak;
f ( xi h) f ( xi )
h
f ' ( xi )
f ( x)
f ' (2)
f (2 0.01) f (2)
0.01
4.01
fonksiyonunun bir kökünü H=0.001 alarak program ile bulunuz.
4.1
SORU_1
f ( x)
ÖRN:
x 5 2 x 4 3x 3 x 5
f ( x)
x
x3 5
fonksiyonunun tüm kökleri ni H=0.001 alarak program ile bulunuz.
x0=1 ve h=0.01 (xkök=1.709976)
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- x i 1 x i
f xi
değerini hesapla,
f xi
4- abs f xx 1 >H
xi = xi+1 atamasını yap ve 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);
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; }
x1 x1
f x1
f x1
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 x
çalışalım;
i
xi
0
0.5
x10
1
51.65
1 fonksiyonun x0=0.5 civarındaki kökünü NR yöntemi ile bulmaya
2
46.485
3
41.8365
4
37.6528
5
33.8875
.
.
.
.
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.
∞
1.00
3.
NR yöntemi, yerel max ve min
civarında salınma özelliği
gösterir.
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ökler ekseni kesmez.
Ç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.
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;
ÖRN
f ( x)
f ' ( x)
G ( x)
G ( x)
f(x) = 0 ÆG(x) = 0 ‘dır.
ÖRN
Olarak tanımlanır.
G(x)=0 yapacak x=a değeri f(x) ‘in de
köküdür.
x a o f ( a ) 0 Ÿ G( a ) 0
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.
G ( x)
f ( x)
f ( x)
f ' ( x)
x3 2 x 2 5
x3 2 x 2 5
3x 2 4 x
f ( x) ( x 2)3
f ( x)
f '( x)
( x 2)3
3 ˜ ( x 2)2
1
˜ ( x 2)
3
G(x) Fonksiyonuna Newton Raphson Formülünün Uygulanması
G x
G xi
G xi
f x
ve x i 1 x i
f x
2
G
x
f
d f x
ddxx f x
x
f
2
f
f xi
f xi
xi 1 xi
f xi
f
xi
f xi
2
f xi
f xi f
xi
2
f
xi
f
x
Algoritma, ve program N-R ile aynıdır.
2
xi 1 xi
x f x
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.
xi
f xi
ÖRN
f x
x 3 x 1 x 1 x 3 5x 2 7x
kökünü NR ve GNR hesaplayınız.
3 fonksiyonun x0=0 , x0=4 civarındaki
Not: Başlangıç değeri kompleks sayı girilirse kompleks kökler de bulunabilir.
ÖRN
f x
x2 x 1
x=i noktası civarındaki kökünü bulunuz.
x11,2
1
2
3i
2
2.7- Basit iterasyon Yöntemi
Bu yöntemde f(x)=0 denklemi x=F(x) formuna Yakınsama koşulu;
[a , b] deki bütün x’ ler için (x  [a, b]) için
getirilir. Eğer yakınsama koşulunu sağlıyorsa;
x i 1 F x i formülü ile iterasyona başlanır.
ȁ‫ݔ‬௜ି ‫ݔ‬௜ାଵ ȁ ൏ ߝ oluncaya kadar işleme devam et.
ÖRN:
ÖDEV:
f ( x)
F ' ( x) ൏1 sağlanmalıdır.
x 2 3x 1 denkleminin bir kökünü [0, 1 ] aralığında basit iterasyon yöntemi ile 3
adımda bulunuz.
f ( x)
x 2 2x 2 0
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 x1 >H
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 x 2 a1n x n b1
a21 x1 a22 x 2 a2n x n b2
an1 x1 an2 x 2 ann x n
bn
Matrisel formda ifade edilirse;
a111 a12
a221 a22
a1n
a2n
x1
x2
b1
b2
ann1 an2
ann
xn
bn
Burada;
A : Katsayılar matrisi,
B : Sabitler matrisi,
X : Bilinmeyenler matrisidir.
[A]
[X] =[B]
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)
3.1. Doğrudan Yöntemler
Ters Matris Yöntemi
A
R
X
A
B
1
B
1
A
X
A
X
A
1
B
X
A
1
B
R
Örnek :
5x1 4x 2 14
2x1 3x 2 7
denklem sisteminin çözüm kümesini bulunuz.
Cramer Yöntemi
Yukarda verilen denklem sisteminin cramer yöntemi ile çözümü;
|A| '
'1
'2
'n
a111 a12
a221 a22
a1n
a2n
ann1 an2
ann
b1 a12
b2 a22
a1n
a2n
bn an2
ann
a111 b1
a221 b2
a1n
a2n
ann1 bn
ann
a111 a12
a221 a22
b1
b2
ann1 an2
bn
Not : Bu iki yöntem denklem sayısı 3 ve 3 ‘ten az olan sistemlere uygundur.
Örnek :
5x1 4x 2 14
2x1 3x 2 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.
a111 a12 a13 | b1
a221 a22 a23 | b2
a331 a32 a33 | b3
a111 a12 a1n | b1
0 a22 a23 | b2
0 0 a33 | b3
2. Geriye doğru çözüm kümesinin bulunması;
a111 a12 a1n
0 a22 a23
0
0 a33
x1
x2
x3
b1
b2
b3
Örnek :
x1 2x 2 x 3 8
2x1 x 2 x 3 3
denklem sisteminin çözüm kümesini bulunuz.
3x1 3x 2 2x 3 3
#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];
void backsubs(float a[][10],float b[], int n)
for(q=i+1;q<n;q++)
{
{
int i=0,j=0;
temp5=a[q][i];
for(i=n-1;i>=0;i--)
for(j=0;j<n;j++)
{
{
for(j=n-1;j>i;j--)
a[q][j]=a[q][j]-((temp5/temp4)*a[i][j]);
{
}
b[i]=b[i]-a[i][j]*b[j];
b[q]=b[q]-(temp5/temp4*b[i]);
}
}
b[i]=b[i]/a[i][i];
}
printf("x%d = %f\n",i+1,b[i]);
backsubs(a,b,n);
}
return 0;
}
}
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.
a111 0
0 a22
0
0
0
0
a33
x1
x2
x3
b1
b2
b3
Ayrıca, bütün satırlar pivot elemanlara bölünerek normalize edilebilir.
Örnek :
x1 2x 2 x 3 8
2x1 x 2 x 3 3
denklem sisteminin çözüm kümesini bulunuz.
3x1 3x 2 2x 3 3
3.2. İteratif Yöntemler
Gauss-Jakobi Yöntemi
n bilinmeyenli denklem sistemi,
a11 x1 a12 x 2 a1n x n b1
a21 x1 a22 x 2 a2n x n b2
an1 x1 an2 x 2 ann x n
bn
Şeklinde verilmiş olsun. Bu sistemş Gauss-Jakobi yöntemi ile çözebilmek için aşağıdaki
forma dönüştürülür.
1
1
a11 x1 a12 x 2 a1n x n
b
a1111 1
a1111
1
1
a21 x1 a22 x 2 a2n x n
b2
a22
a22
22
22
1
bn
ann
nn
1
an1 x1 an2 x 2 ann x n
ann
nn
Dönüştürülen sistemin çözüm kümesine yakınsayabilmesi için, yakınsama koşulunu
sağlaması gerekir.
|aii | t
n
|aij |
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.
j 1
jzi
İterasyon için;
x1k 1
b1
a1111
a1122 k
a
x 2 11nn x nk
a1111
a1111
x 2k 1
b2
a22
22
a2211 k
a2n k
x 2n
xn
a2222 1
a22
22
x nk 1
bn
ann
nn
ann11 k
ann 1 k
x1 nn
x
annnn
annnn n
Genel iterasyon formulu;
1
Matrisel formda yazılacak olursa;
x1
x2
k1
b1
a1111
0
a1122
a1111
a11nn
a1111
b2
a22
22
a2211
a2222
0
a2n
2n
a22
22
bn
ann
nn
ann11
ann
nn
an2
n2
ann
nn
xn
x1
x2
xn
0
k
[X]k+1 = [B’] - [A’] [X]k
Örnek :
5x1 2x 2 x 3 4
x1 4x 2 2x 3 3
x1 2x 2 4x 3 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 xik+1 sonuçları, j=i+1,...n olmak üzere xjk+1
sonuçlarının bulunmasında kullanılır.
x1k 1
x 2k 1
x nk 1
b1
a1111
b2
a22
22
a1122 k a1133 k
x
x
a1111 2 a1111 3
a2211 k 1 a23
23
x1
x 3k
a22
a22
22
22
bn
ann
nn
ann11 k 1
x1
ann
nn
a11nn k
xn
a1111
a2n
2n
x nk
a22
22
an2
n2
x 2k 1
ann
nn
ann
nn 1
xk1
annnn n 1
Genel iterasyon formulu;
x ik 1
bi
aiiii
i
1
j
1
aiijj k 1
x
aiiii j
n
j
i 1
aijij k
x
aiiii j
İ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 2x 2 x 3 4
x1 4x 2 2x 3 3
x1 2x 2 4x 3 17
Denklem sisteminin çözüm kümesini (0,0,0) başlangıç
değerlerini kullanarak bulunuz.
Örnek :
5x 6y 4z 7
3x 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
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.
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 t
x
t
a t
dvv t
d
dtt
d
dx t
d
dtt
2
d x t
dtt
d
2
Bobin ve kondansatör uç denklemleri;
d iL
dt
dt
dV
d
VC
C
dt
dt
VL L
iC
Açısal hızın zamana göre türevi konumdur;
Tr
dZr
dZ
dt
dt
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 f xi 1
f
f
xi
1!!
1
xi 1
xi 1
f
xi
2!!
2
xi 1
xi
n
xi
n!!
n
xi 1
xi
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.
n
f i1
f
f
f
f
2
3
n
f i i h i h i h i h Rn
1!!
1
2!!
2
3!!
3
n!!
n
2
f
xi
3!!
3
xi 1
xi 3
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) = ?
n
f i1
f
f
f
f
2
3
n
f i i h i h i h i h Rn
1!!
1
2!!
2
3!!
3
n!!
n
n
xi 1 , f i 1
xi 2 , f i 2
f xi h
f i 1 f xi 1
f i 2 f xi 2
f
f
f
f
2
3
n
f i i h i h i h i h Rn
1!!
1
2!!
2
3!!
3
n!!
n
f
fi i
1!!
1
f x i 2h
h
n
f
f
f
2
3
n
2h i 2h
2
2 i 2h
2 i 2h
2 Rn
2!!
2
3!!
3
n!!
n
xi noktasındaki 1. Türevin hesaplanması için 2. Türevli terimlere kadar olan kısımların
alınmasıyla;
2
h
f
2
xi 1 , f i 1
f i 1
f i hf i xi 2 , f i 2
f i 2
f i 2h f i 2h f
i
2
i
1. Denklem (-4) ile çarpıp 2. Denklemle toplanırsa;
+___________________
f i2
4 f i1
3fi
2h f
i
f
i
1
2
h
2h
3fi
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) = ?
n
f i1
fi
f
fi
f
f
2
3
n
h i h i h i h Rn
1!!
1
2!!
2
3!!
3
n!!
n
xi
1
, fi
1
fi
1
f xi
1
f xi
h
xi
2
, fi
2
fi
2
f xi
2
f xi
2h
h
xi
1, fi
xi
2
, fi
fi
f i
1!!
1
fi
h f i
1!!
1
f i
2!!
2
2h f i
2!!
2
h
2
2h
2
2
1
fi
2
fi
h
f
2
1
fi
hf i 2
fi
2h f i 2h f
i
2
i
1. Denklem (-4) ile çarpıp 2. Denklemle toplanırsa;
+___________________
fi
2
4fi
1
3 f i 2h f
i
f
i
1
f
2h i
2h
2
4 fi
1
3fi
2 noktalı ileri fark Taylor Serileri ile 2. Türev hesabı
2
xi 1 , f i 1
f i 1
h
f i hf i f
2
xi 2 , f i 2
f i 2
f i 2h f i 2h f
i
1. Denklem (-2) ile çarpıp 2. Denklemle toplanırsa;
2
i
+___________________
f i 2
2 f i 1
fih f
2
i
f
i
1
f i2
2
h
2 f i1 f i
2 noktalı geri fark Taylor Serileri ile 2. Türev hesabı
2
xi
1, fi
xi
2
, fi
1
fi
2
fi
h
f
2
1
fi
hf i 2
fi
2h f i 2h f
i
1. Denklem (-2) ile çarpıp 2. Denklemle toplanırsa;
2
i
+___________________
fi
2
2fi
fih f
2
1
i
f
i
1
fi
2
h
2
2fi
1
fi
Ö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) = ?
n
fi
f i1
xi 1 , f i 1
f
fi
f
f
2
3
n
h i h i h i h Rn
1!!
1
2!!
2
3!!
3
n!!
n
f i 1
2
f
f
2
fi i h i h
1!!
1
2!!
2
xi 2 , f i 2
f i2
fi
f i
1!!
1
2 2h
f i
2
2h
2!!
2
xi 3 , f i 3
f i3
fi
f i
1!!
1
3 3h
f i
3
3h
2!!
2
f i 1
2
2
h
f i hf i f
2
f i2
f i 2h f i 2h f
f i3
f i 3h f i 2
18 (1) – 9 (2) + 2 (3) işlemi uygulanırsa;
f
i
1
6h
6h
11 f i 18 f i 1
(1)
i
9 f i2 2 f i3
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.
(2)
i
9 2
h f
2
i
(3)
Ö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
100*abs(1-t2ileri));
fprintf('2 noktalı geri Taylor serisi ile 1.turev: %.5f
100*abs(1-t2geri));
hata=%%%.5f\n',t2ileri,
fprintf('3 noktalı ileri Taylor serisi ile 1.turev: %.5f
100*abs(1-t3ileri));
hata=%%%.5f\n\n',t3ileri,
fprintf('2 noktalı ileri Taylor serisi ile 2.turev: %.5f
100*abs(1-t2ileri2));
fprintf('2 noktalı geri Taylor serisi ile 2.turev: %.5f
100*abs(1-t2geri2));
hata=%%%.5f\n',t2ileri2,
hata=%%%.5f\n\n',t2geri,
hata=%%%.5f\n',t2geri2,
4- SAYISAL İNTEGRAL
c ϵ R olmak üzere F(x) fonksiyonunun türevi f(x) ise ( F’(x) = f(x) );
f x dx
F x 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;
b
f x dx
b
F x |a
F b
F a değerine, f(x) fonksiyonunun [a,b] aralığında belirli
a
integrali denir.
Geometrik olarak belirli integral, belirtilen aralıkta, fonksiyon eğrisi ile koordinat ekseni
arasındaki kalan alandır.
y
b
a
x
f(x)
İntegrali kolaylıkla hesaplanabilen eğriler;
Diktörtgen alanı;
Yamuk alanı (f(x)=x/2);
İntegral Uygulamaları ;
1. Eğri altında kalan alanı bulmak,
2. İki eğri arasında kalan alanı bulmak,
y
f(x)
g(x)
a
b
x
3. Bir eğrinin x veya y ekseni etrafında 360o döndürülmesi ile oluşan kapalı bölgenin hacmini
bulmak,
y
y
f(x)
b
f(x)
a
a
x
Elektrik Mühendisliğinde kullanılan bazı integral uygulamaları;
1. Ortalama değer hesabı;
y
fort
x
T
2. Etkin değer hesabı;
f
2
et
1
T
T
f
2
x dx
0
3. Fourier serilerinin hesabında.
b
x
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
a
n
‘dir. i=0,1,2,..,n-1 için xi+1=xi+h
y
f(x)
f(x 2)
f(x 1)
f(x 0)
a=x 0
I3
I2
I1
x1
x
b=x 3
x2
1.b) Sağ toplamlar
[a,b] aralığı n parçaya bölünür. Adım h
b
a
n
‘dir. i=1,2,..,n için xi+1=xi+h
y
f(x)
f(x 3)
f(x 2)
I3
f(x 1)
I2
I1
a=x 0
x1
x2
b=x 3
x
1.c) Orta toplamlar
[a,b] aralığı n parçaya bölünür. Adım h
b
a
n
‘dir. i=0,1,..,n-1 için xi+1=xi+h
y
f(x)
f(x 2 +h/2)
f(x 1 +h/2)
f(x 0 +h/2)
I1
a=x 0
x1
x 0 +h/2
I3
I2
b=x 3
x2
x 1 +h/2
x 2 +h/2
x
Örnek :
7
3 x 2 dx integralini dikdörtgenler yöntemini kullanarak bulunuz. (n=3,5,10)
1
7
Analitik
Alan
3 x 2 dx
I
1
7
x 3 |1
7
3
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.
Algoritma;
y
[a,b] aralığı n eşit parçaya bölünür.
f(x 5)
f(x 6)
f(x)
f(x 4)
f(x 1)
f(x 0)
f(x 2)
Yamuklar elde edilir.
f(x 3)
I1 I2
a=x 0
x1
I3
I4
x2
x3
I5
x4
Herbir yamuğun alanı hesaplanır.
I6
x5
b=x 6
x
Alanlar toplaranak yaklaşık integral sonucu bulunur.
b
I
I1 I 2 I 3 I 4 I 5 I 6
f x dx
a
I1
I2
I3
I4
I5
I6
h
2
h
2
h
2
h
2
h
2
h
2
f x 0 f x1
f x1 f x 2
f x2 f x3
f x3 f x4
f x4 f x5
f x5 f x6
b
h
2
f x dx
I
a
f x 0 f x1 f x1 f x 2 f x 2 f x 3 f x 3 f x 4 f x 4 f x 5 f x 5 f x 6
b
Genel hali
f x dx
I
a
h
2
f x0 f xn 2
n
1
i
1
f xi
Örnek :
7
3 x 2 dx integralini yamuk yöntemini kullanarak bulunuz. (n=3,5,10)
1
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 :
S
3
sin x dx integralini yamuk yöntemini kullanarak bulunuz. (n=5,10)
0
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;
y
f(x)
f(x 1)
p(x)=ax+b
f(x 0)
x
x1
x0
Eğer uydurulan polinom 2. dereceden ise, yöntem simpson(polinomlar) yöntemi olur;
y
f(x)
f(x 2)
p(x)=ax 2+bx+c
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.
f(x 1)
f(x 0)
x0
x1
x
x2
Langrange enterpolasyon formulune göre (Enterpolasyon konusu ayrıca incelenecektir)
x 0 , x1 , x 2 noktalarından geçen parabol denklemi;
P x
x
x0
x1
x1
x x2
x
f x0 x0 x2
x1
x0
x0
x x2
x
f x1 x1 x 2
x2
Bu fonksiyonun [x0 , x2] sınırlarına göre belirli integrali ise;
x2
P x dx
x0
h
3
f x 0 4 f x1 f x 2
x0
x0
x x1
f x2
x 2 x1
y
Algoritma;
f(x 5)
f(x 6)
f(x)
[a,b] aralığı n eşit parçaya bölünür.
f(x 4)
f(x 1)
f(x 0)
f(x 2)
3 noktadan bir 2.dereceden bir eğri geçirilir. Böylece n/2
tane alt bölge oluşur.
f(x 3)
I1
I2
I3
Herbir bölgenin alanı hesaplanır.
a=x 0
x1
x2
x3
x4
x5
x
Alanlar toplanarak yaklaşık integral sonucu bulunur.
b=x 6
b
I
I1 I 2 I 3
f x dx
a
x 0 , x1 , x 2 bölgesi;
h
f x 0 4 f x1 f x 2
I1
3
x 2 , x 3 , x 4 bölgesi;
h
f x2 4 f x3 f x4
I2
3
x 4 , x 5 , x 6 bölgesi;
h
f x4 4 f x5 f x6
I3
3
I
h
3
f x0 f x6 2
f x2 f x4
b
Genel hali
I
f x dx
a
h
3
4
f x1 f x 3 f x 5
f x0 f xn 4
n
1
f xi 2
i 1
i:tek
i:
Simpson yöntemi (n ε çift sayılar) için kullanılabilir.
n
1
f xi
j 2
j:
j:cift
Örnek :
S
3
sin x dx integralini simpson yöntemini kullanarak bulunuz. (n=4)
0
Örnek :
1
1
dx integralini trapez ve simpson yöntemini kullanarak bulunuz. (n=4)
1 x2
0
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.
x2 x y 2
llineer degill
li
x4 y 5
lineer
li
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;
Hatırlatma : f(x) fonksiyonun xi noktasındaki taylor serisi;
wff x 0 , y 0
wff x 0 , y 0
'y w
'y
'x w
'x
1!
wxx
w
1!
wy
wy
1!
1!
f x 0 'x , y 0 'yy
f x0 , y0 g x 0 'x , y 0 'yy
g x0 , y0
g x0 , y0
wg
wg
'y w
'y
'xx w
'
g x0 , y0 1!!
1
wxx
w
1
wy
wy
1!!
'x
'x
2!!
2
'x
'x
2!!
2
2
w f x0 , y0
wxx 2
w
2
2
'yy
'
2
w g x0 , y0
w y2
2
2!!
2
2
'yy
'
w g x0 , y0
2!!
2
wxx 2
w
w f x0 , y0
w y2
2
2
Taylor serisinde ilk 2 terim alınır ve (x1 , y1) noktasında da fonksiyonlar sıfıra eşitse;
0 f x0 , y0 wff x 0 , y 0
wff x 0 , y 0
'y w
'y
'x w
'x
1
wxx
w
1
wy
wy
1!!
1!!
0 g x0 , y0 wg
g x0 , y0
wg
g x0 , y0
'y
'y w
'x w
'x
1!!
1!
wxx
w
1
wy
wy
1!
Δx ve Δy bilinmeyenler olarak seçilip sistem matrisel olarak yazılırsa;
wf x0 , y0
wf
wwxx
wf x0 , y0
wf
wwyy
'xx
'
f x0 , y0
wwg
g x0 , y0
wwxx
wwg
g x0 , y0
wy
wy
'
'y
g x0 , y0
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,
x1 = x0 + Δx
y1 = y0 + Δy
noktaları bulunur. Bu işleme |Δx|< ε ve |Δy|< ε ‘a kadar devam edilir.
İterasyon için sistem;
wf xk , yk
wf
wwxx
wf xk , yk
wf
wy
wy
'xx
'
f xk , yk
wwg
g xk , yk
wwxx
wwg
g xk , yk
wwyy
'y
'
g xk , yk
Örnek : Aşağıda verilen denklem sistemini x0 = 0.6 ve y0 = 1.5 başlangıç değerlerini
kullanarak çözünüz.
x2 y 3
x 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 9
ex 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 x 0 'x , y 0 'y , z 0 'zz
f x 0 , y 0 ,z 0 'y wwff x 0 , y 0 ,,zz 0
'y
'xx wwff x 0 , y 0 ,,zz 0
'
'z wwff x 0 , y 0 ,,zz 0
'z
1!
wx
wx
1
wy
wy
1
wwzz
1!
1!!
1!!
g x 0 'x , y 0 'y, z 0 'zz
g x 0 , y 0 ,z 0 g x 0 , y 0 ,,zz 0
g x 0 , y 0 ,,zz 0 'z
g x 0 , y 0 ,,zz 0
'y wwg
'y
'x wwg
'z wwg
'x
1!
wwxx
1
wwyy
1!
wwzz
1!
1!!
1!
v x 0 'x , y 0 'y, z 0 'zz
v x 0 , y 0 ,z 0 'y wwvv x 0 , y 0 ,,zz 0 'z
'y
'x
'x wwvv x 0 , y 0 ,,zz 0
'z wwvv x 0 , y 0 ,,zz 0
1!
1!!
1!
1!
wwxx
1
wwyy
1!
wwzz
Taylor serisinde ilk 2 terim alınır ve (x1 , y1 , z1) noktasında da fonksiyonlar sıfıra eşitse;
0
f x 0 , y 0 ,z 0 'y wwff x 0 , y 0 ,,zz 0
'y
'x wwff x 0 , y 0 ,,zz 0
'z wwff x 0 , y 0 ,,zz 0
'x
'z
1!
wx
wx
1
wy
wy
1
wwzz
1!
1!!
1!!
0
g x 0 , y 0 ,z 0 g x 0 , y 0 ,,zz 0
g x 0 , y 0 ,,zz 0 'z
g x 0 , y 0 ,,zz 0
'y wwg
'y
'x wwg
'z wwg
'x
1!
wwxx
1
wwyy
1
wwzz
1!
1!!
1!!
0
v x 0 , y 0 ,z 0 'y wwvv x 0 , y 0 ,,zz 0 'z
'y
'x wwvv x 0 , y 0 ,,zz 0
'z wwvv x 0 , y 0 ,,zz 0
'x
1!
1!!
1!!
1!
wwxx
1
wwyy
1
wwzz
Δx, Δy ve Δz bilinmeyenler olarak seçilip sistem matrisel olarak yazılırsa;
wwff x 0 , y 0 ,,zz 0
wwxx
wwgg x 0 , y 0 ,,zz 0
wwxx
wwvv x 0 , y 0 ,,zz 0
wwxx
w f x 0 , y 0 ,,zz 0
wf
wwyy
wwgg x 0 , y 0 ,,zz 0
wy
wy
wwvv x 0 , y 0 ,,zz 0
wy
wy
w f x 0 , y 0 ,,zz 0
wf
wwzz
wwgg x 0 , y 0 ,,zz 0
wz
wz
wwvv x 0 , y 0 ,,zz 0 ,,zz 0
wwzz
'x
f x 0 , y 0 ,z 0
'yy
'
g x 0 , y 0 ,z 0
'z
'
v x 0 , y 0 ,z 0
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.
xy2 z 5
x y y2 z 3
x 2 y 2 2 z 3 17
Örnek : Aşağıda verilen denklem sistemini x10 = 0.1 , x20 = 0.1 ve x30 = 0.19 başlangıç
değerlerini kullanarak çözünüz.
3x1
x12
e
1
0
2
cos x 2 x 3
2
81 x 2 0.1
1 sin x 3 1.06 0
x1 x2
20 x 3 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 , x 2 , , x n
0
f 2 x1 , x 2 , , x n
0
f n x1 , x 2 , , x n
0
formatında verilen denklem sistemi, alttaki formata dönüştürülür.
x1 g1 x1 , x 2 , , x n
x 2 g 2 x1 , x 2 , , x n
0
0
xn
0
g n x1 , x 2 , , x n
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;
wwg
g1
wwg
g2
wg
wgn
d1
wwxx1
wwxx1
wwxx1
wwg
g1
wwg
g2
wg
wgn
d1
wwxx 2
wwxx 2
wwxx 2
wwg
g1
wwg
g2
wwg
gn
d1
wwxx n
wwxx n
wwxx n
Örnek : Aşağıda verilen denklem sistemini basit iterasyon yöntemi kullanarak çözünüz.
(x10 = 3.48 , x20 = 2.26)
x1 3 log10 x1
2 x12
x1 x 2
x 22 0
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;
a0 a1 x a2 x 2 an x n
f x
(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
y
x
x
Doğrusal Enterpolasyon
y
(xo,fo) ve (x1,f1) biliniyorsa, bu 2 noktadan
geçen doğrunun denkleminin bulunması
doğrusal enterpolasyondur.
f1
f(x)
Bu 2 noktadan geçen doğrunun denklemi;
f(x)=a0 + a1 x
kabul edilerek, katsayıları hesaplanır.
f0
x
x0
x0 , f
f
0
0
x1
a 0 a1 x 0
bu denklem sistemi çözülerek katsayılar bulunur.
f 1 a 0 a1 x1
x1 , f 1
1 x0
a0
f
1 x1
a1
f1
0
Cramer yöntemi ile;
f
a0
a1
0
x0
f1
x1
1
x0
1
x1
1
f
1
f1
f
0
x1
x1
f 1 x0
x0
0
1 x0
f1
x1
f0
x0
1 x1
f x
L 0 f 0 L1 f 1
f
f x
L0
x1
x1
şeklinde düzenlenirse;
f 1 x0 f 1 x
x1 x 0
x
x x0
, L1
x0
x1 x 0
0
x1
f
0
x
x x0
x1 x
f 0
f
x1 x 0
x1 x 0 1
Polinomal Enterpolasyon (Lagrange Enterpolasyonu)
y
f2
(xo,fo) , (x1,f1) ve (x2,f2) biliniyorsa, bu 3
noktadan geçen parabol denkleminin
bulunması;
f(x)
f(x)=a0 + a1 x + a2 x2
f1
kabul edilerek, katsayıları hesaplanır.
f0
x
x0 , f
0
x0
x1
f
a 0 a1 x 0 a 2 x 20
0
x2
x1 , f 1
f 1 a 0 a1 x1 a 2 x12
x2 , f
f
2
bu denklem sistemi çözülerek katsayılar bulunur.
a 0 a1 x 2 a 2 x 22
2
Denklem sistemi çözülüp f x
x
L0
x0
x1
x
x1
x0
L0 f 0 L1 f 1 L2 f
x
x2
, L1
x2
x1
x0
x
x0
x1
x2
2
katsayıları bulunursa;
, L2
x2
x
x0
x
x2
x0
x2
x1
x1
Bu katsayılara Lagrange polinomları denir.
Lagrange katsayıları n dereceli polinom için yazılırsa;
x
Lk
xk
x0
x
x0
xk
x1
x
xk
1
x
x1
xk
xk
1
xk
xk 1
x
xk 1
xn
xk
n
xn
j
0
jzk
Fonksiyon ise;
n
f x
Lk f
k
n
n
Pn x
0
n=1 Æ(xo,fo) ve (x1,f1)
k
k
0
j 0
jzk
x
xj
xk
xj
f
k
x
xj
xk
xj
n=2 Æ (xo,fo) , (x1,f1) ve (x2,f2)
Örnek :
x
0
1
2
y
3
4
7
Noktalarından geçen polinomu Lagrange Enterpolasyon
formülünü kullanarak bulunuz.
Örnek :
x
0
1
2
3
y
-0.5
0
0.5
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
y
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.
x
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;
2
n
g xi
i
‘nin minimum yapılması ile g(x) fonksiyonunun katsayıları belirlenir.
f xi
1
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;
n
a0 a1 x i
e a0 ,a1
i
2
f xi
1
Yukardaki e fonksiyonunun minimum olması için 1. türevi sıfıra eşitlenir;
w e a 0 ,,a
a1
w ai
w e a 0 ,,a
a1
w a0
w e a 0 ,,a
a1
w a1
0 , i 0,1
n
f xi
0 ve
a1
w e a 0 ,,a
n
n
n a 0 a1
0
1
Matrisel olarak ifade edilirse;
n
f xi
xi
0
f xi
1
i
1
1
n
x i a1
a0
i
n
xi
i
a 0 a1 x i
0
w a1
1
2
i
w a0
a 0 a1 x i
2
i
w e a 0 ,,a
a1
n
x 2i
i
1
xi f xi
i
1
n
n
f xi
1
i
n
1
i
1
g(x)=a0 + a1 x elde edilir.
n
x 2i
xi
i
a0
xi
i
Herhangibir yöntemle çözülerek a0 ve a1
katsayıları bulunarak;
n
n
a1
xi f xi
1
i
1
Ö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
0
1
2
4
7
y
1
4
7
13
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;
n
i
2
a0 a1 x i a2 x 2i
e a0 ,a1 ,a2
f xi
Kısmi türevleri bulunup sıfıra eşitlenerek matrisel
1
olarak ifade edilirse;
n
n
n
i
n
1
1
i
1
i
a1
1
xi f xi
i
n
x 4i
i
Herhangibir yöntemle çözülerek a0 , a1 ve a2
katsayıları bulunarak;
g(x)=a0 + a1 x +a2 x2 elde edilir.
1
n
x 3i
1
1
n
x 3i
n
i
f xi
i
n
x 2i
1
a0
1
x 2i
n
i
i
n
xi
i
n
x 2i
xi
1
x 2i f x i
a2
i
1
Ö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
0
2
3
5
8
y
-6
0
6
24
66
Üstel fonksiyon uydurulması;
Bilinen n tane (xi, yi) noktası için en küçük kareler yöntemi kullanılarak g x a0 e a 1 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 x
a0 e a 1
y
n
ln a 0 e a 1
ln y
ln a0 ln e a 1
x
ln a0 a1 x
x
2
l a0 a1 x i
ln
e a0 ,a1
i
x
ln y i
1
Yukardaki e fonksiyonunun minimum olması için 1. türevi sıfıra eşitlenir;
w e a 0 ,,a
a1
0 , i 0,1
w ai
w e a 0 ,,a
a1
n
i
w e a 0 ,,a
a1
n
i
0 ve
ln y i
1
l a 0 a1 x i
ln
2
w a1
w a0
l a 0 a1 x i
ln
2
w a0
w e a 0 ,,a
a1
a1
w e a 0 ,,a
w a1
1
a0
0
xi
0
0
1
1
ln y i
1
i
1
n
x i a1
ln a 0
i
n
xi
i
n
ln y i
n
n ln a 0 a1
n
x 2i
i
1
x i ln y i
i
1
Matrisel olarak ifade edilirse;
n
n
n
xi
i
n
1
i
n
1
i
1
Herhangibir yöntemle çözülerek a0 ve a1
katsayıları bulunarak;
elde edilir.
n
x 2i
xi
i
ln y i
lln
n a0
1
a1
x i ln y i
i
1
Örnek : Aşağıda verilen noktalar için üstel fonksiyonu ( g x
yöntemini kullanarak bulunuz.
x
0
1
2
3
5
8
y
3
8.155
22.167
60.257
445.239
8942.874
a0 e a 1 x ) en küçük kareler
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
K1
dy
K2 y
dx
f ( x)
Formunda bir diferansiyel denklem için;
a- K1 ve K2 katsayıları sabit ise; (K1=15, K2=-4 , f(x)=100 sin(Zx) ) Sabit Katsayılı Diferansiyel
Denklem veya Sabit katsayılı lineer diferansiyel denir.
15
b-
K1 ve K2 katsayıları x’ in fonksiyonu ise; (K1=5x, K2=-4x , f(x)=100 sin(Zx) ) Değişken
Katsayılı Diferansiyel Denklem veya Değişken katsayılı lineer diferansiyel denir.
5x
c-
dy
4 y 100Sin(Zx)
dx
dy
4 xy 100Sin(Zx)
dx
K1 ve K2 katsayıları y’ in fonksiyonu ise; (K1=(3+5y), K2=-4 , f(x)=100 sin(Zx) ) Doğrusal
olmayan (non-lineer) Diferansiyel Denklem denir.
(3 5 y)
dy
4 y 100Sin(Zx)
dx
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 ;
§ dmy ·
¨
¸
¨ dx m ¸
©
¹
n
İ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.
dy
dx
f ( x, y )
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.
di(t )
dt
V (t ) R
i(t )
L
L
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.
dy
Eğer xi noktasında yi biliniyorsa ; dx
dy
dx
#
x xi
f ( x, y ) olan bir diff. denklem için;
f ( xi , yi )
x xi
yi 1 yi
h
Olarak yazılabilir.Her iki eşitlik ten
yi 1
dy
dx
yi 1 yi
h
f ( xi , yi ) olarak yazılır ve buradan yi+1 çözülür ise ;
yi h ˜ f ( xi , yi ) 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
x0
x1
x2
x3
.
.
xn
y
y0
y1
y2
y3
.
.
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: .
dy
dx
2 x y(0)=1 ise y(2)=? (h=0.5)
ÖRN-2: .
dy
dx
y
x
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
dy
dx
f ( x, y ) 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 ;
dy
dx
dy
dx
y i 1
k1
k2
k3
k4
f ( x, y ) olan bir diff. Denklem için;
f ( x, y )
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.
ise
1
k1 2k2 k3 k4 6
h ˜ f xi , yi dy
dx
h
k ·
§
h ˜ f ¨ xi , yi 1 ¸
2
2¹
©
h
k ·
§
h ˜ f ¨ xi , yi 2 ¸
2
2 ¹
©
h ˜ f xi h, yi k3 y i 1
yi k1
k2
k3
k4
ÖRN 4: .
dy
dx
y
x
y(4)=0.75 ise y(7)=?
(h=1)
f ( x, y )
ise
1
k1 2k 2 k3 k 4 6
h ˜ f xi , yi yi h
k ·
§
h ˜ f ¨ xi , yi 1 ¸
2
2 ¹
©
h
k ·
§
h ˜ f ¨ xi , yi 2 ¸
2
2 ¹
©
h ˜ f xi h, yi k3 Ö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
dy
dx
f ( x, y ) 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.
dy
dx
f ( x, y ) olan bir diff. Denklem için;
yi 2
yi 1 fi 1, fi gereklidir. Yani
h
3 fi 1 fi 2
f ( xi 1, yi 1), f ( xi , yi ) gereklidir.
2 adımlı
İlk hesaplanacak değer
y2
yi 3
3 adımlı
yi 2 f ( x0 , y0 ), f ( x1, y1)
h
23 fi 2 16 fi 1 5 fi 12
İlk hesaplanacak değer
y2
ÖRN-6: .
f 0 , f1
h
y1 3 f1 f0 2
dy
dx
y1 y
x
f0 , f1, f 2
h
3 f1 f0 2
y(4)=0.75 ise y(7)=?
fi 2 , fi 1, fi gereklidir. Yani
f ( xi 2 , yi 2 ), f ( xi 1, yi 1), f ( xi , yi )
f ( x0 , y0 ), f ( x1, y1), f ( x2 , y2 )
(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.
Download