1.Hafta Ders Notu (Türkçe)

Download Report

Transcript 1.Hafta Ders Notu (Türkçe)

Prof. Dr. Asaf Varol
2012-2013 Bahar Dönemi
1
 Aritmetik
İşlemler: Toplama, Çıkarma, Çarpma ve
Bölme’dir.
 Mantıksal İşlemler: İki sayının büyüklüğünün
işareti veya karşılaştırmasıdır.
 Data Transfer: Hafızadaki veriyi bir yerden başka
bir yere transfer eder.
 Giriş/Çıkış İşlemleri: Bilgisayarda bilgi çıkışını,
bilginin okunmasını, yazılmasını kontrol eder.
2
 Bilgisayarlar,
sayıları sözcük adı verilen birimlerde
saklarlar. Bu birimler ikili basamaklar ve bitlerden
oluşur. Matematiksel sayılar temsil edilerek değişik
sayı sistemleri kullanılır.
 Genellikle kullanılan sayı sistemleri;
Hexadecimal(16), Decimal(10), Octal(8) ve
Binary(2)’dir.
3
 Örneğin;
8410 sayısını onluk sistemde gösterecek
olursak;
8×103 + 4×102 + 1×101+ 0×100 =
8000+400+10+0 = 8410
4
 Doubling
(ikili sayı) prosedürü olarak bilinen bir
metot izlenebilir. Bir onluk sayı olan N şu şekilde
gösterilir.
N=2Q1 + R1
Q1=2Q2 +R2
Qk= 0 + Rk+1
 Bu
bölümlerden kalan R’ler tersten yazılarak ikili
sayılar elde edilir.
B=Rk+1RkRk-1…. R1
5
ÖRNEK:Decimal N=8410 sayısını ikili sayıya dönüştürürsek;
ÇÖZÜM: Sıralı olarak 2’ye bölümler takip edilir;
8,410 = (24,205) + 0
4,205 = (22,102) + 1
2,102 = (21,051) + 0
1,051 = (2525) + 1
525 = (2262) + 1
262 = (2131) + 0
131 = (265) + 1
65 = (232) + 1
32 = (216) + 0
16 = (28) + 0
8 = (24) + 0
4 = (22) + 0
2 = (21) + 0
1 = (20) + 1
8410 ‘ un binary karşılığı kalanı sondan başa doğru basamaklar
toplanarak verilir.
10000011011010 = 1213 + 0212 + 0211 + 0210 + 029 + 028 +
127 + 126 + 025 + 124 + 123 + 022 + 121 + 020
6
 Sayılar
genellikle normal form notasyonları
kullanılarak elde edilir.
x = m.10E 10-1 < m < 1
x ≠ 0 için m mantis, E üs’tür.
0
sayısı toplam olarak normal notasyona sahiptir.
0.100
7
 Eğer
bir sayı normal formda veya kayan noktalı
formunda yazılmak istenirse şu şekilde olmalıdır;
x = 0.d1 d2 d3 ... dk10n
 d1 
0 ve dk  0 la bir sayının önemli basamakları
olduğunu ve sayının gerçek değerine göre güvenle
kullanılabilen basamaklar olduğunu söyleyebiliriz.
8

Ondalık noktaları kaydırmak için kullanılan 0 noktaları önemli
basamaklar olarak sayılmazlar. Kalan sıfırlar ise bazen önemli
sayıldıkları gibi bazen önemsiz olarak da sayılabilirler.

Örneğin;
X=0,0002815  4 önemli figüre sahiptir.
X=1,200  4,3 veya 2 önemli figüre sahip olabilir.

Bazı örnekler de şunlardır;
46.45072800 = 0.46450728x102
-335.12
= -0.33512x103
0.00517
= 0.517x10-3
0.74
= 0.74x100
8,9 veya 10 önemli basamak
5 Önemli basamak
3 Önemli basamak
2 Önemli basamak
9
 Şekilde
ikili taban olarak temsil edilen bir sayının
ondalık karşılığı verilmiştir.
-(026 + 025 + 024 + 123 + 022 + 121 + 120)
= -(0 + 0 + 0 + 8 + 0 + 2 + 1)
= -11
Bir tamsayının 8 bitle binary gösterimi
10

8 bitlik makine dilinde ifade edilebilecek en büyük tam sayı;
Imax = +(126 + 125 + 124 + 123 + 122 + 121 + 120)
= +( 64 + 32 + 16 + 8 + 4 + 2 + 1 )
= +(127)
= +(27 - 1)

