Not: Bu kitabın ikinci baskısı yeni konular eklenerek
MATLAB KILAVUZU olarak yayınlanmıştır.
ÖNSÖZ
MATLAB, sayısal ve sembolik
hesaplamalar, veri çözümlemesi, gerçek ortamda test ve ölçüm yapabilme, çok
gelişmiş çizim işlemleri, algoritma geliştirme, ileri seviye programlama,
C/C++ ile tümleşik çalışabilmesi, mühendislik ve bilimsel uygulamaları ile
tüm dünyada bir çok alanda yaygın olarak kullanılan yazılımdır.
Bu kitapta kullanılan bazı örnek
ve uygulamalarda
www.mathworks.com
sitesinden yararlanılmıştır. Zaten Matlab yazılım ailesinin en güzel yanı
Web sitesinin çok zengin yardımcı kaynaklara sahip olması ve bunları
ücretsiz sunmasıdır.
Matlab yazılımı, kullanıcıya çok
kolay ve etkin uygulama geliştirme olanağı verir. Özellikle Toolbox
adı verilen ve hemen hemen birçok matematiksel ve mühendislik alanını
kapsayan alt modülleri ile ilgili her konuda kolayca ve pratik bir şekilde
uygulamalar yapılabilir. Gün geçtikçe gelişen Simulink ile gerçek
zamanlı uygulamaların (iletişim, işaret ve görüntü işleme, mekanik ve
elektriksel sistemler vb) benzetimini gerçekleştirmeyi olanaklı hale
getirmiştir.
MATLAB, ülkemizde de başta
üniversitelerimiz olmak üzere özel sektörde de kullanılmaya başlanmıştır.
Matlab gerek istatistik ve matematik öğrencilerine gerekse finans ve
mühendislik alanlarındaki öğrencilere öğretim yaşamlarında ve sonrası iş
yaşamlarında bilgisayarı kullanabilme ortamı sunmaktadır. Birçok
üniversitede sayısal hesaplamaya dayanan derslerin uygulamaları Matlab ile
kolayca yapılmaktadır. Her geçen gün MATLAB’in birçok derste de yardımcı
araç olarak kullanılacağına inanıyorum.
Yıldız Teknik Üniversitesi İnsan
Kaynaklarını Geliştirme Merkezi bünyesinde
(www.ikgm.yildiz.edu.tr)
MATLAB üzerine kurslar devam etmektedir...
Kitabın siz değerli okuyucularıma
yararlı olması dileğiyle,
Dr.
Aslan İNAN
Arka Kapak Yazısı -
Elinizdeki
bu eser ile Matlab dünyasına giriş yapıp hızla yol alabilirsiniz...
MATLAB, tıbbi araştırmalardan uzay araştırmalarına kadar çok geniş yelpazede
kullanılmaktadır; kullanıcıya, güvenebileceği hızlı bir analiz ve tasarım
ortamı sağlar. Yüzlerce hazır fonksiyonla veya programcı tarafından
yazılacak fonksiyonlarla işlemler son derece kolaylaştırılabilir. Örneğin,
yazılan bir Matlab programını C/C++ dillerine dönüştürebilir; 20. dereceden
bir denklemin kökleri bulunabilir; 100x100 matrisin tersi alınabilir; bir
elektrik motorunun denetimi gerçekleştirilebilir.
Bu eser matematiksel hesaplama, çözümleme, görsellik ve algoritma geliştirme
araçlarını içeren mühendislik ve bilimsel uygulamalara yönelik güçlü bir
yazılım sistemi olan MATLAB’ı anlatmaktadır. Eser, Matlab'de sağlam bir
temel oluşturma, ayrıntılı grafik işlemleri ve en önemli unsuru olan
programlama üzerinde yoğunlaşmıştır.
MATLAB ailesi,
sayısal ve simgesel hesaplama, ayrıca gerçek ortamların simülasyonu ve
analizi için Simulink; uygulamaya özel istatistik, optimizas-yon, finans,
yapay sinir ağları, bulanık (fuzzy) mantık, kontrol, görüntü ve işaret
işleme vb. "toolbox"ları ve "blockset"leriyle eğitim ve araştırmaya yönelik
gereksinimleri karşılayacak olan teknik programlama ortamı sayesinde birçok
alanda kullanıcının isteklerine özgü uygulamalar geliştirmesini sağlar.
İÇİNDEKİLER
ÖNSÖZ
Bölüm 1.
MATLAB
NEDİR?
Bölüm 2.
MATLAB TEMELLERİ
2.1.
MATLAB’ı Kurmak 17
2.2.
MATLAB’ı Açmak ve Kapatmak 18
2.3.
MATLAB’ın Açılış Ekranı 18
2.3.1. Komut Penceresi
(Command Window) 20
2.3.2. Çalışma Alanı
(Workspace) 22
2.3.3. Geçerli Dizin
(Current Directory) 23
2.3.4. Geçmişteki
Komutlar (Command History) 24
2.3.5. Başlatım Pedi
(Launch Pad) 24
2.3.6. Araç Çubuğu
(Toolbar) 25
2.3.7. Geçerli Dizin
26
2.4. Komut Kullanımı
27
2.4.1. Ekran Temizleme
32
2.5. MATLAB’in Yardım
Desteği 33
2.6. İfadeler
(Expressions) 35
2.7.
MATLAB Temel Yazım Kuralı
(Syntax) 37
2.8. Komut Satırında Klavye
Kısayolları 37
2.9. MATLAB’de Veri Türleri
38
2.10. MATLAB’de Dosya Türleri
39
2.11. Özel Sabit ve Değişkenler
42
2.12. MATLAB Notasyonları
MATLAB Özel Karakterleri ve Noktalama (Punctuation) İşaretleri
2.13. Sayılar (Numbers)
45
2.14. Sayı/Veri Çıkış Formatları
46
2.14.1. Sayı Formatını
Varsayılan Yapmak 50
2.15. Operatörler (Operators)
51
2.16. Temel Aritmetik İşlemler
51
2.17 Değişkenler (Variables)
55
2.17.1. Değişken Atama
İşlemleri 57
2.17.2. Değişkenleri
Listeleme 57
2.17.3. Değişkenleri
Değiştirme 58
2.17.4. Değişken
İçeriklerini Göstermeme 58
2.17.5. Değişken
Silme/Yok Etme 59
2.17.6. Hata (Error)
Mesajları 60
2.17.7. Değişkenleri
Saklama ve Tekrar Çağırma 60
2.18. Fonksiyonlar (Functions)
62
2.18.1. Trigonometrik
Fonksiyon İşlemleri 64
2.18.2. Logaritmik ve
Üstel Fonksiyon İşlemleri 66
2.18.3. Karmaşık
(Komplex) Sayı İşlemleri 70
2.18.4. Yuvarlatma
(Rounding) İşlemleri 76
2.18.5. Kalan Bulma
İşlemleri 78
2.18.6. Temel
İstatistiksel İşlemler 79
2.18.7. Diğer Bazı
Matematiksel İşlemler 81
2.19. Çalışma Alanını
(Komut Penceresi İçeriğini)
Saklama ve Yazdırma İşlemleri
2.20. İşlem ve Hesap Uygulamaları
83
2.21. Özet
Bölüm 3.
DİZİLER
(ARRAY)
3.1. Skaler İşlemler 94
3.2. Vektör İşlemleri 95
3.2.1. Vektör Oluşturma 95
3.2.1.1. Köşeli Parantez Kullanarak Vektör Oluşturma 95
3.2.2. Eşit Aralıklı Elemanlar Kullanarak Vektör Oluşturma
3.2.3. Utility Fonksiyonlarla Üretilen Utility Vektörler
3.3. Vektör Bilgilerini Elde Etmek 108
3.4. Vektörlere Fonksiyonları Uygulamak 110
3.5. Matrisler 114
3.5.1. Matris Oluşturma 114
3.5.1.1. Köşeli Parantez Kullanarak Matris Oluşturma 114
3.5.1.2. Utility Fonksiyonlar Kullanarak Matris Oluşturma 117
3.5.1.3. Özel Matrisler Oluşturma 122
3.6. Matris İşlemleri 125
3.6.1. Matris ve Skaler İşlemler 125
3.6.2. Matris ve Vektör İşlemleri 128
3.6.3. Kompleks (Komplex) Sayılı Matris Oluşturma 129
3.6.4. Matris Üs Alma İşlemleri 131
3.6.5. Matris-Matris İşlemleri 133
3.7. Matris Bilgi Alma Fonksiyonları 135
3.8. Matris İndeksleme ve Kolon (:) Notasyonu 139
3.8.1. Mantıksal Endeksleme 143
3.8.2. Matris Elemanlarını Değiştirme 144
3.8.3. Matris Elemanlarını Silme 145
3.8.4. Matrise Yeni Elemanlar Ekleme 146
3.9. Matrislerle Bazı Fonksiyonların Kullanımı 148
3.10. Matrisleri Kullanarak Lineer Denklem Sistemlerinin Çözümü
3.11. Matrisleri Saklama ve Yükleme 153
3.12. Polinomlar 153
3.12.1. Polinomların Gösterimi 153
3.12.2. Polinomların Değerini Bulma 154
3.12.3. Polinomların Köklerini Bulma 155
3.12.4. Kökleri Belli Olan Polinomları Bulma 156
3.12.5. Polinomların Çarpımı 157
3.12.6. Polinomların Bölümü 157
3.12.7. Polinomlarda Toplama ve Çıkartma İşlemi 158
3.12.8. Polinomların Türevi 159
3.13. Özet 160
3.14. Sorular/Alıştırmalar
Bölüm 4. TEMEL PROGRAMLAMAYA BİR BAKIŞ
4.1. İşletim Sistemi Yazılımları
170
4.2. Uygulama Programları
171
4.3. Programlama Dilleri 171
4.4. Algoritma Kurma 178
4.5. Akış Şemaları (Flow Charts)
183
4.6. Özet 191
4.7. Sorular/Alıştırmalar
Bölüm 5.
MATLAB’DE
PROGRAMLAMA
5.1. Komut Satırında Programlama
194
5.2. M-Dosyaları ile
Programlama 194
5.2.1. M-Dosyaları’nın Oluşturulması
195
5.3. Düz Yazı (Script)
M-Dosyaları 197
5.3.1. Düzyazı M-Dosyası’nda Bazı Önemli Noktalar
199
5.4. Fonksiyon (Function)
M-Dosyaları 202
5.4.1. Fonksiyon M-Dosyası’nda Bazı Önemli Noktalar
203
5.4.2. Fonksiyon M-Dosyası Örnekleri 205
5.5. M-Dosyaları’nda
Değişken Kullanımı 209
5.5.1. Yerel Değişkenler (Local Variables) 210
5.5.2. Genel/Evrensel Değişkenler (Global Variables) 211
5.5.3. Kalıcı Değişkenler (Persistent Variables) 213
5.6. M-Dosyaları’nın
Yönetimi – Komut ve Fonksiyonları 214
5.6.1. M-Dosyaları’nı Çağırma ve Çalıştırma 214
5.6.2. M-Dosyaları’nı Listeleme 214
5.6.3. M-Dosyaları’nı Görüntüleme ve Düzenleme
217
5.6.4. Birden Fazla M-Dosyası ile Çalışma
218
5.6.5. M-Dosyaları’nı Kilitleme 219
5.6.6. M-Dosyaları’nı Silme 220
5.7. Genel Dosya Yönetimi
221
5.7.1. Varsayılan Çalışma Klasörü 221
5.7.2. Çalışma Klasöründe Dosya Listeleme 222
5.7.3. Çalışma Klasörü Değiştirme 223
5.8. Operatörler
225
5.8.1. Operatör Önceliği 225
5.8.2. Aritmetik Operatörler 226
5.8.3. İlişkisel Operatörler (Relational Operators)
226
5.8.4. Mantıksal Operatörler (Logical Operators)
229
5.8.5. Kısa-Devre Operatörleri (Short-Circuit Operators)
233
5.9. Mantıksal Fonksiyonlar
(Logical Functions) 234
5.9.1.
find
Fonksiyon 235
5.9.2.
xor
Fonksiyonu 237
5.10. Koşul Deyimleri
(Conditional Statements) 237
5.10.1.
if
Deyimi 237
5.10.2.
else
Deyimi 240
5.10.3.
elseif
Deyimi 241
5.11. Döngüler (loops)
248
5.11.1.
for
Döngü Deyimi 248
5.11.2.
while
Döngü Deyimi 257
5.11.3.
switch-case Yapısı 261
5.11.4.
continue
ve
break
Yapısı 263
5.11.5.
try
...
catch
Yapısı 265
5.11.6.
return
Fonksiyonu 265
5.11.7.
input
Fonksiyonu 266
5.12. M-Dosyaları’nda Hata
Gösterimi 267
5.12.1.
disp
Fonksiyonu 268
5.12.2.
error
Fonksiyonu 268
5.12.3.
warning
Fonksiyonu 269
5.12.4.
nargin
ve
nargout
Fonksiyonları 269
5.12.5.
varargin
ve
varargout
Fonksiyonları
270
5.13. Alt Fonksiyonlar
(Subfunctions) 272
5.14. Özel (Private)
Fonksiyonlar 273
5.15. Fonksiyon Fonksiyonları
274
5.16. Karakter Katarı (String)
İşlemleri 276
5.16.1. Çok Boyutlu Katar Gösterimleri 278
5.16.2. Katarların Karşılaştırılması 280
5.16.3. Büyük-Küçük Harf Dönüşümleri 282
5.16.4. Sayı-Katar Dönüşümü 283
5.16.5. Katar-Sayı Dönüşümleri 285
5.16.6. Formatlı Verileri Katara Yazmak 286
5.17. Katar Değerleme 287
5.17.1
eval
Fonksiyonu 287
5.18. Katarın
input
İle Kullanılması 289
5.19. Program Çıkışı ve Sonuç
Gösterme İşlemleri 291
5.19.1.
format
Fonksiyonu 291
5.19.2.
disp
Fonksiyonu 292
5.19.3.
fprintf
Fonksiyonu 293
5.19.4.
sprintf
Fonksiyonu 302
5.19.5.
disp,
fprintf ve
sprintf
Karşılaştırılması 304
5.20. MATLAB’de Veri Türleri 306
5.21. Giriş/Çıkış Fonksiyonları
310
5.22. Veri Dosyaları Kullanımı
313
5.22.1. MATLAB İçinde Veriler Oluşturma ve Çağırma
313
5.22.2. Veri Dosyası Oluşturma ve Çağırma 317
5.23. Programlamada Zamanlama
323
5.23.1.
tic,
toc Fonksiyonu
323
5.23.2.
cputime
Fonksiyonu 324
5.23.3.
etime
Fonksiyonu 325
5.24. Programlama Başarımı
(Performansı) Değerlendirilmesi 325
5.24.1. Bir Programın Başarım Analizi
325
5.24.2. Döngülerin Vektörleştirilmesi 327
5.24.3. Önayırmalı Diziler Kullanmak 328
5.25. Bellek Yönetimi ve Diğer
Yöntemler 330
5.26. Program Yazma (Özet Bilgiler)
331
5.26.1. Düzyazı M-Dosyası Örneği 333
5.26.2. Program Giriş Anteti 336
5.26.3. Bir MATLAB Programı Anatomisi 338
5.26.4. Bir Fonksiyon M-Dosyası’nın Anatomisi 339
5.27. Özet 341
5.28. Sorular/Alıştırmalar
Bölüm 6.
GRAFİKLER
6.1. İki Boyutlu Grafikler
344
6.1.1. İki Boyutlu Doğru ve Veri Grafikleri 344
6.1.2. Eksenleri Adlandırma ve Grafiğe Başlık Eklemek
346
6.1.3. Grafiğe Kılavuz Çizgileri Eklenmesi 348
6.1.4. Eksen Adlandırma ve Başlık İşlemleri 351
6.1.4.1. Yazı Düzeltme ve Değiştirme İşlemleri 351
6.1.4.2. Yazı Özellik İşlemleri 353
6.1.4.3. Yazı Hizalama ve Konumlandırma İşlemleri
354
6.1.5. Grafik Alanında Kılavuz Çizgileri (Grid) İşlemleri
355
6.1.6. MATLAB’de Renk Kavramı 356
6.1.7. Grafik Arka Plan Renkleri 357
6.1.8. Tek Değişkenli Fonksiyonların Grafikleri 358
6.1.9. Çizgi ve İşaretleme Seçenekleri
365
6.1.10. Grafik Alanında Çizgi ve İşaretleme İşlemleri
369
6.1.11.
plot
ve
hold on
ile Çoklu Grafik – Aynı Düzlemde Bağımlı 373
6.1.12. Grafiğe Yazı Eklemek 378
6.1.12.1.
legend
Fonksiyonu 378
6.1.12.2.
text
Fonksiyonu 382
6.1.12.3.
gtext
Fonksiyonu 383
6.1.12.4. Grafik Alanı Üzerinde Yazı İşlemleri 386
6.1.13.
fiqure
Fonksiyonu 387
6.1.14.
pause
Fonksiyonu 389
6.1.15. subplot
ile Çoklu Grafik – Aynı Düzlemde Bağımsız 389
6.1.16. Eksen Sınırlarını Ayarlamak 394
6.1.16.1.
linspace
Fonksiyonu 394
6.1.16.2.
axis
Fonksiyonu 396
6.1.17. Grafik Ekranında Eksen İşlemleri 398
6.1.18. Grafik Ölçekleri – Logoritmik Grafikler 404
6.1.19. İki Y-Eksenli Grafik Çizmek 407
6.1.20. İki Boyutlu Fonksiyon Grafikleri Çizimi 409
6.1.20.1.
ezplot
Fonksiyonu Kullanımı 409
6.1.20.2.
fplot
Fonksiyonu Kullanımı 414
6.2. Temel Grafik İşlemleri
418
6.2.1. Grafiği Saklamak 418
6.2.2. Grafiğin Word veya Powerpoint Programında Kulanılması
421
6.2.3. Word’de Grafikler için Picture Araçkutusunu Kullanmak
423
6.2.4. Grafiği Yazdırmak 424
6.3. Grafiklerin Özelleştirilmesi
427
6.4. Özel Grafikler
444
6.4.1. Polar Grafikleri 444
6.4.2. Pasta Dilimi Grafikleri 445
6.4.3. Çubuk Grafikler 448
6.4.4. Histogram Grafikler 450
6.4.5. Karışık Örnekler 451
6.5. Üç Boyutlu Grafikler
456
6.5.1. 3D Çizgi Grafikler 457
6.5.2. 3D Ağ Grafikler 460
6.5.3. 3D Yüzey Grafikler 461
6.5.4. 3D Grafik Şekillendirme 463
6.5.4.1.
colormap
Fonksiyonu 463
6.5.4.2.
view
Fonksiyonu 464
6.5.4.3.
shading
Fonksiyonu 466
6.5.5. Üç Boyutlu Grafikleri Doğrudan Çizmek
468
6.5.6. Özel Üç Boyutlu Grafikler 472
6.5.7. Üç Boyutlu Grafik Uygulamaları 477
6.6. İleri Grafik Uygulamaları
479
6.6.1.
movie
Fonksiyonu (Hareketli Grafikler) 480
6.6.2. GUI (Graphic User Interface) Uygulaması
481
6.7. Özet 482
6.8. Sorular/Alıştırmalar
Bölüm 7.
MATLAB
Programlama Örnekleri
(Yaklaşık 80 adet çözümlü örnek
uygulama verilmiştir.)
Bölüm 8.
TEMEL
MATEMATİKSEL İŞLEMLER
8.1. İntegral
563
8.1.1. Sayısal Değerli İntegral Örnekleri 563
8.1.2. Simgesel İntegral Örnekleri 566
8.2. Türev 572
8.2.1. Türev Örnekleri 573
8.3. Limit 576
8.3.1. Limit Örnekleri 576
8.4. Denklem Sistemlerinin Çözümü
577
8.4.1. Denklem Sistemlerinin Çözüm Örnekleri 580
8.5. Diferansiyel Denklem Çözümü
583
8.5.1. Diferansiyel Denklem Çözüm Örnekleri 584
8.5.2. Adi Diferansiyel Denklem Çözücüleri 586
8.6. Diğer Matematik İşlemler
590
8.7. Özet
Ek-A:
MATLAB Derleyici
Kaynakça
Dizin
ISBN: 975-6797-47-9
Teknik Özellikleri: 608
sayfa, 16,5x24
cm2, 80 gr. 1.hamur kağıt, Amerikan Cilt.
Yayınevimizin konuyla
ilgili eserleri:
Diskrete Matematik Ortak
Yazarlı
Veri Madenciliği
Dr. Gökhan SİLAHTAROĞLU
Veri Madenciliği
Yöntemleri Dr. Yalçın ÖZKAN
Network TCP/IP ve
UNUX El Kitabı Dr. Rifat ÇÖLKESEN
Network/Veri
Haberleşmesi Uygulamaları Yasin KAPLAN
Veri
Haberleşmesi/Network Temelleri Yasin KAPLAN
Veri
Haberleşmesi/Network Kavramları Yasin KAPLAN
Java ve Yazılım Tasarımı
Altuğ Altıntaş
Bilgisayar
Mimarisi Ortak Yazarlı
Elektronik
Mühendisliğine Giriş Ortak Yazarlı
Endüstri
Mühendisliğine Giriş
Ortak Yazarlı (Editör: Prof. Dr. Ercan ÖZTEMEL)
Bilgisayar
Ağları Dr. Demir ÖNER
Bilgisayar
Mühendisliğine Giriş
Ortak yazarlı (Editör: Dr. Rifat ÇÖLKESEN)
Veritabanı ve
Uygulamaları Yılmaz KAYA ve Ramazan TEKİN
Sistem Analizi ve
Tasarımı (Bilgisayar Bilimlerinde) Prof.Dr.
Oya KALIPSIZ ve ark.
Yazılım
Mühendisliği
Dr.Erhan SARIDOĞAN
C++ ve Nesneye Yönelik
C Programlama
Dr.Erhan SARIDOĞAN
Programlama Sanatı Algoritmalar (C Uyarlaması)
Dr.Cengiz UĞURKAYA (Editör)
C Programlama Dili -
İşte C Dr.Rifat ÇÖLKESEN
Uygulamalı C
Programlama Dili Bora TUNCER
Veri Yapıları
ve Algoritmalar
Dr.Rifat ÇÖLKESEN
Veri
Yapıları Algoritma Temelleri
Dr.Sefer KURNAZ
MATLAB Kılavuzu
Dr.Aslan İNAN
JAVA ve Yazılım Tasarımı
Altuğ B. ALTINTAŞ
Linux Altında
Programlama
Ali VARDAR
GTK/GNOME Programlama
Ali VARDAR
Kitaplarımızın tüm listesi için
buraya tıklayınız.
|