Not: Bu kitabın 1. baskısı MATLAB VE PROGRAMLAMA adı altında
yapılmıştır. Kitap yeni konularla genişletildiği için isim değişikliği
yapılmıştır.
Kitap projeleri için editör ve
bölüm yazarı arıyoruz.
Ayrıntılı bilgi için
buraya tıklayınız.
Arka kapak
yazısı -
Bu eser, temel bilimler ve mühendislikte güçlü bir yazılım desteği sunan
MATLAB’i anlatmaktadır; ayrıca MATLAB’in hesaplama, çözümleme, görsellik ve
algoritma geliştirme araçları programlama, grafik, matematik ve mühendislik
uygulamaları açısından çeşitli örneklerle öğretilmektedir. Eser; her temel
bilimci (matematik, fizik, kimya...), mühendis (elektronik, bilgisayar,
inşaat, endüstri, makina...), mimar veya sosyal bilimci için önemli bir
kaynak niteliğindedir.
MATLAB, farklı birçok uygulamanın olduğu bir yazılım paketidir;
istatistiksel ve matematiksel hesaplamalar, optimizasyon, finans, yapay
sinir ağları, bulanık (fuzzy) mantık, kontrol, görüntü ve işaret işleme gibi
birçok alanda kullanılabilir. "Toolbox"ları ve "blockset"leriyle eğitim ve
araştırmaya yönelik gereksinimleri karşılayan programlama ortamı sayesinde
kullanıcıların her türlü isteklerine özgü uygulamalar geliştirilmesini
sağlar.
Ö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. -
Dr.
Aslan İNAN
İÇİNDEKİLER
ÖNSÖZ
Bölüm 1. MATLAB NEDİR?
Bölüm 2.
MATLAB TEMELLERI
2.1.
MATLAB’ı Kurmak
2.2.
MATLAB’ı Açmak ve Kapatmak
2.3.
MATLAB’ın Açılış Ekranı
2.3.1. Komut
Penceresi (Command Window)
2.3.2. Geçerli Dizin
(Current Directory)
2.3.3. Çalışma Alanı
(Workspace)
2.3.4. Komut Geçmişi
(Command History)
2.3.5. Araç Çubuğu
(Toolbar)
2.3.6. Geçerli Dizin
Değiştirm
2.4. Komut
Kullanımı
2.4.1. Komut
Penceresi Ekranını Temizleme
2.5. MATLAB’in Yardım
Desteği
2.6. Komut Satırında
Klavye Kısayolları
2.7.
İfadeler (Expressions)
2.8.
MATLAB Özel Karakterleri ve Yazım
Notasyonu
2.9. Sayılar (Numbers)
2.9.1. Sayı Çıkış Formatı
2.9.2. Sayı Formatını
Varsayılan Yapmak
2.10. Operatörler (Operators)
2.10.1 Temel Aritmetik
İşlemler
2.10.2 Aritmetik İşlem
Uygulama Örnekleri
2.11 Değişkenler (Variables)
2.11.1. Değişken
Atama İşlemleri
2.11.2. Değişkenleri
Geri Çağırma ve Değiştirme
2.11.3. Değişkenleri
Listeleme
2.11.4.
MATLAB’de
Veri Türleri
2.11.5.
Özel Değişkenler ve Sabitler
2.11.6. Değişken
Değerini Ekranda Görüntülememe
2.11.7. Birden Fazla
Değişkeni Tek Satırda Kullanma
2.11.8. Tek Satıra
Sığmayan Uzun İfade Kullanımı
2.11.9. Değişken
Silme
2.11.10. Değişkenleri
Kaydetme ve Tekrar Çağırma
2.11.11. Oturum
Kaydetme
2.11.12. Değişken
Kullanımı Uygulama Örnekleri
2.12. Fonksiyonlar
2.18.1. Trigonometrik
Fonksiyon İşlemleri
2.18.1.1
Trigonometrik Fonksiyonlar Uygulama Örnekleri
2.12.2. Logaritmik ve
Üstel Fonksiyon İşlemleri
2.12.2.1
Logaritmik ve Üstel Fonksiyon Uygulama Örnekler
2.12.3. Yuvarlatma
(Rounding) İşlemleri
2.12.4. Kalan Bulma
İşlemleri
2.12.5. Diğer Bazı
Matematiksel İşlemler
2.13. Çalışma Alanını (Komut
Penceresi İçeriğini) Saklama ve Yazdırma İşlemleri
2.14. Temel Matlab Kullanımı
Uygulama Örnekleri
2.15. Temel Matlab Kullanımı
Alıştırmaları
2.16. Özet
Bölüm 3.
DİZİLER
3.1. Skaler (Tekil) İşlemler
3.2. Vektör İşlemleri
3.2.1. Vektör Oluşturma
3.2.1.1. Köşeli Parantez Kullanarak Vektör Oluşturma
3.2.2. Eşit Aralıklı Elemanlar Kullanarak Vektör Oluşturma
3.2.3. Utility Fonksiyonlarla Üretilen Vektörler
3.3. Vektör İşlemleri
3.3.1. Vektörlerde dot (.*,./,.^) İşlemleri
3.4. Vektör Bilgilerini Elde Etmek
3.5. Vektörlere Fonksiyonları Uygulamak
3.5.1. Temel Veri Analiz İşlemleri
3.6. Vektör Uygulama Örnekleri
3.7. Matrisler
3.7.1. Matris Oluşturma
3.7.1.1. Köşeli Parantez Kullanarak Matris Oluşturma
3.7.1.2. Utility Fonksiyonlar Kullanarak Matris Oluşturma
3.7.1.3. Özel Matrisler Oluşturma
3.8. Matris İşlemleri
3.8.1. Matris ve Skaler İşlemler
3.8.2. Matris ve Vektör İşlemleri
3.8.3. Matris Üs Alma İşlemleri
3.8.4. Matris-Matris İşlemleri
3.9. Matris Bilgi Alma Fonksiyonları
3.10. Matris İndeksleme ve Kolon (:) Notasyonu
3.10.1. Mantıksal Endeksleme
3.10.2. Matris Elemanlarını Değiştirme
3.10.3. Matris Elemanlarını Silmek
3.10.4. Matrise Yeni Elemanlar Eklem
3.11. Matrislerle Bazı Fonksiyonların Kullanımı
3.12. Matrisleri Saklama ve Yükleme
3.13. Genel Uygulama Örnekleri
3.14. Özet
3.15. Alıştırmalar
Bölüm 4. TEMEL PROGRAMLAMAYA BİR BAKIŞ
4.1. İşletim Sistemi
4.2. Uygulama Programları
4.3. Programlama Dilleri
4.3.1. Üst Düzeyli
Programlama Dilleri
4.3.1.1. Derleyiciler
ve Yorumlayıcılar
4.3.1.2. Editör
4.3.1.3. Programlama
Dilleri
4.4. Problem Çözme ve
Programlama
4.5. Algoritma Kurma
4.6. Akış Şemaları
4.6.1. Akış Şeması Örnekleri
4.7. Özet
4.8. Alıştırmalar
Bölüm 5.
MATLAB’DE PROGRAMLAMA
5.1. Komut Satırında
Programlama
5.2. M-Dosyaları ile
Programlama
5.2.1. M-Dosyaları’nın
Oluşturulması
5.3. Düz Yazı (Script) M-Dosyaları
5.3.1.
input
Fonksiyonu
5.3.2.
disp
Fonksiyonu
5.3.3. Düzyazı M-Dosyası’nda
Bazı Önemli Noktalar
5.3.4. Düzyazı M-Dosyası
Uygulama Örnekleri
5.4. Fonksiyon (Function)
M-Dosyaları
5.4.1. Fonksiyon
M-Dosyası’nda Bazı Önemli Noktalar
5.4.2. Fonksiyon M-Dosyası
Örnekleri
5.5. Düzyazı M-Dosya İçinde Düzyazı
M-Dosya Kullanımı
5.6. Düzyazı M-Dosya İçinde
Fonksiyon M-Dosya Kullanımı
5.7. Fonksiyon M-Dosya İçinde
Fonksiyon Kullanımı
5.8. M-Dosyaları’nda Hata
Bildirimi
5.9. M-Dosyaları’nda Değişken
Kullanımı
5.9.1. Yerel (Local)
Değişkenler
5.9.2. Evrensel (Global)
Değişkenler
5.9.3. Kalıcı (Persistent)
Değişkenler
5.10. MATLAB’de M-Dosyaları’nın
Yönetimi
5.10.1. Matlab’de Tanımlı
Dosya Türleri
5.10.2. M-Dosyalarını Farklı
Klasörden Çağırma
5.10.3. M-Dosyaları’nı
Listeleme
5.10.4. M-Dosyaları’nı
Görüntüleme ve Düzenleme
5.10.5. Birden Çok M-Dosyası
İle Çalışma
5.10.6. M-Dosyaları’nı
Kilitleme
5.10.7. M-Dosyaları’nı
Silme
5.10.8. Varsayılan Çalışma
Klasörü
5.11. Operatörler
5.11.1. Operatör Önceliği
5.11.2. Aritmetik
Operatörler
5.11.3. İlişkisel
(Relational) Operatörler
5.11.4. Mantıksal (Logical)
Operatörler
5.11.5. Kısa-Devre
(Short-Circuit) Operatörleri
5.12. Mantıksal (Logical)
Fonksiyonlar
5.12.1.
xor
Fonksiyon
5.12.2.
find
Fonksiyon
5.13. Koşul Deyimleri (Conditional
Statements)
5.13.1.
if
Deyimi
5.13.2. İçiçe
if
Yapısı (nest
if)
5.13.3.
else
Deyimi
5.13.4.
elseif
Deyimi
5.13.5.
if
ile İlgili Uygulama
Örnekleri
5.14. Döngüler (loops)
5.14.1.
for
Döngü Deyimi
5.14.1.1.
for
Döngülerinde
disp
Fonksiyonu
5.14.1.2. İçiçe
for
(nest
if)
5.14.1.3.
for
Örnekleri
5.14.2.
while
Döngü Deyimi
5.14.2.1.
while
Örnekleri
5.14.3.
switch-case Yapısı
5.14.3.1.
switch-case
Örnekleri
5.13.4.
continue
ve
break
Yapısı
5.13.5.
try
...
catch
Yapısı
5.14.6.
return
Fonksiyonu
5.14.7.
keyboard
Fonksiyonu
5.14.8.
pause
Fonksiyonu
5.14.9.
echo
ve
beep
Fonksiyonları ve
breakpoint Koyma
5.15. M-Dosyaları’nda Hata
Gösterimi
5.15.1.
disp
Fonksiyonu
5.15.2.
error
Fonksiyonu
5.15.3.
warning
Fonksiyonu
5.15.4.
nargin
ve
nargout
Fonksiyonları
5.15.5.
inputname
Fonksiyonu
5.15.6.
varargin
ve
varargout
Fonksiyonları
5.16. Alt Fonksiyonlar
(Subfunctions)
5.17. Özel (Private)
Fonksiyonlar
5.18. Fonksiyon Fonksiyonları
5.19. Sözce (String) / Karakter
Katarı İşlemleri
5.19.1. Karakter Dizisi/Sözce
Oluşturma ve Dönüşümü
5.19.2. Çok Boyutlu Karakter
Katar Gösterimleri
5.19.3. Karakter Dizilerinin
Karşılaştırılması
5.19.4. Bir Karakter Dizisi
İçinde Karakter Sınıflama
5.19.5. Büyük-Küçük Harf
Dönüşümleri
5.19.6. Sayı-Karakter
Dönüşümü
5.19.7. Karakter-Sayı
Dönüşümleri
5.19.7.1.
str2num
Fonksiyonu
5.19.7.2.
eval
Fonksiyonu
5.19.7.3.
sscanf
Fonksiyonu
5.20. Karakter Dizisinin
input
İle Kullanılması
5.21. Program Çıkışı ve Sonuç
Gösterme İşlemleri
5.21.1.
format
Fonksiyonu
5.21.2.
disp
Fonksiyonu
5.21.3.
fprintf
Fonksiyonu
5.21.4.
sprintf
Fonksiyonu
5.21.5.
disp,
fprintf ve
sprintf
Karşılaştırılması
5.21.6. Program Çıkış Formatı
Örnekleri
5.22. MATLAB’de Veri Türleri
5.23. Giriş/Çıkış
Fonksiyonları
5.23.1.
textread
Fonksiyonu
5.23.2.
fopen
Fonksiyonu
5.23.3.
fclose
Fonksiyonu
5.24. Veri Dosyalarının Kullanımı
5.24.1. MATLAB İçinde Veriler
Oluşturma ve Çağırma
5.24.2. Veri Dosyası
Oluşturma ve Çağırma
5.24.2.1. Program
Çıkışında .txt Dosyası Oluşturma
5.24.2.2. Bir Text veya
Excel Dosyasını Matlab’de Kullanma
5.24.2.3.
fopen
Fonksiyonu
5.25. Programlamada Zamanlama
5.25.1.
tic,
toc Fonksiyonu
5.25.2.
cputime
Fonksiyonu
5.25.3.
etime
Fonksiyonu
5.26. Programlama Başarımı
(Performansı) Değerlendirilmesi
5.26.1. Bir Programın Başarım
Analizi
5.26.2. Döngülerin
Vektörleştirilmesi
5.26.3. Önayırmalı Diziler
Kullanmak
5.27. Bellek Yönetimi ve Diğer
Yöntemler
5.28. Program Yazma (Özet
Bilgiler)
5.29. Özet 357
5.30. Alıştırmalar
Bölüm 6.
GRAFİKLER
6.1. İki Boyutlu Grafikler
6.1.1. Nokta Grafiği
6.1.2. Doğru Grafiği
6.1.3. İki Boyutlu Veri
Grafikleri
6.1.4. Eksenleri Adlandırma
ve Grafiğe Başlık Eklemek
6.1.5. Grafiğe Kılavuz
Çizgileri Eklemek
6.1.6. Veri Grafik
Örnekleri
6.1.7. Grafik Üzerinde
Düzenleme İşlemleri
6.1.7.1. Eksen Adları
ve Başlık Düzenleme İşlemleri
6.1.7.2. Eksen Adları
ve Başlık Yazısı Özellikleri
6.1.7.3. Kılavuz
Çizgileri (Grid) İşlemleri
6.1.7.4. Eksen
İşlemleri
6.1.7.5. Grafik Arka
Plan Rengi İşlemleri
6.1.8. Fonksiyon
Grafikleri
6.1.8.1. Tek
Değişkenli Fonksiyonların Grafikleri
6.1.8.2. Tek
Değişkenli Fonksiyon Grafik Örnekleri
6.1.9. Çizgi ve İşaretleme
Seçenekleri
6.1.10. Figure Penceresinde
Çizgi ve İşaretleme İşlemleri
6.1.11. Grafiklerde Çizgi ve
İşaretleme Örnekleri
6.1.12.
plot
ve
hold
on ile Çoklu Grafik – Aynı
Düzlemde Bağımlı
6.1.13. Grafiğe Yazı
Eklemek
6.1.13.1.
legend
Fonksiyonu
6.1.13.2.
text
Fonksiyonu
6.1.13.3.
gtext
Fonksiyonu
6.1.13.4. Grafik Alanı
Üzerinde Yazı İşlemleri
6.1.14.
fiqure
Fonksiyonu
6.1.15.
pause
Fonksiyonu
6.1.16.
subplot
ile Çoklu Grafik – Aynı Düzlemde Bağımsız
6.1.17. Eksen Sınırlarını
Ayarlamak
6.1.17.1.
linspace
Fonksiyonu
6.1.17.2.
axis
Fonksiyonu
6.1.17.3. Grafik
Ekranında Eksen İşlemleri
6.1.18. Grafiklere Simgesel
Karakterler Eklemek
6.1.19. Grafik Ölçekleri –
Logoritmik Grafikler
6.1.20. İki Y-Eksenli Grafik
Çizmek 424
6.1.21. İki Boyutlu Fonksiyon
Grafikleri Çizimi
6.1.21.1.
ezplot
Fonksiyonu Kullanımı
6.1.21.2.
fplot
Fonksiyonu Kullanımı
6.2. Temel Grafik İşlemleri
6.2.1. Grafiği Kaydetmek
6.2.2. Grafiğin Word veya
Powerpoint Programında Kullanılması
6.2.3. Word’de Grafikler için
Picture Araçkutusunu Kullanmak
6.2.4. Grafiği Yazdırmak
6.3. Grafiklerin
Özelleştirilmesi
6.4. Özel Grafikler
6.4.1. Polar Grafikleri
6.4.2. Pasta Dilimi
Grafikleri
6.4.3. Çubuk Grafikler
6.4.4. Histogram
Grafikler
6.4.5. Özel Grafik
Örnekleri
6.5. Üç Boyutlu Grafikler
6.5.1. 3D Çizgi
Grafikler
6.5.2. 3D Ağ Grafikler
6.5.3. 3D Yüzey Grafikler
6.5.4. 3D Grafik
Şekillendirme
6.5.4.1.
colormap
Fonksiyonu
6.5.4.2.
view
Fonksiyonu
6.5.4.3.
shading
Fonksiyonu
6.5.5. Üç Boyutlu Grafikleri
Doğrudan Çizdirmek
6.5.6. Üç Boyutlu Özel Grafik
Örnekleri
6.6. İleri Grafik Uygulamaları
6.6.1.
movie
Fonksiyonu (Hareketli Grafikler)
6.6.2. GUI (Graphic User
Interface) Uygulamaları
6.7. Özet
6.8. Sorular/Alıştırmalar
Bölüm 7.
MATLAB
Programlama Örnekleri
A- Fonksiyon m-Dosya Örnekleri
B- Düzyazı m-Dosya Örnekleri
C- Grafik Örnekleri
Özet
Bölüm 8.
TEMEL MATEMATİKSEL İŞLEMLER
8.1. Karmaşık (Kompleks) Sayı
İşlemleri
8.1.1. Karmaşık Sayı
Foksiyonları
8.1.2. Karmaşık Sayı Uygulama
Örnekleri
8.1.3. Karmaşık Sayıların
Kutupsal Gösterimi
8.1.3.1.
cart2pol
ve
pol2cart
Fonksiyonları
8.1.3.2. Euler
Formülü
8.1.4. Karmaşık (Kompleks)
Sayılı Matris Oluşturma
8.1.5. Karmaşık Sayı Grafiği
8.1.5.1. Karmaşık
Sayının Polar Form Grafiği
8.1.5.2. Karmaşık
Sayının Kartezyen Form Grafiği
8.2. Polinomlar
8.2.1. Polinomların
Gösterimi
8.2.2. Polinomların Değerini
Bulma
8.2.3. Polinomların Köklerini
Bulma
8.2.4. Kökleri Belli Olan
Polinomları Bulma
8.2.5. Polinomların
Çarpımı
8.2.6. Polinomların
Bölümü
8.2.7. Polinomlarda Toplama
ve Çıkartma İşlemi
8.2.8. Polinomların Türevi
8.3. Vektör Analiz işlemleri
8.4. Lineer Denklem Sistemlerinin
Çözümü
8.5. Lineer Olmayan Denklem
Sistemlerinin Çözümü
8.5.1.
fzero
Fonksiyonu
8.5.2.
fsolve
Fonksiyonu
8.5.3.
solve
Fonksiyonu
8.6. Eğri Uydurma
8.7. Sembolik Matematik
8.7.1. Çoklu Sembolik
Değişken Kullanımı -
syms
Fonksiyonu
8.7.2. Sembolik Sadeleştirme
İşlemleri
8.7.3. Sembolik ifadelerde
Değer Koyma İşlemleri
8.7.4. Laplace Dönüşümleri
8.8. İntegral
8.8.1. Sayısal Değerli
(Nümerik) İntegral Örnekleri
8.8.2. Sembolik İntegral
Örnekleri
8.9. Türev
8.9.1. Türev Örnekleri
8.10. Limit
8.10.1. Limit Örnekleri
8.11. Denklem Sistemlerinin
Çözümü
8.11.1. Denklem Sistemlerinin
Çözüm Örnekleri
8.12. Diferansiyel Denklem
Çözümü
8.12.1. Diferansiyel Denklem
Çözüm Örnekleri
8.12.2. Adi Diferansiyel
Denklem Çözücüleri
8.13. Diğer Sembolik Matematik
İşlemler
8.14. Özet
Ek-A: MATLAB Derleyici
Kaynakça
Dizin
ISBN: 975-6797-75-4
Teknik Özellikleri: 704
sayfa, 16,5x24
cm2, 80 gr. 1.hamur kağıt.
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. |