genelde ;
Imax = +[2(n -1) - 1]; Imin = -[2(n -1) - 1]

Bilgisayarlar 32 bit kelime kullandığı için (n=32);
Imax = 2,147,483,647
11
 x=
işaret.m.b(işaret)E
Burada m mantis, b taban ( b=2 binary sistem için)
ve E ise üs’dür.
12
8

bitlik bir makinede, (binary tabanlı sayı sistemi), sıfır olmayan
en küçük kayan noktalı pozitif sayının ondalık tabanındaki
karşılığı nedir, hesaplayınız.
Not: Kayan noktalı sayı sisteminde, bir bit mantis işareti için, 4
bit mantisin kendisi için, bir bit üs işareti için ve 2 bit de üs
basamakları için kullanıldığını göz önünde bulundurunuz.
Çözüm:
m = +(023 + 022 + 021 + 120)
m = +( 0 + 0 + 0 + 1 ) = 1
E = -[(121) + (120)] = -(2+1) = - 3
sayı = 12-3 (ondalık sistemde 0,1250 sayısına eşittir.)
13

Sayıların kesinliği, doğruluğu ve tahmini ele alındığında ne fiziksel
ölçümler ne de aritmetik hesaplamalar tam olarak kesinlik taşımaz.

Bir mühendisin özdeyişi şu olmalıdır:
“Bilimde kesin, doğru veya tam olan hiçbir şey yoktur.”

Doğruluk; tahmin edilen bir değerin veya cevabın, onun ne kadar
tam olduğunun gerçek ölçüsüdür. Birçok durumlarda kesinliğin değeri
bilinmediğinden, en iyi ve doğru cevap genellikle en iyi tahmin edilen
değere göre ölçülür.

Kesinlik; bir niceliğin değerlerinin defalarca ölçülmesi ile ölçümlerin
birbiriyle ne kadar yakınlıkta olduğunun ifadesidir. Böylece önemli
figürlerin sunumu, ölçümlerin ortalaması ve varyansı ile ifade edilir.
14
 Mutlak
Doğru Hata
Et =(gerçek değer) - (yaklaşık değer)
 Yaklaşık
Mutlak Hata
Ea =(en iyi tahmin) - (yaklaşık değer)
 Doğru
Bağıl Hata
et =(gerçek değer) - (yaklaşık değer)/gerçek değer
 Yaklaşık
Bağıl Hata
ea = (en iyi tahmin) - (yaklaşık değer)/ en iyi tahmin 
15

Dizi, sıralar ve tekrarlamalar için yaklaşık hata şöyle tanımlanabilir;

Yaklaşık mutlak hata (tekrarlamalı hesaplar için);
Ea= güncel değer – önceki değer 

Yaklaşık bağıl hata (tekrarlamalı hesaplar için);
ea= güncel değer – önceki değer / güncel değer
Bir niceliğin tam değeri verilmediği zaman gerçek bir hatanın
hesaplanması mümkün değildir. Bununla birlikte hatanın sınırlarını
belirlemede yaklaşık hata kullanılır. Bunun için Scarborough Kriteri
kullanılabilir.

Scarborough Kriteri;
Eğer yaklaşık bağıl hata ea < 0.510-m ise o zaman sonuç m ‘nin
en küçük basamağı için doğrudur.
16

ÖRNEK: Arctan için terim sayılarının hesaplanmasında Taylor serisindeki iki
önemli basamak olan  değeri ve x=1.0 olan noktanın bilinmesi gerekir.
 = 3.141592653589793 sayısı aşağıdaki fonksiyon ile gösterilir;
 = 4.0 Arctan(1.0)
Sonsuz seri şöyle verilmiştir;
n=1,2,3,….
Yukarıdaki seriden hesaplanan  cevabını kendi cevabınızla kontrol
ediniz. Doğru bağıl hata ve yaklaşık bağıl hata, terim sayısı fonksiyonu ile
ilgilidir.
17
 Bu
tür serilerde ea’nın tanımı aşağıdaki gibidir;
ea= güncel değer – önceki değer / güncel değer
ea= son kullanılan terim – güncel toplam 
 Eğer
bu güncel toplamın iki önemli basamağa doğru
olduğunu farz edersek;
ea  4 (-1)(n+1) x2n-1/(2n-1)/(3.14) x = 1
 Scarborough
