İç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