f˙ız˙ıkte sayısal y¨ontemler - Çukurova Üniversitesi Fizik Bölümü

Transkript

f˙ız˙ıkte sayısal y¨ontemler - Çukurova Üniversitesi Fizik Bölümü
FİZİKTE SAYISAL YÖNTEMLER
Doç. Dr. Metin Özdemir
Çukurova Üniversitesi
Fizik Bölümü
2
ÖNSÖZ
Bu ders notları Fizik Bölümünde zaman zaman seçmeli olarak vermekte
olduǧum sayısal analiz dersinin hazırlanması sırasında ortaya çıkmıştır. Notlar
eksiksiz olmaktan çok uzak olup sürekli bir deǧişim ve gelişme içerisindedir. Notların hazırlanmasındaki temel amaç konu ile ilgili hem daha düzenli bir kaynak
yaratmak, hem de bu konuda varolan eksikliǧi gidermeye katkıda bulunmaktır.
Bu ders notları sayısal analiz konusunda tamamen teorik bir çalışma olmadıǧı gibi tamamen sayısal bir el kitabıda deǧildir. Konular üniversite birinci ve ikinci sınıf standart matematik derslerini takip etmiş biri için kolaylıkla
izlenebilecek durumdadır. Ayrıca bu notları kullanacak olanların FORTRAN
programlama dili ile ilgili giriş düzeyinde yeterli bilgiye sahip oldukları, fortran programlarını yazıp derleyebilecekleri gerekli yazılımların bulunduǧu bir
bilgisayara erişimlerinin bulunduǧu kabul edilmiştir. Programlar FORTRAN 77
dilinde yazılmıştır. Programların büyük kısmı belirli bir problemi çözmek veya
işlevi yerine getirmek üzere yazılmıştır. Çalışır durumdaki bu programlar eksiksiz olarak öǧrenciye verilecektir. Öǧrenci bu programları varsa deǧişik parametreler, başlangıç şartları vs. için çalıştırarak aşinalık kazanacak, aynı zamanda
programın/kullanılan yöntemin iyi/kötü taraflarını keşfetmiş olacaktır. Daha
sonra benzeri problemleri çözmek üzere bu programlarda gerekli deǧişikliklerin
yapılması istenecektir.
Ele alınan konuların anlatımı ve bunların bilgisayarda pratik uygulaması beraberce yürütülecek şekilde tasarlanmıştır. Bu nedenle öǧrencinin notları adım
adım takip etmesi durumunda en iyi verim elde edilmiş olacaktır. Pratik
uygulamaları daha sonra yapmak isteyenler veya bu durumun daha uygun
olduǧu durumlar için kullanılmak üzere her bölümün sonuna bir ’Labaratuvar Saati’ eklenmiştir. Burada o bölüme ait pratik olarak bilgisayar başında
yapılması gereken her şey tekrar edilmiştir. Bu nedenle bölüm içinde anlatılan
konular ile labaratuvar bölümünde istenenler bazen tamamen aynı olabilir. Bu,
tekrara düşme pahasına olsa da yapılmıştır.
Bu dersi daha önce almış olan ögrencilerin bu notların hazırlanmasına
dolaylı veya dolaysız mutlaka katkıları olmuştur, onlara teşekkür ediyorum.
Eylül 2004
Metin Özdemir
Çukurova Üniversitesi
Fizik Bölümü
01330 Adana
[email protected]
İÇİNDEKİLER
1 GİRİŞ
1.1 Giriş . . . . . . . . . . . . . . . . . . . . . .
1.2 Hassasiyet, Hata ve Kararlılık . . . . . . . .
1.3 Hassasiyet Kaybı ve İşlem Önceliği . . . . .
1.4 Örnek Programlar ve Öneriler . . . . . . . .
1.4.1 Verilerin Ekrandan Okutulması . . .
1.4.2 Boyutlu Değişkenler ve Döngüler . .
1.4.3 ’Subroutine’ Alt Programı . . . . .
1.4.4 ’Function’ Alt Programı . . . . . .
1.4.5 Çıktıların Bir Dosyaya Yazdırılması
1.4.6 Verilerin Dosyadan Okutulması . . .
1.4.7 Grafik Çizimi . . . . . . . . . . . . .
1.5 Labaratuvar Saatleri . . . . . . . . . . . . .
1.6 Labaratuvar Saati-I . . . . . . . . . . . . . .
1.7 ALIŞTIRMA SORULARI . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2 LİNEER OLMAYAN DENKLEMLER (KÖK BULMA)
2.1 Giriş . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Grafik Yöntemi . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Yarılama Metodu . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Kiriş Metodu . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5 Sekant Metodu . . . . . . . . . . . . . . . . . . . . . . . . .
2.6 Newton-Raphson Metodu . . . . . . . . . . . . . . . . . . .
2.7 Newton-Raphson Metodu ile İki Denklemin Çözülmesi . . .
2.8 Müller Metodu: Sanal Kökler . . . . . . . . . . . . . . . . .
2.9 Sabit Nokta İterasyonları . . . . . . . . . . . . . . . . . . .
2.10 Newton-Raphson Metodunun
Genelleştirilmesi . . . . . . . . . . . . . . . . . . . . . . . . .
2.11 Labaratuar Saati-II . . . . . . . . . . . . . . . . . . . . . . .
2.12 ALIŞTIRMA SORULARI . . . . . . . . . . . . . . . . . . . .
3 ADİ DİFERANSİYEL DENKLEMLERİNİN ÇÖZÜMÜ
3.1 Giriş . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Sayısal Türev Alma . . . . . . . . . . . . . . . . . . . . . .
3.3 Euler Metodu . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Euler Metodu İçin Hata Tahmini . . . . . . . . . . .
3.3.2 Euler Metodunun Kararlılık Analizi . . . . . . . . .
3.4 Euler-Richardson Metodu . . . . . . . . . . . . . . . . . . .
3.5 Runge-Kutta Metodu . . . . . . . . . . . . . . . . . . . . .
3.5.1 İki-Adımlı Ruge-Kutta Metodu . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
11
11
12
14
15
15
17
18
20
21
22
24
25
26
26
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
29
29
29
30
32
33
34
36
37
37
. . .
. . .
. . .
37
37
39
.
.
.
.
.
.
.
.
41
41
44
45
47
48
52
54
54
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
İÇİNDEKİLER
3.5.2 Dört Adımlı Runge-Kutta Metodu . . . . . . . . . . . . .
Adım Uzunluǧu Kontrol Edilebilen Metotlar . . . . . . . . . . . .
3.6.1 Adım Uzunluǧu Kontrollü RK-Verner Metodu . . . . . .
3.7 Stif Problemler . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8 Sayısal Çözümler İçin Bazı Öneriler . . . . . . . . . . . . . . . . .
3.8.1 Örnek: Radyal Elektrik Alanı Altında Hareket Eden
Yüklü Bir Parçacık . . . . . . . . . . . . . . . . . . . . .
3.8.2 Proje: Elektrik ve Manyetik Alanları Altında Hareket
Eden Klasik Elektronlar . . . . . . . . . . . . . . . . . . .
3.9 Verlet Algoritması ve Moleküler Dinamik . . . . . . . . . . . . .
3.9.1 Hızdan Baǧımsız Verlet Algoritması . . . . . . . . . . . .
3.9.2 Hıza Baǧımlı Verlet Algoritması . . . . . . . . . . . . . .
3.10 Labaratuar Saati-III.a . . . . . . . . . . . . . . . . . . . . . . . .
3.11 Labaratuar Saati-III.b . . . . . . . . . . . . . . . . . . . . . . . .
3.12 ALIŞTIRMA SORULARI . . . . . . . . . . . . . . . . . . . . . . .
3.6
55
57
58
60
62
63
65
67
67
67
68
72
75
4 RASGELE SAYILAR ve MONTE CARLO YÖNTEMLERİ
4.1 Rasgele Sayılar . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Rasgele Sayıların Üretilmesi . . . . . . . . . . . . . . . . . . . .
4.3 Rasgele Sayıların Test Edilmesi . . . . . . . . . . . . . . . . . .
4.4 Monte Carlo Yöntemi ile İntegral Alma . . . . . . . . . . . . .
4.5 Metropolis Algoritması . . . . . . . . . . . . . . . . . . . . . . .
4.6 Bir Boyutlu Ising Modeli . . . . . . . . . . . . . . . . . . . . . .
4.7 Labaratuar Saati-IV . . . . . . . . . . . . . . . . . . . . . . . .
4.8 ALIŞTIRMA SORULARI . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
5 LİNEER DENKLEM SİSTEMLERİNİN ÇÖZÜMÜ
5.1 Giriş . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Gauss Yoketme Metodu . . . . . . . . . . . . . . . . .
5.3 Pivot . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4 LU Çarpanlarına Ayırma . . . . . . . . . . . . . . . .
5.5 Labaratuar Saati V . . . . . . . . . . . . . . . . . . . .
5.6 ALIŞTIRMA SORULARI . . . . . . . . . . . . . . . . .
91
. 91
. 92
. 95
. 97
. 100
. 102
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
77
77
78
80
82
85
85
88
89
6 SINIR ŞARTLI ADİ DİFERANSİYEL DENKLEMLER
6.1 Giriş . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Sonlu Fark Yöntemleri . . . . . . . . . . . . . . . . . . . . . . . .
6.2.1 Doǧrudan Çözüm . . . . . . . . . . . . . . . . . . . . . . .
6.2.2 Relaksasyon (İteratif) Yöntem . . . . . . . . . . . . . . .
6.2.3 Özdeǧer-Özvektör problemleri: Lineer, Homojen Diferansiyel Denklemler . . . . . . . . . . . . . . . . . . . . . . .
6.3 Labaratuar Saati-VI . . . . . . . . . . . . . . . . . . . . . . . . .
6.4 Proje: Schrödinger Denkleminin Çözümü . . . . . . . . . . . . .
6.5 ALIŞTIRMA SORULARI . . . . . . . . . . . . . . . . . . . . . . .
105
105
106
106
109
7 İNTERPOLASYON ve EKSTRAPOLASYON
7.1 Giriş . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Doǧrusal İnterpolasyon . . . . . . . . . . . . . . .
7.3 Lagrange Enterpolasyon Formülü . . . . . . . . .
7.4 Newton Enterpolasyonu ve Bölümlü Farklar . . .
7.5 Labaratuar Saati V . . . . . . . . . . . . . . . . .
7.6 ALIŞTIRMA SORULARI . . . . . . . . . . . . . .
119
119
120
121
122
125
125
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
110
114
116
117
İÇİNDEKİLER
5
8 DOǦRU UYDURMA YÖNTEMLERİ
127
8.1 Giriş . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
8.2 Labaratuar Saati V . . . . . . . . . . . . . . . . . . . . . . . . . . 127
8.3 ALIŞTIRMA SORULARI . . . . . . . . . . . . . . . . . . . . . . . 127
A FORTRAN Komutlarının Kısa bir Tekrarı
A.1 Karakter Sayısı . . . . . . . . . . . . . . . . . . . . .
A.2 Deǧişkenler . . . . . . . . . . . . . . . . . . . . . . .
A.3 Sabitler . . . . . . . . . . . . . . . . . . . . . . . . .
A.4 Tanımlama Komutları . . . . . . . . . . . . . . . . .
A.5 Aritmetiksel Komutlar ve Matematiksel Fonksiyonlar
A.6 Kontrol Devri . . . . . . . . . . . . . . . . . . . . . .
A.7 DO Döngüleri . . . . . . . . . . . . . . . . . . . . . .
A.8 Girdi-Çıktı Komutları . . . . . . . . . . . . . . . . .
A.9 Alt Programlar . . . . . . . . . . . . . . . . . . . . .
B GNUPLOT Grafik Programı
B.1 İki Boyutlu Grafik Çizimi . . . . . . . . . . .
B.2 Fonksiyon Tanımlama ve Parametrelere Değer
B.3 Üç Boyutlu Grafik Çizimi . . . . . . . . . . .
B.3.1 Fonksiyon Grafiği Çizme . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
129
129
129
129
130
131
131
133
133
134
. . . . .
Atama
. . . . .
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
135
135
138
139
139
C BÖLÜM 2’e AİT PROGRAMLAR
141
C.1 KOK1 programı . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
D BÖLÜM 3’e AİT PROGRAMLAR
145
D.1 ADD1 programı . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
ŞEKİLLER DİZİNİ
1.1
F (x) ve G(x)’in grafiǧi . . . . . . . . . . . . . . . . . . . . . . . .
25
2.1
2.2
2.3
2.4
2.5
2.6
2.7
Grafik çizerek kök bulma . . . . . . . . . . . . .
y = sin(x) ve y = x’in grafiǧi . . . . . . . . . . .
Köklerin yarılama metodu ile bulunması . . . . .
Köklerin yanlışçizgi yöntemi ile bulunması . . . .
Köklerin sekant metodu ile bulunması . . . . . .
Köklerin Newton-Raphson yöntemi ile bulunması
Newton-Raphson metodunun ıraksama durumu .
30
31
31
33
34
35
35
3.1
3.7
Örnek 3.5’de çözülen diferansiyel denkleminin sayısal ve analitik
çözümleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
(3.15)’deki parçacıǧın yörüngesi . . . . . . . . . . . . . . . . . . .
Basit harmonik salınıcı probleminde yerdeǧişim ve hız fonksiyonları
Basit harmonik salınıcı probleminde yerdeǧişimde yapılan hata .
Basit harmonik salınıcının v(t)-x(t) grafiǧi . . . . . . . . . . . . .
Va ve Vb potansiyellerinde tutulan aynı merkezli iki silindirik elektrot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aynı merkezli iki silindirik elektrot arasındaki parçacıǧın yörüngesi
4.1
4.2
4.3
4.4
4.5
4.6
Buffon’un π sayısını bulma deneyi . . . . . .
Buffon’un π sayısını bulma deneyinin tipik bir
Rasgele sayılar arasındaki korelasyona örnek .
Rasgele sayıların iki boyutta daǧılımı . . . . .
Rasgele sayıların eşit aralıkta daǧılımı . . . .
İntegral alma . . . . . . . . . . . . . . . . . .
7.1
Örnek 7.2’de çözülen enterpolasyon fonksiyonu ve enterpolasyon
noktalari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
B.1
B.2
B.3
B.4
B.5
B.6
gnuplot açılım ekranı . . . . . . . .
plot komutunun kullanımına örnek
sin(x) fonksiyonunun grafiǧi . . . . .
gnuplot programında deǧişik etkiler
Sınırların düzenlenişi . . . . . . . . .
gnuplot ile çoklu grafik . . . . . . .
3.2
3.3
3.4
3.5
3.6
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . .
sonucu
. . . . .
. . . . .
. . . . .
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
48
60
61
61
62
64
65
78
78
80
81
82
83
136
136
137
137
137
139
TABLOLAR DİZİNİ
3.1
3.2
3.3
3.4
3.5
Euler metodu ile bir diferansiyel denkleminin çözümü
ADD6 programının örnek bir çıktısı . . . . . . . . . .
ADD7 programının örnek bir çıktısı . . . . . . . . . .
ADD8 programının örnek bir çıktısı . . . . . . . . . .
ADD6 programının örnek bir çıktısı . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
47
57
59
59
72
7.1
Newton enterpolasyonunda tablo oluşturma . . . . . . . . . . . . 125

Benzer belgeler