kriterine göre;
ea  (4/3.14)/(2n-1) < 0.510-2
Bu denklem çözüldüğünde n=127 bulunur.
18
x=1;
sum=0;
pi=4.0*atan(1.0);
for n=1:130
sign=(-1)^(n+1);
nominator=x^(2*n-1);
denominator=2*n-1;
sumlast=sum+4*sign*nominator/denominator;
trerr=abs(pi-sumlast)/abs(pi);
arerr=abs(sumlast-sum)/abs(sumlast);
plot(n,arerr,'--r*',n,trerr,'--b+');
hold on;
xlabel('n terim sayısı');
ylabel('hata');
sum=sumlast;
End
text(25,0.6,'* yaklaşık bağıl hata');
text(25,0.5,'* doğru bağıl hata');
ilk toplam değeri
 sayısının ilgili olduğu fonksiyon
döngüye başla
sign fonksiyonun değeri
serinin bir sonraki değeri
doğru bağıl hata
mutlak bağıl hata
doğru ve bağıl hata eğrilerini çiz
X eksenine yaz
Y eksenine yaz
yeni toplam ile eski toplamın yerini
değiştir
döngü sonu
19
20
 Çoğu
bilgisayarlar temsil edilenden daha fazla basamaklara
ayrılır. Şöyle ki; bir mantis için basamaklar uygun sayılara
dönüşmediği zaman, bilgisayarlar bu sayıları yuvarlar.
 Örneğin;
bir bilgisayarda 3 basamaklı bir mantis 68.501,
0.068E03 şeklinde temsil edilir. Yuvarlamak veya
parçalamak için kullanıldığında 0,069E03 olarak temsil
edilir.
21
Çıkarma Hatası

Bu hata eşit iki sayı çıkarıldığı zaman meydana gelir. Bir örnekle bunu
açıklarsak;

x = 40,000.01 ve y = 40,000 ise 3 basamaklı mantis için x-y nedir?
0.4000001x105
5
-0.4000000x10
_______________________
0.000
x105 = 0.0
Yuvarlamadan dolayı hata oluştu.


Büyük bir sayıya küçük bir sayı eklendiğinde, kayda değer hata oluşur.
Örneğin; 3 hanelik mantisten oluşan hipotetik ondalık bilgisayar
kullanılarak, 250 Kelvin sıcaklığına, 0,4 Kelvin’lik bir sıcaklık eklersek,
sonucu değiştirmediği görülür ki, bu bir hatadır.
0.250x103
3
0.0004x10
_______________________
0.250 x103 = 250 K
22
Kesme Hataları

Kesme hataları, bir seri formülünde belirli bir sayıdaki terimin ihmal edilmesi
sonucu ortaya çıkan hatalardır. Verilen geometrik seride -1<x<1 aralığında
n=1,2,3….. için x=0.5 olduğu zaman f(x)=2’dir.

Eğer bu fonksiyonunun sadece 3 terimi işleme konursa, x=0.5 için n=2 bulunur.
(0.5)  1 + x + x2 = 1 + 0.5 + (0.5)2 = 1.75
Buradan, n=2 için kesme hatası şöyle hesaplanır;
T.E. = [(0.5)kesin - (0.5)yaklaşık] = 2 - 1.75 = 0.25 = Et = gerçek hata
veya gerçek bağıl hata
et = Et/2.0 = 0.125 (12.5%)
Bu kesme hatası, sonsuz serideki atlanılan (arta kalan) bütün terimlerin
toplamıdır.
(x) = 1/(1 - x)  1 + x + x2 + (T.E.)n=2
23

Taylor serileri aşağıdaki analizlerin elde edilmesinde kullanılır;
İntegrasyon formülleri, fonksiyon yakınsamaları, sonlu fark
tabloları ve hata analizi.

Bir yakınsak seri, kısmi toplamlarının sırasının sonlu toplama
yakınsayan seridir.

Iraksak bir seri ise yakınsamayan bir seridir.

Geometrik seriler -1< x < 1 için yakınsarlar. Örneğin f(x=0.1)için;
n=0
S0=1
=1.000
n=1
S1=1 + x
=1.100
n=2
S2=1 + x + x2
=1.110
n=∞
S∞=1.0/(1-0.1)
=1.111111……
24



Bir serinin yakınsak olup olmadığını göstermek için genel olarak 2 tane
kullanılan yöntem vardır.
n terimli bir seri toplamı aşağıdaki şekilde gösterilir.
Sum=q1+q2+q3+…+qn

Aşağıdaki formül bir serinin yakınsak olup olmadığını tespit etmek için
kullanılır.

Eğer R<1 veya R=0 ise seri mutlak yakınsaktır.
Eğer R>1 ise ıraksaktır.
Eğer R=1 ise seri hem yakınsayabilir hem de yakınsamayabilir.


