Essential MATLAB for Engineers and Scientists.indd

advertisement
İçindekiler
ÖN SÖZ
ÜNİTE 1
Temeller .............................................................. 1
BÖLÜM 1
Giriş ................................................................................ 3
1.1
MATLABI Kullanmak ............................................ 5
1.1.1 Hesaplama ................................................. 6
1.1.2 Değişkenler ................................................ 7
1.1.3 Matematiksel fonksiyonlar ....................... 8
1.1.4 Fonksiyonlar ve komutlar ......................... 9
1.1.5 Vektörler ..................................................... 9
1.1.6 Lineer denklemler ...................................11
1.1.7 Eğitimler ve demolar ...............................12
1.2
Masaüstü .............................................................12
1.2.1 Editörü kullanmak ve bir komut dosyası
koşturmak ................................................14
1.2.2 Yardım, yayınlama ve
görüntüleme ............................................16
1.2.3 Simgeler ve MuPAD
notdefteri APP .........................................19
1.2.4 Diğer APPS (Uygulamalar) ......................22
1.2.5 Ek özellikler..............................................22
1.3
Örnek Program ....................................................26
1.3.1 Kes ve yapıştır .........................................26
1.3.2 Bir programı kaydetme:
Komut Dosyası.........................................28
1.3.3 Yürüyen bir program ...............................30
Özet ..............................................................................31
Bölüm Alıştırmaları .....................................................31
BÖLÜM 2
MATLAB’ın Esasları ....................................................33
2.1
Değişkenler .........................................................33
2.1.1 Harf duyarlılığı.........................................34
2.2
Çalışma Alanı ......................................................34
v
vi
İçindekiler
2.2.1
2.3
2.4
2.5
2.6
2.7
2.8
Çalışma alana sık kullanılan
sabitlenen ekleme ...................................35
Diziler: Vektörler ve Matrisler............................36
2.3.1 Vektörleri başlatmak: Açık listeler ........36
2.3.2 Sıradaki önemli kuralları hatırlayınız .....37
2.3.2 Vektör oluşturma: İki nokta
üst üste operatörü ...................................38
2.3.3 linspace ve logspace fonksiyonları............38
2.3.4 Vektörlerin devriğini almak ....................39
2.3.5 İndisler .....................................................39
2.3.6 Matrisler ...................................................40
2.3.7 Çıktı yakalama .........................................40
2.3.8 Yapı planı .................................................41
Yerçekimi Altında Dikey Hareket ......................42
İşleçler, İfadeler ve Deyimler..............................44
2.5.1 Sayılar .......................................................45
2.5.2 Veri türleri ................................................45
2.5.3 Aritmetik İşlemler ...................................46
2.5.4 İşlem önceliği ...........................................46
2.5.5 İki nokta üst üste operatörü ...................47
2.5.6 Devrik operatörü......................................47
2.5.7 Dizilerde aritmetik işlemler ....................48
2.5.8 İfadeler .....................................................49
2.5.9 Deyimler ...................................................49
2.5.10 Deyimler, komutlar ve fonksiyonlar .......50
2.5.11 Vektörleştirme formülü ...........................51
Çıktı ......................................................................54
2.6.1 disp deyimi ...............................................54
2.6.2 format komutu ..........................................56
2.6.3 Ölçek faktörleri ........................................57
for ile tekrar etme ................................................57
2.7.1 Newton’un yöntemi ile karakökler .........58
2.7.2 Faktöryeller! ............................................59
2.7.3 Bir dizin sınırı ..........................................59
2.7.4 En temel for yapısı ...................................60
2.7.5 Tek bir satırda for ....................................61
2.7.6 Daha genel for ..........................................62
2.7.7 Vektörizasyonla for
döngülerden kaçının!..............................62
Kararlar ................................................................64
2.8.1 Tek-satır if deyimi ....................................65
2.8.2 if-else yapısı ..............................................66
2.8.3 Tek-satır if-else deyimi.............................68
2.8.4 elseif ..........................................................68
2.8.5 Mantıksal operatörler ..............................69
2.8.6 elseif’lere karşı çoklu if’ler .......................70
2.8.7 İç içe if’ler .................................................71
İçindekiler
2.8.8 if’leri vektörize etmek mi?.......................72
2.8.9 switch deyimi............................................72
2.9 Karmaşık Sayılar .................................................72
Özet ..............................................................................74
Bölüm Alıştırmaları .....................................................76
BÖLÜM 3
Program Tasarımı ve Algoritma Geliştirme ..............83
3.1 Program Tasarım Süresi .....................................84
3.1.1 Atış problemi ...........................................87
3.2 MATLAB fonksiyonlarını Programlama ............94
3.2.1 Satır içi nesneler: Harmonik
osilatörler .................................................94
3.2.2 MATLAB fonksiyonu y=(x) .....................95
Özet ..............................................................................98
Bölüm Alıştırmaları .....................................................98
BÖLÜM 4
MATLAB Fonksiyonları ve Veri Alma-Aktarma
Uygulamaları .............................................................. 101
4.1 Genel Fonksiyonlar ........................................... 101
4.2 Veri Alma ve Aktarma ...................................... 106
4.2.1 load ve save komutları ............................ 107
4.2.2 Metin (ASCII) verisini aktarma............. 107
4.2.3 Metin (ASCII) verisini alma .................. 107
4.2.4 İkili veriyi aktarma ................................ 108
Özet ............................................................................ 108
Bölüm Alıştırmaları ................................................... 108
BÖLÜM 5
Mantık Vektörleri....................................................... 111
5.1 Örnekler ............................................................. 112
5.1.1 Süreksiz grafikler ................................... 112
5.1.2 Sıfır ile bölümden kaçınma ................... 113
5.1.3 Sonsuzluktan kaçınma .......................... 114
5.1.4 Rastgele sayıların sayılması ................. 115
5.1.5 Atılan zar ................................................ 116
5.2 Mantıksal İşleçler .............................................. 117
5.2.1 İşleç önceliği .......................................... 118
5.2.2 Tehlike .................................................... 118
5.2.3 Mantıksal işleçler ve vektörler ............. 119
5.3 Mantıksal Vektörlerle İndisleme ...................... 120
5.4 Mantıksal Fonksiyonlar .................................... 121
5.4.1 any ve all’un kullanılması ...................... 122
5.5 elseif Basamakları Yerine Mantıksal
Vektörler ............................................................ 122
Özet ............................................................................ 125
Bölüm Alıştırmaları ................................................... 125
BÖLÜM 6
Matrisler ve Diziler .................................................... 129
6.1 Matrisler ............................................................ 129
6.1.1 Bir beton örneği ..................................... 129
vii
vii
viii
İçindekiler
6.1.2
6.1.3
6.1.4
6.1.5
6.1.6
6.1.7
6.1.8
6.1.9
6.1.10
Matris oluşturma ................................... 131
İndisler ................................................... 131
Transpoz ................................................ 132
İki nokta üst üste işleci ......................... 132
Satır ve sütunları çoğaltma:Döşeme .... 135
Satır ve sütunların silinmesi ................. 135
Elementer matrisler............................... 136
Özel matrisler ........................................ 137
MATLAB fonksiyonlarının matrislerle
kullanımı ................................................ 138
6.1.11 Matrisler üzerinde oynamak ................ 138
6.1.12 Matrisler üzerinde dizi işlemleri
(eleman eleman) .................................... 139
6.1.13 Matrisler ve for....................................... 139
6.1.14 Matrislerin görselleştirilmesi ............... 140
6.1.15 İç içe for’ların vektörleştirilmeleri:
Kredi geri ödeme tablosu ..................... 140
6.1.16 Çok boyutlu diziler ................................ 142
6.2 Matris İşlemleri ................................................. 143
6.2.1 Matris çarpımı........................................ 143
6.2.2 Matrislerde üst alma ............................. 145
6.3 Diğer Matris Fonksiyonları............................... 145
6.4 Nüfus Artışı : Leslie Matrisleri ........................ 145
6.5 Markov Süreçleri ............................................... 149
6.5.1 Rastgele yürüyüş ................................... 149
6.6 Lineer Denklemler............................................. 152
6.6.1 MATLAB’ın çözümü .............................. 152
6.6.2 Kalan ....................................................... 153
6.6.3 Artık belirtilmiş sistemler ..................... 154
6.6.4 Eksik belirtilmiş sistemler .................... 154
6.6.5 Kötü koşulluluk ...................................... 155
6.6.6 Matrisin bölümü .................................... 155
6.7 Seyrek Matrisler ................................................ 156
Özet ............................................................................ 159
Bölüm Alıştırmaları ................................................... 159
BÖLÜM 7
Fonksiyon M-dosyaları.............................................. 161
7.1 Örnek: Tekrar Newton Yöntemi ...................... 161
7.2 Temel Kurallar ................................................... 163
7.2.1 Alt fonksiyonlar ..................................... 168
7.2.2 Özel fonksiyonlar ................................... 168
7.2.3 P-kod dosyaları ...................................... 168
7.2.4 M-dosyası performansını profil uzmanı
(profiler) ile artırmak ............................. 169
7.3 Fonksiyon Tutucular ......................................... 169
7.4 Komut/Fonksiyon Dualitesi .............................. 171
7.5 Fonksiyon İsmi Çözümlemesi .......................... 171
İçindekiler
7.6
M-dosyalarında Hata Ayıklama ....................... 172
7.6.1 Komut dizisinde hata ayıklama ............ 172
7.6.2 Fonksiyonda hata ayıklama .................. 174
7.7 Özyineleme ........................................................ 174
Özet ............................................................................ 175
Bölüm Alıştırmaları ................................................... 177
BÖLÜM 8
Döngüler..................................................................... 179
8.1 For Serileri ile Sınırlı Tekrar ............................. 179
8.1.1 İki terimli katsayı .................................. 179
8.1.2 Güncelleme işlemleri ............................ 180
8.1.3 İç içe for ................................................. 182
8.2 while Serileri ile Belirsiz Tekrar ......................... 182
8.2.1 Tahmin oyunu ........................................ 182
8.2.2 while ifadesi............................................ 183
8.2.3 Bir yatırımın iki katına çıkma süresi ... 184
8.2.4 Asal sayılar ............................................ 185
8.2.5 Mermi yörüngesi ................................... 186
8.2.6 break ve continue..................................... 189
8.2.7 Menüler .................................................. 189
Özet ........................................................................... 190
Bölüm Alıştırmaları ................................................... 191
BÖLÜM 9
MATLAB Grafikleri ................................................... 197
9.1 Temel 2-D Grafikler........................................... 197
9.1.1 Etiketler ................................................. 198
9.1.2 Aynı eksende çoklu çizim ..................... 199
9.1.3 Çizgi stilleri,göstergerler ve renkler .... 200
9.1.4 Eksen limitleri ........................................ 200
9.1.5 Bir figurde çoklu çizim: subplot............. 202
9.1.6 figür, clf ve cla ......................................... 203
9.1.7 Grafiksel girdi ........................................ 203
9.1.8 Logaritmik çizimler ............................... 203
9.1.9 Kutupsal çizimler ................................... 204
9.1.10 Hızlı değişen matematiksel
fonksiyonların çizimi: fplot ................... 205
9.1.11 Özellik editörü (proparty editor) .......... 206
9.2 3-boyutlu Çizimler............................................. 206
9.2.1 plot3 ......................................................... 206
9.2.2 Animasyonlu 3-D eğri çizimleri ............ 207
9.2.3 Ağ yüzeyleri .......................................... 207
9.2.4 Kontur çizimler ...................................... 210
9.2.5 NaNs ile yüzey kesme ........................... 211
9.2.6 Vektör alanlarının görüntülenmesi ...... 211
9.2.7 Matrislerin görsellenmesi ..................... 213
9.2.8 3 boyutlu grafiklerin rotasyonu
(döndürülmesi) ...................................... 214
ix
ix
x
İçindekiler
9.3
Grafiklerle Çalışma .......................................... 214
9.3.1 Tutucularla çalışma ............................... 215
9.3.2 Grafik özellikleri ve bu
özelliklerin değiştirilmesi ..................... 216
9.3.3 Tutucu vektörü ...................................... 218
9.3.4 Grafik nesnelerini oluşturan
fonksiyonlar ........................................... 219
9.3.5 Ebeveynlik (Parenting) ......................... 219
9.3.6 Figürlerin konumlandırılması ............... 219
9.4 Çizimlerin Düzenlenmesi ................................. 220
9.4.1 Çizim düzenleme modu ....................... 221
9.4.2 Özellik düzenleyicisi
(Property editor). ................................... 221
9.5 Animasyon ........................................................ 223
9.5.1 Grafik işleme ile animasyon ................. 223
9.6 Renkler vs. ........................................................ 226
9.6.1 Colormaps (renk haritaları)................... 226
9.6.2 Yüzey çizimlerinin rengi ....................... 227
9.6.3 Truecolor ............................................... 229
9.7 Işıklandırma ve Kamera.................................... 229
9.8 Grafiklerin Kaydedilmesi, Yazdırılması
ve Dışa Aktarımı ............................................... 230
9.8.1 Figür dosyalarının kaydedilmesi ve
açılması .................................................. 230
9.8.2 Bir grafiğin yazdırılması ....................... 230
9.8.3 Bir grafiğin dışa aktarılması ................. 230
Özet ............................................................................ 231
Bölüm Alıştırmaları .................................................. 232
BÖLÜM 10
Dizi Olarak Vektörler ve Diğer Veri Yapıları ............ 237
10.1 Güncelleme Prosesleri ...................................... 237
10.1.1 Birim zaman adımları ............................ 238
10.1.2 Birim olmayan zaman adımları ............ 240
10.1.3 Bir fonksiyon kullanma ......................... 242
10.1.4 Tam çözüm............................................. 243
10.2 Frekanslar, Sütun Grafikler ve
Histogramlar ..................................................... 244
10.2.1 Rastgele yürüyüş .................................. 244
10.2.2 Histogramlar .......................................... 246
10.3 Sıralama ............................................................. 246
10.3.1 Kabarcık sıralaması ............................... 246
10.3.2 MATLAB sort komutu............................ 248
10.4 Yapılar ................................................................ 249
10.5 Hücre Dizileri .................................................... 251
10.5.1 Hücre dizilerine veri atama ................. 251
10.5.2 Hücre dizilerindeki veriye ulaşma ....... 253
10.5.3 Hücre dizilerini kullanma ..................... 253
İçindekiler
10.5.4 Hücre dizilerini görüntüleme ve
görselleştirme ........................................ 254
10.6 Sınıflar ve Nesneler .......................................... 255
Özet ............................................................................ 255
BÖLÜM 11
Hatalar ve Tuzak Noktalar............................... 257
11.1 Sözdizim Hataları .............................................. 257
11.1.1 Uyuşmayan vektör boyutları ................ 258
11.1.2 İsmin saklanması................................... 258
11.2 Mantık Hataları ................................................. 258
11.3 Yuvarlama Hatası ............................................. 259
Özet ............................................................................ 260
Bölüm Alıştırmaları ................................................... 260
ÜNİTE 2
Uygulamalar................................................... 263
BÖLÜM 12
Dinamik Sistemler ..................................................... 265
12.1 Ankastre Kiriş ................................................... 267
12.2 Elektrik Akımı ................................................... 269
12.3 Serbest Düşme .................................................. 272
12.4 Sürtünmeli Eğik Atış ........................................ 281
Özet ............................................................................ 284
Bölüm Alıştırmaları ................................................... 285
BÖLÜM 13
Simülasyon ................................................................ 287
13.1 Rastgele Sayı Üretme ....................................... 287
13.1.1 rand tohumlama ..................................... 288
13.2 Bozuk Para Atma .............................................. 288
13.3 Zar Atma............................................................ 289
13.4 Bakteri Bölünmesi............................................. 290
13.5 Rastgele Yürüyüş .............................................. 290
13.6 Trafik Akışı ........................................................ 292
13.7 Normal Dağılımlı (Gauss) Rastgele Sayılar ..... 295
Özet ............................................................................ 295
Bölüm Alıştırmaları ................................................... 296
BÖLÜM 14
Sayısal Yöntemlere Giriş........................................... 301
14.1 Denklemler ....................................................... 301
14.1.1 Newton yöntemi ................................... 301
14.1.2 Yarılama yöntemi .................................. 304
14.1.3 fzero. ....................................................... 305
14.1.4 roots. ...................................................... 306
14.2 Sayısal İntegral ................................................ 306
14.2.1 Yamuk kuralı ......................................... 306
14.2.2 Simpson kuralı ...................................... 308
14.2.3 quad. ...................................................... 308
14.3 Sayısal Türev .................................................... 308
14.3.1 diff fonksiyonu ....................................... 310
xi
xi
xii
İçindekiler
14.4 Birinci Mertebeden Diferansiyel Denklemler . 310
14.4.1 Euler yöntemi ....................................... 310
14.4.2 Örnek: Bakteri artışı ............................ 311
14.4.3 Alternatif alt indis notasyonu ............. 312
14.4.4 Bir tahmin-doğrulama yöntemi .......... 314
14.5 Lineer Adi Diferansiyel Denklemler
(LADD’ler) ......................................................... 315
14.6 Runge-Kutta Yöntemleri .................................. 315
14.6.1 Adi diferansiyel denklemler ................. 316
14.6.2 Diferansiyel denklem
sistemleri: Kaos .................................... 316
14.6.3 ADD çözücülere ilave
parametreler aktarmak ........................ 319
14.7 Kısmi Türevli Diferansiyel Denklem ................ 321
14.7.1 Isı iletimi ............................................... 321
14.8 Diğer Sayısal Yöntemler .................................. 324
Özet ............................................................................ 326
Bölüm Alıştırmaları ................................................... 326
BÖLÜM 15
Sinyal İşleme ............................................................. 329
15.1 Harmonik Analiz ............................................... 330
15.2 Hızlı Fourier Dönüşümü (FFT) ......................... 334
BÖLÜM 16
SIMULINK® Araç Kutusu ......................................... 341
16.1 Kütle-Yay-Amortisör Dinamik Sistemi ............ 347
16.2 Zıplayan Top Dinamik Sistemi ......................... 349
16.3 Van der Pol Osilatörü........................................ 352
16.4 Duffing Osilatörü .............................................. 352
Bölüm Alıştırmaları ................................................... 354
BÖLÜM 17
Sembolik Paketi ......................................................... 357
17.1 Cebir .................................................................. 358
17.1.1 Polinomlar .............................................. 359
17.1.2 Vektörler................................................. 361
17.1.3 Matrisler ................................................. 362
17.2 Analiz ................................................................. 365
17.3 Laplace Dönüşümleri ve Z Dönüşümleri ......... 368
17.4 Genelleştirilmiş Fonksiyonlar .......................... 369
17.5 Diferansiyel Denklemler ................................... 371
17.6 Funtool, MuPAD Uygulamaları
ve Yardım........................................................... 372
17.6.1 Funtool Uygulaması .............................. 372
17.6.2 The mupad not defteri* ve sembolik
yardım .................................................... 373
Bölüm Alıştırmaları ................................................... 374
İçindekiler
EK A
Sözdizim Hızlı Referansı ........................................... 375
A.1 İfadeler .............................................................. 375
A.2 Fonksiyonlar m-dosyaları ................................ 375
A.3 Grafikler............................................................. 375
A.4 if ve switch ......................................................... 376
A.5 for ve while ........................................................ 377
A.6 Girdi/çıktı .......................................................... 378
A.7 load/save ............................................................. 379
A.8 Vektörler ve matrisler ....................................... 379
EK B
Komut ve Fonksiyon Hızlı Referansı ........................ 381
B.1 Genel Amaçlı Komutlar .................................... 382
B.1.1 Yönetim komutları................................. 382
B.1.2 Değişken yönetimi ve değişkenler
uzayı (workspace) ................................. 382
B.1.3 Dosyalar ve operatör sistemi ............... 382
B.1.4 Komut penceresi (Command Window)
kontrolü .................................................. 382
B.1.5 MATLAB’ın çalıştırılması ve
kapatılması ............................................ 382
B.2 Mantık Fonksiyonlar ......................................... 383
B.3 Program Dili Yapılanması ve Hata
Ayıklanması ....................................................... 383
B.3.1 Bir programlama dili olarak MATLAB . 383
B.3.2 Interaktif girdi ....................................... 383
B.4 Matrisler ve Matris İşlenmesi .......................... 383
B.4.1 Temel matrisler ..................................... 383
B.4.2 Özel değişkenler ve sabitler................. 384
B.4.3 Zaman ve tarih ...................................... 384
B.4.4 Matris işleme ......................................... 384
B.4.5 Özel matrisler ........................................ 384
B.5 Matematiksel Fonksiyonlar .............................. 385
B.6 Matris Fonkiyonları ........................................... 385
B.7 Veri Analizi ........................................................ 386
B.8 Polinom Fonksiyonları ...................................... 386
B.9 Fonksiyon Fonksiyonları .................................. 386
B.10 Seyrek Matris Fonksiyonları............................. 386
B.11 Karakter Fonksiyonları...................................... 387
B.12 Dosya Girdi/Çıktı Fonksiyonları ....................... 387
B.13 Grafikler ............................................................. 387
B.13.1 2-Boyutlu grafikler ................................ 387
B.13.2 3-Boyutlu grafikler ................................ 388
B.13.4 Genel ...................................................... 388
EK C
ASCII Karakter Kodları .............................................. 391
xiii
xiii
xiv
İçindekiler
EK D
Seçilmiş Alıştırmaların Çözümleri ............................ 391
Bölüm 1....................................................................... 391
Bölüm 2....................................................................... 391
Bölüm 3....................................................................... 394
Bölüm 4....................................................................... 395
Bölüm 5....................................................................... 396
Bölüm 6....................................................................... 396
Bölüm 7....................................................................... 396
Bölüm 8....................................................................... 397
Bölüm 9....................................................................... 399
Bölüm 11..................................................................... 399
Bölüm 13..................................................................... 400
Bölüm 14..................................................................... 400
DİZİN...................................................................................................... 403
Download