25

Örnek: Oran testini kullanarak aşağıdaki serinin yakınsak mı
ıraksak mı olduğunu gösteriniz.
Çözüm:
 Böylece
oran testi ile bu seri herhangi bir x değerine
yakınsar.(ex için Maclaurin serisi)
26

f(x) tanımlanmış bir fonksiyon a ve x kapalı aralığında sürekli
ayrıklaştırılan bir fonksiyon olsun.
(x) = (a) + (1)(a)(x-a) + (2)(a)(x-a)2/2! + (3)(a)(x-a)3/3! + …
(n)(a), bağımsız değişken x’e göre ’in n inci dereceden türevini
gösterir ve daha sonra x = a noktasında değerlendirilmiştir.
Genişlemenin yapılandırıldığı x = a noktası ana nokta olarak bilinir.
Eğer Taylor serileri terimlerin sonlu sayılarından sonra kırpılırsa,
sonra kırpılmış tüm terimlerin toplamı kalan Rn(x) olarak adlandırılır.
Bu da şöyledir;
(x) = (a) + (1)(a)(x-a) + (2)(a)(x-a)2/2! + (3)(a)(x-a)3/3!
+ ... + (n)(a)(x-a)n/n! + Rn(x)
27

Kalan Rn(x) integral formda şu şekilde yazılabilir (Stein, 1967);
t integral amacıyla kullanılan yapay bir değişkendir.
İntegral hesabı için birinci ve ikinci ortalama değer teoremleri
kullanıldığında;
Denklem şu şekilde yazılabilir;
28
Taylor Teoremi a = xi (i ninci nokta anlamındadır) ve x = xi+1 = a+h =
xi+h sonraki noktayı göstermektedir. Daha sonra şu şekli alır;
(xi+1) = (xi) + (1)(xi)h + (2)(xi)h2/2! + (3)(xi)h3/3!
+ … + (n)(xi)hn/n!
 Bu form, sonlu fark formülleri geliştirmek için özellikle uygundur. Bu
denklem bir notasyon değişimi ile basitleştirilebilir;
i = (xi); i+1 = (xi+1); i(n) = (n)(xi)
Dolayısıyla şu şekilde yazabiliriz;
i+1 = i + i(1)h + i(2)h2/2! + i(3)h3/3! + … + i(n)hn/n! + ...



Bu form, sıradan diferansiyel denklemlerin entegrasyonu için formül
üretmek amacıyla uygundur.
Bir sayısal fonksiyonun türevini hesaplamak için bazı basit formüller
sayısal türevlere bir giriş olarak burada verilmiştir.
29

İkinci terimden sonra Taylor serisini keseriz ve (1) =  ‘i elde etmek için şu
denklemi çözeriz;
 = (i+1-i)/h veya
İleri Farklar Denklemi
Burada h = xi+1-xi = x’tir. İleri farklar yaklaşımı x = xi = a noktasındaki birinci türev için
birinci sıra olarak adlandırılır. Bir fonksiyonun türevinin temel tanımının şu olduğunu
unutmayınız;


Bundan dolayı, h'nin adım boyutunu daha küçülttüğümüz zaman Sf daha hassas sonuç
verecektir. Ancak yuvarlamalardan oluşan hatalar konusunda çok dikkatli olunmalıdır.
Diğer formüller de Taylor serisi açılımı ile elde edilebilir (aşağıdaki şekle bakınız).
Geri Farklar Denklemi
Merkezi Fark Denklemi
30
31
Taylor serisini kullanarak (x) = ln(1+x) fonksiyonunu a=0 noktası temel alınarak
genişletiniz. Ayrıca Taylor formülünü kullanarak bu fonksiyonu birinci, ikinci ve
üçüncü dereceden polinom şeklinde belirleyin. Terimlerin sayısını arttırarak ve Taylor
Serilerinden ln(1.5) i hesaplayınız ve toplamda kullanılan sayıların bir fonksiyonu
olarak doğru ve yaklaşık hataların bir tablosunu yapınız. Ayrıca kırpma hatalarını
tahmin ediniz.
Çözüm:
(x)
= ln(1+x)
(1)(x)
= 1/(1+x)
 (2)(x)
= -1/(1+x)2
 (3)(x)
= (2)(1)/(1+x)3
 (4)(x)
= -(3)(2)(1)/(1+x)4
.
.
(n)(x)
= (-1)n+1(n-1)!/(1+x)n
a = 0;
(0) = 0,  (1)(0) = 1,  (2)(0) = -1,  (3)(0) = 2,  (4)(0) = -6
32
Tüm bunları Denklemde yerleştirirsek;
(x) = ln(1+x) = 0 + x - x2/2 + x3/3 - x4/4 + ... + (-1)n-1 xn/n + ..

x serisinin hangi değerlerinin yakınsandığını belirlemek için aşağıdaki oran testini
uygulanır;

Dolayısıyla bu seri -1 < x < 1 aralığında yakınsanır.
33
Polinom Yaklaşımı (Sonlu terimlerle kırpılmış Taylor Serileri)
Bir terim
İki terim
Üç terim
ln(1+x)  x
(doğru)
ln(1+x)  x - x2/2
(parabol)
ln(1+x)  x - x2/2 + x3/3 (kübik polinom)
Bu yaklaşık fonksiyonların orjinal fonksiyon olan (x) = ln(1+x)
ile karşılaştırılması aşağıdaki şekilde verilmiştir. Yaklaşık
fonksiyon (polinom), yanındaki ana nokta olan x=a=0 ile orjinal
fonksiyonu daha iyi simgelemektedir.
34
35

Türevlerin Sayısal Değerlendirmesi

Bir fonksiyonun türevi için ileriye fark yaklaşımı formülü kullanılarak,
belirli noktalarda sonraki fonksiyonun sayısal türevlerini hesaplayınız.
Adım büyüklüğü olan h ile kesin türev, sayısal türev ve mutlak gerçek
hata varyasyonlarını gösteren her durum için bir tablo hazırlayınız. h
değerini 1.0 ve 1.E-20 arasında bir faktör ile her seferinde 10 kez
düşürelim.
(a.) (x) = Cos(-10x2) at x = 0
(b.) (x) = e-ln(1/x) at x = 1.0
(c.) (x) = x/(5+3x-5) at x = 10
Not: (x0)  [(x0 +h) -(x0)]/h.
36

İlk analitik türevleri bulalım:
(a)  '(x) = 20xSin(-10x);  '(0) = 0.
(b)  '(x) = [e-ln(1/x)]/x = 1 ;  '(1) = 1.0
(c)  '(x) = (5 + 18x-5)/(5 + 3x-5)2 ;  '(10) = 0.2000048
Bölüm (a), (b) ve (c) için sayısal sonuçlar bir sonraki Tabloda ve
Şekillerde gösterilmiştir. Durum (b) için (x) = eln(x) = x şeklindedir.
Böylece df/dx = 1.0 olmuştur.
37
Tablo: (x) = Cos(-10x2)’nun türevini hesaplamak için adım boyutu ile Doğru
Hata varyasyonu
x’de sayısal türev = 0.000000E+00
h
df/dx
Doğru Hata
1.000000E+00
1.000000E-01
1.000000E-02
9.999999E-04
9.999999E-05
9.999999E-06
9.999999E-07
9.999999E-08
9.999999E-09
9.999999E-10
9.999999E-11
-1.839072E+00
-4.995835E-02
-4.999999E-05
-4.999999E-08
-5.000016E-11
-4.878910E-14
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.839072E+00
4.995835E-02
4.999999E-05
4.999999E-08
5.000016E-11
4.878910E-14
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
9.999999E-12
9.999999E-13
9.999999E-14
9.999999E-15
9.999999E-16
9.999999E-17
9.999999E-18
9.999999E-19
1.000000E-19
1.000000E-20
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
F ig u re C 1.7.1a S tep size h vs. tru e erro r
2
fo r  (x) = C o s(-x ).
F ig u re C 1.7.1c S tep size h vs. tru e erro r fo r
-5
 (x) = x/(5+ 3 x ).
40





Celik, Ismail, B., “Introductory Numerical Methods for Engineering
Applications”, Ararat Books & Publishing, LCC., Morgantown, 2001
Fausett, Laurene, V. “Numerical Methods, Algorithms and
Applications”, Prentice Hall, 2003 by Pearson Education, Inc., Upper
Saddle River, NJ 07458
Rao, Singiresu, S., “Applied Numerical Methods for Engineers and
Scientists, 2002 Prentice Hall, Upper Saddle River, NJ 07458
Mathews, John, H.; Fink, Kurtis, D., “Numerical Methods Using
MATLAB” Fourth Edition, 2004 Prentice Hall, Upper Saddle River, NJ
07458
Varol, A., “Sayisal Analiz (Numerical Analysis), in Turkish, Course
notes, Firat University, 2001
41