MATLAB Eklentileri MATLAB Compiler MATLAB C Math Library Araçkutuları Control System. Communications



Benzer belgeler
MATLAB A GİRİŞ

MATLAB. Grafikler DOÇ. DR. ERSAN KABALCI

Bilgisayar Programlama MATLAB

MatLab. Mustafa Coşar

MATLAB ile ANALİZ (MIA)

MAK1010 MAKİNE MÜHENDİSLİĞİ BİLGİSAYAR UYGULAMALARI

Matlab da 2-boyutlu Grafik Çizimi. Arş. Gör. Mehmet Ali ÜSTÜNER

Grafik Komutları. Grafik Türleri plot: çizgisel grafikler bar: sütun bar şeklindeki grafikler stem: sütun çizgisel grafikler pie: pasta grafikleri

BİLGİSAYAR PROGRAMLAMA DERSİ

MATLAB. Temel işlemler, Vektörler, Matrisler DOÇ. DR. ERSAN KABALCI

GÖRÜNTÜ İŞLEME MATLAB DERS-2

MATLAB de GRAFİK İŞLEMLERİ

1. GİRİŞ 1.1. GENEL BAKIŞ 1.2. KULLANICI ARAYÜZÜ

MAK1010 MAKİNE MÜHENDİSLİĞİ BİLGİSAYAR UYGULAMALARI

BİLGİSAYAR PROGRAMLAMA MATLAB

Yrd. Doç. Dr. A. Burak İNNER

MATLAB a GİRİŞ. Doç. Dr. Mehmet İTİK. Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü

MATLAB İLE PROGRAMLAMAYA GİRİŞ. Nedim TUTKUN Elektrik Elektronik Mühendisliği Bölümü

DENEY 1: Matlab de Temel Uygulamalar

SAYISAL ANALİZ. Doç.Dr. Cüneyt BAYILMIŞ. Sayısal Analiz. Doç.Dr. Cüneyt BAYILMIŞ

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir.

İM 205-İnşaat Mühendisleri için MATLAB. Irfan Turk Fatih Üniversitesi,

BM202 SAYISAL ÇÖZÜMLEME

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

MATLAB İLE PROGRAMLAMAYA GİRİŞ. Nedim TUTKUN Elektrik Elektronik Mühendisliği Bölümü

Bilgisayar Programlama MATLAB

GÖRÜNTÜ İŞLEME DERS-2

Yukarıdaki program çalıştırıldığında aşağıdaki sonucu elde ederiz.

MATLAB MATLAB MAT LAB MAT LAB MATLAB

Bilgisayar Programlama MATLAB

MATLAB ile ANALİZ (MIA)

MATLAB Temelleri. EE-346 Hafta 2 Dr. Ayşe DEMİRHAN

Bilgisayar Programlama

2.3. MATRİSLER Matris Tanımlama

MATLAB Temelleri. EEM104 - Bilgisayar Programlama. Matlab ın Açılış Ekranı. Dr. Mehmet Siraç Özerdem EEM Dicle Üniversitesi. Launch Pad.

MATLAB İLE PROGRAMLAMAYA GİRİŞ. Nedim TUTKUN Elektrik Elektronik Mühendisliği Bölümü

Algoritma ve Akış Diyagramları

MATLAB Semineri. EM 314 Kontrol Sistemleri 1 GÜMMF Elektrik-Elektronik Müh. Bölümü. 30 Nisan / 1 Mayıs 2007

MATLAB A GİRİŞ. EE-346 Hafta-1 Dr. Ayşe DEMİRHAN

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

6. ÇİZİM İŞLEMLERİ Boyutlu Eğri Çizimi x ve y vektörleri ayni boyutta ise bu vektörleri ekrana çizdirmek için plot(x,y) komutu kullanılır.

FORMÜLLER VE FONKSİYONLAR

MATLAB GRAFİK. Matlab, 2D ve 3D başta olmak üzere çok gelişmiş grafik araçları sunar:

BİLGİSAYAR PROGRAMLAMA DERSİ

MATLAB DE 2 BOYUTLU GRAFİK TÜRLERİ

ÖRNEK: Ax+B=0 şeklinde 1. derece denklemin çözümünü veren programa ait akış diyagramını çiziniz.

BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (

Excel' de formüller yazılırken iki farklı uygulama kullanılır. Bunlardan;

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA VE FİZİKTE PROGRAMLAMA DERSLERİ İÇİN MATLAB ÇALIŞMA NOTLARI. Mehmet ÖZKAN

Pencereler Pencere Özellikleri

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular

MATLAB DA 2 BOYUTLU GRAFİK İŞLEMLERİ

>> 5*3-4+6/2^0 ans = 17 ( Matlab da sayılar arası işlemler [ +, -, /, *, ^ ] bu şekilde ifade edilmektedir.)

Ders 5 : MATLAB ile Grafik Uygulamaları

1. BÖLÜM Polinomlar BÖLÜM II. Dereceden Denklemler BÖLÜM II. Dereceden Eşitsizlikler BÖLÜM Parabol

AST415 Astronomide Sayısal Çözümleme - I. 7. Grafik Çizimi

Algoritmalar ve Programlama. DERS - 4 Yrd. Doç. Dr. Ahmet SERBES

MATLAB

Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Algoritma & Matlab.

Mühendislik Mekaniği Statik. Yrd.Doç.Dr. Akın Ataş

MATLAB ve Simulink Kullanımına Giriş

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği

HSancak Nesne Tabanlı Programlama I Ders Notları

fprintf ( Ekranda Görüntülenen Mesaj )

EĞİTİM-ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ 6. SINIF 2. DÖNEM 2. SINAV ÇALIŞMA NOTLARI

BÖLÜM 5 5. TABLO OLUŞTURMAK

Bu uygulama saatinde, dinamik sistemlerin simülasyonu (benzetimi) için geliştirilmiş olan, oldukça kullanışlı bir arayüz, Simulink, tanıtılacaktır.

Algoritma ve Akış Diyagramları

Matematikte karşılaştığınız güçlükler için endişe etmeyin. Emin olun benim karşılaştıklarım sizinkilerden daha büyüktür.

MATLAB DA SAYISAL ANALİZ DOÇ. DR. ERSAN KABALCI

.docx veya.doc (2007 ve üzeri sürümlerde.docx iken sürümlerinde.doc tur.) 1.Belge Başlığı

STEM komutu ayrık zamanlı sinyalleri veya fonksiyonları çizmek amacı ile kullanılır. Bu komutun en basit kullanım şekli şöyledir: stem(x,y).

Animasyon Teknikleri, Ses ve Video İşlemleri 1 / 18

TEMEL BİLGİSAYAR. Ders Notları. Yard. Doç. Dr. Seyit Okan KARA

EXCEL 2007 ELEKTRONİK ÇİZELGE

Microsoft Office Excel 2007

BİLGİSAYAR DESTEKLİ TASARIM II

Excel Nedir? Microsoft Excell. Excel de Çalışma sayfası-tablo

BÖLÜM 1 GİRİŞ 1.1 GİRİŞ

Mühendislik Mekaniği Statik. Yrd.Doç.Dr. Akın Ataş

AÇILIŞ EKRANI. Açılış ekranı temelde üç pencereye ayrılır:

Lineer Cebir. Doç. Dr. Niyazi ŞAHİN TOBB. İçerik: 1.1. Lineer Denklemlerin Tanımı 1.2. Lineer Denklem Sistemleri 1.3. Matrisler

Ankara Üniversitesi Fen Fakültesi. Astronomi ve Uzay Bilimleri. AST206 İstatistik Astronomi Dersi OCTAVE GİRİŞ. Öğr. Gör.

İÇİNDEKİLER ÖNSÖZ Bölüm 1 SAYILAR 11 Bölüm 2 KÜMELER 31 Bölüm 3 FONKSİYONLAR

İÇİNDEKİLER ÖNSÖZ Bölüm 1 KÜMELER Bölüm 2 SAYILAR

WORD KULLANIMI

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI

MATLAB/Değişkene Değer Atamak

MICROSOFT OFFICE WORD 2010 ÖRNEK TEST SORULARI

Matlab da Dizi ve Matrisler. Mustafa Coşar

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1

Fen ve Mühendislik Uygulamaları ile MATLAB

Metin İşlemleri, Semboller

BİLGİSAYAR PROGRAMLAMA

BÖLÜM 04. Çalışma Unsurları

Ders 1 : MATLAB Programlama Ortamı

Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Giriş.

Buna göre, eşitliği yazılabilir. sayılara rasyonel sayılar denir ve Q ile gösterilir. , -, 2 2 = 1. sayıdır. 2, 3, 5 birer irrasyonel sayıdır.

Mühendislik Mekaniği Statik. Yrd.Doç.Dr. Akın Ataş

Transkript:

GİRİŞ MATLAB; (MATrix LABoratuvary); ilk defa 1985 de C.B. Moler tarafından geliştirilmiş ve özellikle de matris esaslı matematik ortamında kullanılabilen etkileşimli bir paket programlama dili olarak tanımlanmıştır. Başlangıçta MATLAB özellikle mühendislik alanında, iyi grafik özelliklere sahip daha çok sayısal hesaplamalarda kullanılmak amacı ile geliştirilmiş bir paket programlama dili olarak ortaya çıkmıştır. MATLAB, orijinal olarak matris yolu ile matris hesaplamalarının öncüleri olarak bilinen LINPACK ve EISPACK projeleri yolu ile geliştirilen matris yazılım programlarına kolay erişim sağlamak amacı ile yazılmıştır. O zaman için özellikle FORTRAN dilinde uzun zaman alan programlama işlemlerine bir alternatif olarak ortaya çıkmıştır. İlk sürümleri FORTRAN diliyle yazılmış olmakla beraber son sürümleri C dilinde hazırlanmıştır. Bugün için farklı alanlarda kullanılabilen çok geniş bir ürün yelpazesine sahip MATLAB, teknik hesaplamalarda kullanılan yüksek başarılı dil olarak tanımlanmaktadır. MATLAB ın belli başlı kullanım alanları; Matematik ve hesaplama işleri, algoritma geliştirme. Modelleme, benzetim ve prototipleme. Verilerin analizi, incelenmesi ve görüntülenmesi. Bilimsel ve mühendislik alanında grafik işlemleri. Grafiksel kullanıcı arayüz yapısını da içine alan uygulama geliştirme. MATLAB, temel veri elemanı için boyutlandırma gerektirmeyen bir dizim (array) olan etkileşimli sistemdir. 1.1 MATLAB ürün ailesi MATLAB, bütün mathworks ürünleri için bir alyapıdır. MATLABta, kullanımı kolay olan tek bir ortamda sayısal hesaplama, 2-d ve 3-d grafikleri ve dil yeteneklerini birleştirilmiştir. MATLAB eklentileri, MATLABta geliştirilen sistemlerin gerçekleştirmesini destekleyen seçimli araçlardırlar. Araç kutuları, özel sorunların çözümü için MATLABa uyarlanan MATLAB işlevlerinin bir tür kitaplıklarıdır. Araç kutuları, açık ve eklenebilir olup; kendi algoritmalarını ve ekini görebilirsiniz. Simulink,

Blok diyagram arayüzü ile doğrusal olmayan simulasyonu ve canlı simulasyon yetenekleriyle öz sayıları, MATLAB ın grafiklerini ve dil fonksiyonlarını birleştiren bir sistemdir. MATLAB SIMULINK Simulink Eklentileri Simulink Accelerator Real-Time Workshop Stateflow Blocksetler DSP Fixed-Point Nonlinear Control Design Communications MATLAB Eklentileri MATLAB Compiler MATLAB C Math Library Araçkutuları Control System Communications Financial Frequency Domain System Identification Fuzzy Logic Higher-Order Spectral Analysis Image Processing LMI Control Model Predictive Control m-analysis and Synthesis NAG Foundation Neural Network Optimization Partial Differential Equation QFT Control Design Robust Control Signal Processing Spline Statistics Symbolic Math System Identification Wavelet Şekil 1.1 Simulink eklentileri, simulinkte geliştirilen sistemlerin gerçekleştirmesini destekleyen seçime dayalı araçlardır. Bloksetler, özgül uygulama alanlarında kullanım için tasarlanmış sımulink bloğunun toplamlarıdır.

MATLAB SİSTEMLERİ MATLAB sistemi 5 ana kısımdan ibarettir. 1. MATLAB dili: Bu, şartlı deyimler, fonksiyonlar, veri yapıları, giriş/çıkış ve nesneye yönelik programlama özellikleri içeren yüksek seviyeli bir matris/dizim dilidir. Dil özellikleri MATLAB Toolbox ta 6 adet klasör içinde organize edilmiştir. Bunlar; ops lang strfun iofun timefun datatypes İşlemler ve özel karakterler Programlama dili yapıları karakter dizileri Dosya giriş/çıkış Zaman ve tarihler Veri türleri ve yapıları. 2. MATLAB çalışma ortamı: Bu, MATLAB kullanıcısı veya programcısı olarak çalışma imkanı sağlayan bir araç ve gereçler takımıdır. Çalışma ortamındaki değişkenleri kontrol etmeyi ve verileri çalışma ortamından başka bir ortama aktarmayı kolaylaştırır. Ayrıca MATLAB uygulamalarının geliştirilmesi, kontrol edilmesi, hata bulunması ve M- dosyalarının biçimlendirilmesi için gerekli araçları kapsar. Çalışma ortamı özellikleri general adı altında tek bir klasör içinde yer almaktadır. 3. Grafik Sistemleri: Bu, MATLAB da Handle Graphics olarak bilinir. İki boyutlu ve üç boyutlu veri görüntülemeleri, görüntü işleme, canlandırma (animasyon) ve grafik sunumu için gerekli yüksek seviyeli komutlar kapsar. Ayrıca MATLAB uygulamaları için tamamen kullanıcı arabirimi (GUI) oluşturmak kadar, grafiklerin görünüşünü elle düzenlemeye olanak veren düşük seviye komutları da içerir. Grafik fonksiyonları MATLAB Toolbox içinde 5 klasörde yer alır: graph2d graph3d specgraph graphics uitools İki boyutlu grafikler Üç boyutlu grafikler Özel grafikler Grafik yönetimi Grafiksel kullanıcı arabirim araçları

4. MATLAB Matematiksel Fonksiyon Kütüphanesi: Bu, sum, sine, cosine gibi elemansal fonksiyonlardan ve karmaşık aritmetikten, matris tersi, matris özdeğerleri, Bessel fonksiyonları ve hızlı Fourier dönüşümlerine kadar değişen geniş bir hesaplama algoritması toplamıdır. Matematik ve analitik fonksiyonları MATLAB Toolbox 8 klasör içinde düzenlenmiştir. Bunlar: elmat elfun specfun matfun datafun polyfun funfun sparfun Elemansal matrisler ve matris işlemleri Elemansal matematik fonksiyonları Özel matematik fonksiyonları Matris fonksiyonları-sayısal lineer cebir Veri analizi ve Fourier dönüşümleri Aradeğer (interpolation) ve polinomlar Fonksiyon fonksiyonları ve dif.denk. (ODE) çözüm fonksiyonları Seyrek (sparse) matrisler 5. MATLAB Uygulama Programı Arabirimi (AIP): MATLAB ile etkileşimli çalışan C ve FORTRAN programları yazılmasına olanak tanıyan bir kütüphanedir. MATLAB tan rutinleri çağırma (dinamik ilişki), MATLAB`ı bir hesaplama motoru gibi çağırma ve MAT-dosyalarını yazma ve okuma için gerekli gereçleri içerir. Büyük ve Küçük harf duyarlılığı(casesen off,casesen): MATLAB büyük ve küçük harf karakterlerine dutarlı bir dildir. Yani yanı simla verilmiş fakat karakterlerin durumu bakımında faklılık arzeden isimler farklıymış gibi algılanır. Örneğin dscrite, DSCRITE ve Dscrite atamaları farklı şekilde algılanır. Bu durumda bir isme birden fazla değer atamak mümkündür. Eğer istenirse casesen off komutu ile bu durum sona erdirilebilir. Böylece büyük-küçük harf duyarlığı ortadan kalmış olur. Değikenlerin ve Matrislerin durumu(who, whos, what, size): MATLAB da; kullanıcı tarafından program içinde tanımlanan değişkenlerin ve matrislerin durumunu gözden geçirmek için who,whos,what,size gibi kullanışlı komutlar bulunmaktadır. who;komutu kullanıcı tarafından tanımlanan değişkenlerin lsitesini görüntüler, whos;komutu bu değişkenleri boyutları ile birlikte ve bu değişkenlerin sıfır olamayan sanal kısımları olup olmadığını da görüntüler,

listesini verir. what;komutu kullanıcı diskinin halihazır dizininde mevcut M-dosyaları Yardım Komutu(help): Yardım imkanı MATLAB ta en önemli bir kaynaktır. Çalışma ortamındahelp komutu ile yardım alınabilecek dosyaların bulunduğu dizinler ve sonrada yardım alınabilecek komutlar görüntülenir.ardından help komutunun ardına yardım istediği konuyu peşi sıra yazarak istediği konuda yadım alabilir. Örnek olarak >>help sin komutu girilerek SIN SIN(X) is the sine of the elements of X şeklinde sinüs ile ilgili bir yardım alınabilir. Yazım(type):type komutu ile bir dosyanın içeriğini görüntüler. M-dosyalarının görüntülenmesinde dosya adından sonra M uzantısının yazılmasına gerek yoktur. Örneğin type device komutudevice.m dosyasında yazılı olan tüm satırları görüntüler. Buna karşılık typedevice.m komutu isedevice dosyasında yer alan % işareti ile belirlenmiş açıklama satırları görüntüler. Tablo.1.1 Kısaca genel komutların isimleri ve açıklamaları Tablo 1.1 de verilmiştir. Komut help who whos what size lenght clear quit save İşlev MATLAB'ın operatör ve fonksiyonlarını tanımlar Değişkelerin isimlerini listeler Değişkenlerin simlerini ve boyularını listeler Diskinizdeki M-dosyalarını listeler Argümanların boyutlarını verir Argümanların maksimum boyutlarını verir Çalışma ortamındaki tüm değişkenleri temizler MATLAB ortamını sona erdirir MATLAB çaışma ortamında bir MAT-dosyasını saklar ÖĞRENCİ SÜRÜMLERİ MATLAB 4.0 itibaren öğrenci sürümleri oldukça güçlü hale getirilmiştir. Öğrenci MATLAB 5.0 da profesyonel MATLAB ile erişilen tüm fonksiyon ve özelliklere erişmek mümkün olup, yalnız kullanılabilecek matris elemanı sayısında bir sınırlandırma vardır.

Öğrenci sürümü MATLAB 4.0 da matris eleman sayısı 8192 de sınırlandırılmış bu sayı öğrenci sürümü MATLAB 5.0 da iki katına çıkarılarak 16384 (128x128) olmuştur. MATLAB 5.3 veya Release 11 kadar (MATLAB 4.0 ve MATLAB 5.0 da) The Student of MATLAB 5.0 adı altında Prentice Hall kitabevi tarafından program disketi veya CD leri ile birlikte kitap şeklinde pazarlanmaktadır. MATLAB 5.3 ile birlikte karşımıza MATLAB Student Version adı altındafarklı bir öğrenci sürümü çıkmaktadır. Gerek 5.0 ve gerek 5.3 sürümleri The Student Edition of MATLAB temel çekirdek programına ilaveten Symbolic Math, Control System ve Signal Processing Toolbox ları kapsamaktadır. Sınırlama yalnızca matris eleman sayısındadır. Yalnız MATLAB 5.0 kadar MATLAB yanında SIMULINK ın öğrenci sürümü yoktu. Learning MATLAB ve Learning Simulink adı altında iki ayrı kitapla gelen bu sürüm Windows yazımda Linux ortamında kullanılabilmektedir. Bu sürümün diğer bir önemli üstünlüğü de profesyonel MATLAB a göre oldukça düşük bir maliyet ile diğer MATLAB eklenti paketlerini de bu sürüm ile birlikte kullanabilme imkanıdır. DİZİM (array) ve DİZİM İŞLEMLERİ (MATLAB temel işlemleri) hesaplamaların pek çoğunda kullanılan rakamlar skalar adını alırlar. Skalarda ilgili işlemler matematiğin temelini teşkil eder. Bilgisayar ortamında skalar işlemi bir anda birden fazla icra edilmeye kalkılırsa tekrarlı skalarlar işlemler çok zaman kaybettirici ve elverişsiz hale gelir. MATLAB bu tür problemleri çözmek için işlemleri veri dizimleri (arrays) üzerinde tanımlar. DİZİM MATLAB içinde bütün işlemler dizim (array) olarak isimlendirilen bir sıralama veya tertip üzerinde yerine getirilir. Gerçekte MATLAB`da array olarak isimlendirilen dizim deyimi matematik işlemlerde farklı yapıları içine alan genel bir kavramdır. Örneğin bir matris satır ve sütunların meydana gelmiş iki boyutlu bir gerçek veya karmaşık sayılar dizimidir. Dizimlerin Oluşturulması MATLAB`ta dizimlerin oluşturulması aslında çok kolay işlemdir. Bunun için sadece iki nokta üst üste : işaretini kullanmak yeterlidir. Örneğin;

X=0:0.1:10; Komut satırı 0 ile başlayan 0.1 er adım ile artan 10 sayısına kadar bir vektör dizim oluşturur ve bunları X değişkenine atar. Başlangıç değeri sıfırdan küçük veya büyük olabilir. Diğer bir dizim oluşturma yolu linspace ve logspace fonksiyonlarıdır. linspace fonksiyonu verilen iki değer arasında belli sayıda doğrusal aralıklı bir dizim oluşturur. Bunun genel komut satırı linspace (X1, X2,N) biçimdedir. Buna göre X1ve X2 değişkenleri arasında N adet bir dizim oluşturur. Üçüncü argüman N kullanılmaz ise 100 adetlik bir dizim oluşturur. logspace fonksiyonu verilen iki değişken arasında belli sayıda 10 tabanına göre, logaritmik aralıklı bir dizim oluşturur. Bunun genel komut satırı; longspace (X1, X2,N) biçimdedir. Burada X1 ve X2 dizim oluşturacak değişkenlerin logaritmik (üst) değerleri olup üçüncü giriş argümanın varsayılan değeri 100 dür. Örneğin longspace (0,10); komut satırı 10 0 dan başlayan 10 2 sona eren 100 adet (varsayılan) logaritmik aralıklı bir dizim oluşturur. Dizimlerin Adreslendirilmesi MATLAB içinde her bir dizim elemanına indisler kullanılarak ulaşılır. Vektör biçimindeki tek boyutlu dizimlere tek bir indis kullanarak, matris biçimdeki iki boyutlu dizimlere iki adet indis kullanarak ve çok boyutlu dizimlere de üç adet indis kullanarak adresleme yapılır. MATLAB İLE ÇALIŞMAK MATLAB`ı gözünüzde canlandırmanın en kolay yolu, onu tüm niteliklerle donatılmış bir hesap makinesi gibi düşünülmektedir. Basit bir hesap makinesinin yaptığı toplama, çıkarma, çarpma ve bölmeden ibaret dört işlemi kolaylıkla yapar. Bunlara ilaveten teknik bir

hesap makinesinde bulunan karmaşık sayılar, karekök, ve üst alma ve sinüs, kosinüs ve tanjant gibi geometrik işlemlerde kolaylıkla yürütülür. Bunun dışında, programlanabilir bir hesap makinesinde olduğu gibi veri saklama ve geri yükleme gibi işlemler ile önemli bir sorunun hesaplamasını otomatik hale getirmek için komut satırlarını oluşturabilir, icra edebilir veya saklayabiliriz. Ayrıca çok güçlü bir hesap makinesinde olduğu gibi çok çeşitli yollardan veri grafiklerinin oluşturulması, matris aritmetiğinin icrası, polinomların incelenmesi, fonksiyonların integre edilmesi, denklemlerim sembolik olarak kullanılması v.b. işlemlerin yapılmasına mümkün kılar. Gerçekte, MATLAB çok daha fazla özelliklere sahip olup, herhangi bir hesap makinesinden daha çok yönlüdür. MATLAB matematik hesaplamalar yapmaya yarayan bir araçtır. FORTRAN, BASIC, PASCAL, C gibi bilgisayar programlama dillere göre kullanımı daha kolay ve daha gelişkin niteliklere sahip bir programlama dilidir. Güçlü grafik yetenekleri sayesinde verilerin görüntülenmesi ve canlandırılası için zengin bir ortam sağlar. MATLAB, özgün problemlerin çözümüne görsel yaklaşım sunan grafik kullanıcı ara birimleri (GUIS) oluşturulmasına olanak sağlayan bir uygulama geliştirme platformudur. Bütün bunlara ilaveten MATLAB Toolbox`lar adı altında özgün uygulama alanları için problem çözücü araç takımları sunar. Örneğin MATLAB öğrenci baskısı Control Sistem Toolbox, Signal Processing Toolbox ve Symbolic Math Toolbox gibi üç önemli toolbox içermektedir. Ayrıca özgün problemle uğraşanlar kendi Toolbox`larını da oluşturabilirler. MATLAB ÇALIŞMA ALANI MATLAB çalışma alanı, MATLAB komut hattından kullanılabilecek değişkenler (dizimler olarak bilinen) takımını içerir. who veya whos komutlarını kullanarak o andaki çalışma alanı içindekiler görüntülenebilir. who komutu sadece değişkenlerin isimlerini kısa bir liste halinde verirken, buna karşılık whos komutu ayrıca boyutu ve veri türü bilgileri de içerir. Çalışma alanı ayrıca komut penceresinde yer alan araçlar üzerindeki çalışma alanı tarayıcısı (Workspace Brower) penceresini açarak da görüntülenebilir. Tüm bilgilerin görüntülendiği bu pencerenin araçlar üzeride küp biçimde bir şekil vardır. Bu şekil üzerinde tıklandığında tarayıcı pencere açılır. Çalışma alanında yer alan tüm değişkenleri silmek için clear Komutu kullanılır. 1.4.3 MATLAB komut penceresi

MATLAB açıldığında karşımıza gelen pencere (Şekil1) MATLAB ın komut penceresidir. Komut penceresi kullanıcı ile MATLAB komut yorumlayıcısı arasında iletişimi sağlayan bit ara yüzdür. Yorumlayıcı hazır hale geldiğinde (>>) iletisi karşımıza gelir. Bu ileti MATLAB a komut ya da komut dizileri girilebileceğini gösterir. Şekil 1.2 Genel Komutlar Demo komutu(demo): Eğer MATLAB ilk defa kullanılıyor ya da belli komutların çalışmasını merak ediliyorsa demo komutu ile demostrasyon listesini görüntülenebilir. Listeden yapacağınız bir seçimle seçtiğimiz işlevin icraatlarını adım adım izleme imkanı bulabilirsiniz. Saklama ve geri çağırma komutları(save-load): Bilgisayarınızda MATLAB ile çalışırken bilgisayarınızı kapatmayı arzulayabilirsiniz. Daha sonra geri dönerek kaldığınız yerden etmek isteyebilirsiniz. İşte bunu başarmak için kullanıyor olduğunuz bütün değişkenleri yeniden ayarlamadan bilgisayarınızı kapatmadan önce >>save komutunu kulanın. Bu komut kullanımda olan MAT dosyasını alt dizininde veya MATLAB dosyanızda MATLAB.mat diye yapar veya üstüne yazar. Sonra MATLAB.mat da yer alan çalışma alanını yeniden çağırma ihtiyacı duyduğunuzda >>load komutunu girmelisiniz.

MATLAB.mat haricinde başka bir isim ile de değişkenleri saklayabilirsiniz. Örneğin >>save dosyam Bunun yanında >>load dosyam komutu ile de saklamış olduğunuz değişkenleri geri çağırabilirsiniz. Çalışma alanındaki verilerin kaydedilmesi ve yüklenmesi, save ve load komutları: MATLAB`ın save ve load komutları bir oturumun her hangi bir anında MATLAB çalışma alanı içeriklerinin kaydedilmesi ve bu oturum sırasında veya daha sonraki bir oturumda kaydedilen bu verilerin tekrar çalışma alanına yüklenmesini sağlar. save ve load komutları aynı zamanda yazı (text) türü veri dosyalarının da çalışma ortamına ithal edilmesini sağlar. save komutu çalışma alanı içeriğini bir ikili sayılar (binary) MAT-dosyası olarak kaydeder. Bu dosya daha sonra load komutu ile geri çağırılabilir. 1.5 MATLAB Komut Penceresi Menüleri: Bir çok programda olduğu gibi MATLAB da da komut penceresi menüleri büyük kolaylıklar sağlar. Buna göre MATLAB daki menüler ve işlevleri şu şekildedir. 1.5.1 File (Dosya) Menüsü: File menüsü dosya veya dosyaların oluşturulması ve yazdırma işleminin ayarlamalarının olduğu komutları içerir. New:Bu komut şu seçenekleri içerir. M-File, yeni M-dosyası oluşturmak için boş bir pencere açar. Figure, yeni bir şekil penceresi oluşturur. Model,ywni bit SIMULINK penceresi oluşturur. Open M-File: Bir dosya seçebileğiniz pencere ekrana getirerek dosya adı girilmesini veya gereken dosyanın seçilmesini ister ve ardında seçilen yada ismi yazılan dosya metin düzenleyici programı çalıştırılarak açılır. Open Selected:Komut penceresinde seçilerek belirtilen bir M- dosyasını varsayılan düzenleyiciyi çalıştırarak açar. Save Workspace As...:Çalışma alanını kaydetmek için bir iletişim kutusu görüntülenir, yeni bir dosya adı girmeniz gerekmektedir.

Run M-File: Dosya Yöneticisi nin Çalıştır... komutuna benzer. Bir M-dosyası adı girmeniz veya seçmeniz için bir iletişim kutusu görüntülenir ve belirtilen M-dosyasını çalıştırır. Look for Selected: MATLAB in lookfor komutunu çalıştırır. MATLAB in arama yolunda bulunan tüm M-dosyalarının içindeki yardım metinlerinin ilk açıklama satırlarını tarayarak komut penceresi içinde seçilen katarı araştırır ve sonucu ekranda görüntüler. Print...: Komut Penceresinde seçilen metni o içn yüklü bulunan bir yazıcıya döker. Eğer seçilen metin yoksa, tüm MATLAB oturumu boyunca girilen metni yazdırır. Printer Setup...: O andaki yazıcı ayarlarını ve seçeneklerini(renk tonu gibi) değiştirmek için bir iletişim kutusunu görüntüler. Exit MATLAB: MATLAB oturumunu kapatır. 1.5.2 Edit (Düzen) Menüsü: Edit (Düzen) menüsü komutları kullanıcıya düzenleme fonksiyonlarını uygulamak için büyük kolaylıklar sağlarlar. Cut: Komut Penceresi nde seçilen metni keser ve ortamda saklar. Copy: Komut Penceresi nde seçilen metni kopyalar ve ortamda saklar. Paste: O andaki pano içeriğini komut satırına yapıştırır. Clear Session: Komut penceresinin içeriğini siler. Bu komut, clc komutu ile aynı görevi icra eder. 1.5.3 Options (Seçenekler) Menüsü: Bu menü; MATLAB da pencere seçeneklerini ayarlamak, varsayılan düzenleme programını seçmek ve MATLAB in format ve echo komutlarının işlevlerini değiştirmek için kullanılır. Numeric Format: Ekran çıktı biçimlerini değiştirmek için bu komutu kullanabilirsiniz. Bu komut şu seçeneklerden oluşmaktadır.

Turn Echo On/Off (Yansıma Açık/Kapalı): Yansıma durumu için açık ve kapalı arasında geçiş yapar. Echo on ise verilen bir komutun sonucu ekranda görüntülenmesini sağlar. Enable/Disable Background Process: Artalan işlemlerinin olup olmaması arasında geçişi sağlar. Font...: Yazı fontları iletişim kutusunu açarak buradan komut penceresinde kullanılan font ve artalan rengini seçebiliriz. Tablo1.3 Komut Etki Short Sabit-noktalı sayıları 5 haneli olarak gösterir (varsayılan). Long Sabit-noktalı sayıları 15 haneli olarak gösterir. Hex Onaltılı gösterim biçimini seçer. Bank Dolar ve sent (Lira ve Kuruş) gösterim biçimlerini seçer. Sayıların önüne pozitif, negatif veya sıfır olma durumlarına göre +, veya boşluk koyar. Kompleks sayılarda sanal kısım dikkate Plus alınmaz. Short e Kayan-noktalı sayıları 5 haneli olarak yazar. Long e Kayan-noktalı sayıları 15 haneli olarak yazar. Rational Gerçel sayıları, tamsayıların oranı olarak verir. Katsayıları, matrisin önünde satır-atla karakteri ile birlikte Loose görüntüler. Katsayıları, matrisin önünde satır-atla karakteri olmadan Compact görüntüler. Editor Preference...: Bir metin düzenleme komutu işletilmek istendiğinde gereken metin düzenleyici programı varsayılan olarak belirtmemizi sağlar. MATLAB DA SKALER, VEKTÖR VE MATRİS İŞLEMLERİNE GİRİŞ 2.1 İfadeler: MATLAB diğer programlama dillerine göre daha vantajlıdır. Bir çok programlama dilinden farklı matematiksel ifadeler sunar ve bu ifadeler bütün matrisleri içerirler. İfadelerin temel blokları Değişkenler Sayılar Operatörler Fonksiyonlar dır.

2.2 Değişkenler: MATLAB da, herhangi bir tip tanımlaması veya boyut ifadesine gerek yoktur. MATLAB, yeni bir değişken ismi ile karşılaştığında, otomatik olarak ans isminde bir değişken oluşturur ve uygun bir bellek miktarı ayırır. Eğer değişken zaten varsa, MATLAB gerekli bir bellek ayırdığında içeriği değişir. Örneğin, ogrenci_sayı=51 ogrenci_sayı diye isimlendirilen 1x1 matrisi oluştur ve 21 i yükle. Değişken isimleri; bir harfden, sayıdan veya alt çizgiden oluşur. sayısının tarafından takip edilen harftan oluşurlar. MATLAB, sadece değişken isminin ilk 31 karakterini kullanır. MATLAB, büyük ve küçük harfe duyarlıdır, büyük harf ile küçük harfi ayırdeder. A ve a değişkenleri aynı değildir. 2.3 Sayılar: MATLAB da sayılar yaygın olarak kullanılan onluk tabanda ifade edilirler. Bunun yanısıra onluk tabanda üstel olarak veya i veya J olarak kompleks sayı biçimlerinde de ifade edilebilirler. Örnek olarak, 3-99 0.0001 9.6397238 1.60210e-20 6.02252e23 1i -3.14159j 3e5i sayıları gösterilebilir. Sayıların duyarlılığını belirtmek için kullanılaneps sayısı onluk tabanda 16 basamaklı olarak gösterilmekte ve yaklaşık olarak 10-308 den 10-308 e kadar olan tüm sayıları kapsayabilmektedir. 2.4 Operatörler(sayısal işlemciler): Matematiksel ifadeleri oluşturmak için operatörler ve önceden tanımlanmış sembolleri kullanabilirsiniz. Operatörler özetle şunlardır:

Tablo 2.1 İşlem Cebirsel Biçimi MATLAB Karşılığı Toplama a + b a+b Çıkarma a - b a-b Çarpma a x b a*b Bölme a / b a/b Sola Bölme b / a a\b Üs Alma a b a^b İki düz (skaler) sayı atasındaki aritmetiksel işlemler Tablo2.1 de gösterilmiştir. Bir deyim aşağıda olduğu gibi değer atanarak belli bir değer içinde saklanabilir. x=a + b Bu ifadede a ve b nin toplandığı ve x değişkeni içinde saklandığı belirtilmektedir. Bu atama işlemini; a içindeki bir değerin b içindeki bir değerle toplanarak bu toplamın x değişkenine atanacağı şeklinde yorumlamak mümkündür. Eğer b,r atama işlemi bu şekilde yorumlanacak olursa, aşağıda verilen bir MATLAB bildirimi de geçerli olur. say = say + 1; Açık bir şekilde bu bildirim geçerli bir cebirsel bildirim olamaz, fakat MATLAB içindeki 1 in say içindeki bir değere ilave edileceğini ve sonucun tekrar say içinde saklanacağını belirtir. Sonuçta say içindeki değerin her seferinde 1 artacağının belirtilmesine denktir. Belli bir değişken tanımlamadan girilen deyimlerin icrasında ans isimli bir değişken içinde otomatik olarak saklanır. Her defasında ans içindeki değer bir öncekinin yerini alır. Burada ans İngilizce cevap anlamına gelen answer kelimesinin kısaltılmış şeklidir. Matrislerle yapılan işlemlerde bölme işlemi için iki farklı sembol kullanılmaktadır. Bunun yanında eğer sayılar skaler ise iki bölme işleminin sonucu da aynı değeri gösterecektir. Örneğin 3/2 ile 2\3 ifadelerinin sonuçları aynı olup 1.5 dir.

Aritmetiksel İşlemlerde Öncelik Durumu:Tek bir aritmetiksel durum içinde birden fazla durum bir arada bulunabildiğine göre hangi işlemin öncelik hakkına sahip olunduğunun bilinmesi yerinde olacaktır. Aşağıda MATLAB da kullanılan işlemlerde işlemlerin öncelik listesi verilmiştir. Tablo 2.2 Öncelik İşlem 1 Parantez 2 Üs alma, soldan sağa doğru 3 Çarpma ve blme, soldan sağa doğru 4 Toplama ve Çıkarma, soldan sağa doğru Disp FONKSİYONU MATLAB da bir matematiksel ifadeyi argüman olarak alıp bu ifadenin sonucunu ekrana aktaran bir fonksiyon mevcuttur bu da disp fonksiyonudur. Ancak disp fonksiyonunu kullanmaksızın sadece ifadeyi yazarsak ta sonucu görebiliriz:» 2+8 ans = 10» disp(2+8)» 10, SEMBOLÜ Dizi ya da matris elemanları arasına ayraç olarak yerleştirilir; bu sembol yerine boşluk sembolü kullanılması da aynı etkiyi sağlar;» [5,7] ans = 5 7» disp( [3,4] ) 3 4» disp( [3 4] )

3 4» Karakter türü veriler ' sembolleri içine alınır; disp fonksiyonu ile aşağıdaki gibi görüntülenirse bitişik olarak ekrana aktarılırlar:» disp([3 4]) 3 4» disp(['a' 'c']) ac» ; SEMBOLÜ ; Sembolü, aralarında yerleştirildiği iki skaleri iki farklı satıra yazar.» disp([4;8]) 4 8» ; sembolü ayrıca ilerde görüleceği gibi matrislerde satır ayracı olarak kullanılır. : SEMBOLÜ :Sembolü başlangıç ve son değerleri belirten bir sayı dizisini 1 er artımlarla üretilir; başlangıç ve son değerler yanında bir de artım değerleri üçüncü parametre olarak verilirse bu durumda da belirten artımı kullanarak bir sayı dizisi üretir. Üç parametre kullanılırsa ilk parametre başlangıç, ikinci parametre artım ve üçüncü parametre ise son değerdir.» 1:6 ans = 1 2 3 4 5 6» disp(2:5) 2 3 4 5» ve aynı zamanda» 2:3:18 ans = 2 5 8 11 14 17» 0.4:0.7:10 ans = Columns 1 through 7

0.4000 1.1000 1.8000 2.5000 3.2000 3.9000 4.6000 Columns 8 through 14» 5.3000 6.0000 6.7000 7.4000 8.1000 8.8000 9.5000 AYNI UZUNLUKLARDAKİ VEKTÖRLER ÜZERİNDE İŞLEMLER olsun: TOPLAMA VE ÇIKARMA + ve sembolleri iki vektör arasında da kullanılabilir; av b üçer elemanlı iki vektör» a=[2 1-1] a = 2 1-1» b=[4-2 3] b = 4-2 3» a+b ans = 6-1 2» a-b ans =» -2 3-4 yukardaki örneklerde görüldüğü gibi, toplama ve çıkarma işlemlerinde bilinen vektör toplamı ve farkı işlemi gerçekleştirilecektir. ÇARPMA VE BÖLME Eşit uzunlukta iki vektör için * ve / operatörleri kullanılırken dikkatli olunmalıdır.» a=[4 5] a = 4 5» b=[3-2]

b = 3-2» c=a*b??? Error using ==> * Inner matrix dimensions must agree.» Burada Matlab için * sembolü matris çarpımı sembolüdür ve a ve b çarpılabilecek tipte matrisler olmadıkları için yukarıdaki hata mesajını alınmaktadır..* sembolü, elemanları, iki vektörün karşılıklı elemanların çarpımından oluşan aynı uzunlukta yeni bir vektör üretecektir:» c=a.*b c =» 12-10 Benzer biçimde./ ve.\ operatörleri de geçerlidir. Aşağıda örneklerde inceleyelim:» a=[4 5] a = 4 5» b=[3-2] b = 3-2» d=a./b d = 1.3333-2.5000» e=a.\b e =» 0.7500-0.4000

EŞİT UZUNLUKTA İKİ VEKTÖR ARASINDA ^ OPERATÖRÜ» a=[4 5] a = 4 5» b=[3-2] b = 3-2» h=a^b??? Error using ==> ^ Matrix dimensions must agree.» Yukarıda görüldüğü gibi iki vektör arasında ^ işlemi tanımsızdır..^ sembolü geçerlidir ve birinci vektörün bileşenleri taban ve ikinci vektörün bileşenlerini de üst kabul ederek üst alma işlemi sonucu aynı boyutta yeni bir vektör oluşturacaktır. Aşağıda örneği inceleyelim:» h=a.^b h = 64.0000 0.0400» BİR VEKTÖR VE SKALER ARASINDAKİ İŞLEMLER : TOPLAMA VE ÇIKARMA İŞLEMLERİ: Aşağıda örneklerde görüldüğü gibi, bir skaler ile bir vektör operatörü ile işleme sokulursa, skaler vektörün her iki bileşeni ile de toplanır:» 4+[2-2] ans =» 6 2 - operatörü için de aynı şey söz konusudur:» 7-[2-1] ans =

» 5 8 ÇARPMA VE BÖLME Bir skaler ile bir vektör operatörü ile işlem sokulursa sonuçta bileşenleri skaler ile vektörün bileşenlerinin ayrı ayrı çarpılması ile oluşan yeni bir vektör elde edilir:» 3*[2-1] ans = 6-3» Bir skalerin bir vektöre bölümü ise tanımsızdır ( / sembolü ile):» 3/[2-1]??? Error using ==> / Matrix dimensions must agree.» Ters bölme ( \ ) sembolü kullanılırsa vektörün bileşenlerinin skaler ile bölünmesinden elde edilen iki sayı yeni bir vektör oluşturacaktır:» 2\[4 8] ans =» 2 4 Oysa bir vektörün bir skalere bölünmesi tanımlıdır ve bileşenleri vektörün bileşenlerinin skalere bölünmesinden elde edilen yeni bir vektör elde edilecektir:» [4-8]/2 ans =» 2-4 MATLAB İLE MATRİS İŞLEMLERİ MATLAB yazılımı kullanarak matrislerle ilişkili gerçekleştirmek son derece kolaydır. Bir matrisi MATLAB içine yüklemek için, matrisin değerlerini köşeli parantez ([]) sembolleri içine yazılır. Elemanlar arasında birer boşluk ve satırlar arasında da noktalı virgül (;) sembolleri konulmalıdır.

Operatörler(sayısal işlemciler): Matematiksel ifadeleri oluşturmak için operatörler ve önceden tanımlanmış sembolleri kullanabilirsiniz. Operatörler özetle şunlardır: Tablo 3.1 İşlem Cebirsel Biçimi MATLAB Karşılığı Toplama a + b a+b Çıkarma a - b a-b Çarpma a x b a*b Bölme a / b a/b Sola Bölme b / a a\b Üs Alma a b a^b İki düz (skaler) sayı atasındaki aritmetiksel işlemler Tablo2.1 de gösterilmiştir. Bir deyim aşağıda olduğu gibi değer atanarak belli bir değer içinde saklanabilir. x=a + b Bu ifadede a ve b nin toplandığı ve x değişkeni içinde saklandığı belirtilmektedir. Bu atama işlemini; a içindeki bir değerin b içindeki bir değerle toplanarak bu toplamın x değişkenine atanacağı şeklinde yorumlamak mümkündür. Eğer b,r atama işlemi bu şekilde yorumlanacak olursa, aşağıda verilen bir MATLAB bildirimi de geçerli olur. say = say + 1; Açık bir şekilde bu bildirim geçerli bir cebirsel bildirim olamaz, fakat MATLAB içindeki 1 in say içindeki bir değere ilave edileceğini ve sonucun tekrar say içinde saklanacağını belirtir. Sonuçta say içindeki değerin her seferinde 1 artacağının belirtilmesine denktir. Belli bir değişken tanımlamadan girilen deyimlerin icrasında ans isimli bir değişken içinde otomatik olarak saklanır. Her defasında ans içindeki değer bir öncekinin yerini alır. Burada ans İngilizce cevap anlamına gelen answer kelimesinin kısaltılmış şeklidir.

Matrislerle yapılan işlemlerde bölme işlemi için iki farklı sembol kullanılmaktadır. Bunun yanında eğer sayılar skaler ise iki bölme işleminin sonucu da aynı değeri gösterecektir. Örneğin 3/2 ile 2\3 ifadelerinin sonuçları aynı olup 1.5 dir. Aritmetiksel İşlemlerde Öncelik Durumu:Tek bir aritmetiksel durum içinde birden fazla durum bir arada bulunabildiğine göre hangi işlemin öncelik hakkına sahip olunduğunun bilinmesi yerinde olacaktır. Aşağıda MATLAB da kullanılan işlemlerde işlemlerin öncelik listesi verilmiştir. Tablo 2.2 Öncelik İşlem 1 Parantez 2 Üs alma, soldan sağa doğru 3 Çarpma ve blme, soldan sağa doğru 4 Toplama ve Çıkarma, soldan sağa doğru Fonksiyonlar: MATLAB ın çok güçlü ve çok kapsamlı bir fonksiyon yapısı vardır. MATLAB da bazı fonksiyonlar daha önceden yerleştirilmiş bazıları ise sonradan dışarıdan yerleştirilmiş M- dosyalarından oluşan MATLAB kütüphanelerinde tanımlanmışlardır. Bunun yanında özel uygulamalar için kullanıcıların kendi fonksiyonlarını yazarak kendi kütüphanelerini oluşturması mümkündür. Kullanıcı tanımlı fonksiyonlar da diğer fonksiyonlar gibi kullanılabilirler. MATLAB da mevcut analitik fonksiyonları genel olarak aşağıdaki kategorilere ayırabiliriz. 1. Temel matematiksel fonksiyonlar 2. Özel fonksiyonlar 3. Temel matrisler ve matris işlemleri 4. Matrisleri çarpanlarına ayırma 5. Veri analizleri 6. Polinomlar 7. Diferansiyel denklem çözümleri 8. Lineer olmayan denklemler ve optimizasyon 9. Sayısal integral hesaplamaları 10. Sinyal işleme

Fonksiyonların görevini kısa bir şekilde sadece bazı temel matematiksel fonksiyonların açıklamaları aşağıdaki tabloda verilmiştir. Ayrıca diğer önemli fonksiyonlar da tezin sonundaki eklerde verilmiştir. Tablo 2.3 Fonksiyon Açıklama abs Mutlak değer hesaplar ve karekterleri sayıya dönüştür. angle faz açısını radyan cinsinden hesaplar sqrt sayıların karekökünü hesaplar real bir karmaşık sayının gerçek kısmını hesaplar imag bir karmaşık sayının sanal kısmını hesaplar conj karmaşık eşlenik sayıyı hesaplar round en yakın tamsayıya tamamlar fix en yakın tamsayıyı sıfıra doğrı yuvarlar floor en yakın tamsayıyı eksi sonsuza doğru yuvarlar ceil en yakın tamsayıyı artı sonsuza kadar yuvarlar sign bir sayı veya matris elemanlarının sıfırdan büyük veya küçük olup olmadığını tespit eder rem bir bölme işleminde kalanı hesaplar MATLAB, standart basit matematiksel fonksiyonlardan abs, sqrt, expin ve sin gibi sayılar içermektedir. Karekök veya negatif sayının logaritmasını alarak hatasız, uygun karmaşık sonucu otomatik olarak üretir. MATLAB, çok gelişmiş matematiksel fonksiyonları kapsayan bessel aynı zamanda sağlar ve gama fonksiyonunu yerine getirir. bu fonksiyonların çoğu karmaşık tartışmaları kabul ederler. MATLAB DA MATRİSLER VE TEMEL MATRİS İŞLEMLERİ: Her ne kadar 4. versiyondan itibaren MATLAB a The Symbolic Toolbox ilave edilerek sembolik matematiksel işlem yapma olanakları sağlanmış ise de MATLAB elemanları kompleks olabilen dörtgensel boyutlu sayısal matrislerle çalışan bir programdır. Bazı durumlarda özel olarak bu matris 1x1 boyutunda olabilir. Benzer şekilde tek satır veya tek sütundan oluşan vektörler olabilirler. MATLAB ın matrisler ile çalışması demek; verileri matrisler biçiminden değerlendirmesi ve çözümleri matris esasına göre yapması ve sonuçları da matris biçiminde düzenlenmesi demektir. BİR MATRİSİ MATLAB A YÜKLEMEK: Matlab de bir matrisi bilgisayara yüklemek için çeşitli yöntemler vardır: 1)» a=[2 7 9; 1-3 6; 0 5 7] ve enter tuşuna basılır.

Aşagıda görüldüğü gibi, bir a matrisi oluşacaktır: a =» 2 7 9 1-3 6 0 5 7 2) Matris elemanları arasına boşluk yerine virgül (,) ayracı da konulabilir:» a=[2,7,9; 1,-3,6; 0,5,7] a =» 2 7 9 1-3 6 0 5 7 3) Diğer bir yol ise matrisin satırlarını [] sembolleri arasına almaktır:» a=[[2 7 9]; [1-3 6]; [0 5 7]] a =» 2 7 9 1-3 6 0 5 7 4) Matris elemanların girilişinde dördüncü yol ise her satır sonrası ; sembolleri yerine enter tuşu kullanmaktır:» a=[2 7 9 1-3 6 0 5 7] a = 2 7 9 1-3 6 0 5 7» İKİ MATRİSİN TOPLAMINI HESAPLAMAK a ve b, matlab de yukarıdaki gibi tanımlanmış ve boyutları aynı olan iki matris olsun. Bu iki matrisin toplamını hesaplamak için matlab ın komut satırında» c=a+b

yazmak yeterlidir. a ve b matrislerinin toplamı c matrisine eşittir.» a=[2 7 9; 1-3 6; 0 5 7] a = 2 7 9 1-3 6 0 5 7» b=[4 7 8; 12 14 5; 7 9 11] b = 4 7 8 12 14 5 7 9 11» c=a+b c =» 6 14 17 13 11 11 7 14 18 İKİ MATRİSİN KARŞILIKLI ELEMANLARININ ÇARPIMINI HESAPLAMAK Matris çarpımı olan c matrisini hesaplamak için a ve b arasına * sembolü konulur.» c=a*b c = 155 193 150 10 19 59 109 133 102» Karşılıklı elemanların çarpım işlemi ise, aynı satır ve sütün indisli elemanlarını çarptırarak c matrisinin elemanlarını hesaplamaktır. Yani c ij =a ij *b ij şeklinde yazılır:» c=a.*b c = 8 49 72 12-42 30

» 0 45 77 BİR MATRİSİN TRANSPOZESİNİ HESAPLAMAK Bir matrisin transpozu satırlarla sütunların yer değiştirdiği başka bir matristir.. Genelde tranpoz üst indis olarak T olarak ifade edilir. Bilindiği gibi, A bir matris ise, a matrisinin transpozesi olan matris genellikle A şeklinde gösterilir ve transpoze matris orijinal matrisin satırları ile sutunların yer değiştirilmesi ile elde edilir. MATLAB de transpoze hesaplamak için sembolü kullanılır:» A=[3 4 6; 4 6 8] A = 3 4 6 4 6 8» D=A' D =» 3 4 4 6 6 8 Matrislerin kuvvetini alma işlemi: Bir A matrisinin kuvvetini almak için A.^p deyimini kullanmak yeterlidir. Bu işlem A matrisi içindeki her bir elemanın teker teker p. kuvvetini alır. Burada A bir kare matris, p ise bir skaler sayıdır. Bir kare matrisin karesi (A^2) A*A işlemine denktir. Benzer şekilde A^4 deyimi de A*A*A*A işlemine denktir. Buna karşılık A^2.5 gibi kesirli üst lama işlemi öz değerleri ve öz vektörleri de içine alan daha karmaşık bir işlem gerektirir. İki matris çarpımının yapılabilmesi için birinci matriste bulunan satır sayısının ikinci matrisin sütun sayısına eşit olması gerektiğine göre, bir matrisinin kuvvetinin alınabilmesi için de satır sayının sütun sayısına eşit olması dolayısıyla kare matris olması gerekir. MATLAB İLE LİNEER DENKLEM SİSTEMİNİN ÇÖZÜMÜ

Matlab ile bir lineer denklem sisteminin çözümü için çeşitli yollar mevcuttur. Burada en elemanter yolu gösterilecektir. a 11 x 1 +a 12 x 2 +... +a 1n x n =b 1 a 21 x 1 +a 22 x 2 +... +a 2n x n =b 2... a n1 x 1 +a n2 x 2 +... +a nn x n =b n şeklinde verilen bir lineer denklen sisteminin katsayılar matrisi A= a 11 a 12 a 1n a 21 a 22 a 2n... a n1 a n2 a nn bilinmeyen vektörler x = (x 1 x 2... x n ) ve sağ taraf vektörü de b = (b 1 b 2... b n ) olmak üzere denklem sistemi, Ax=b Şeklinde yazılabilir ve buradan x i bulmak için, x=a -1 b işlemi gerçekleştirildiğinde bilinmeyen vektörlerin çözüm kümeleri elde edilir. GRAFİK İŞLEMLERİ Grafik esaslı bir programlama dili olan MATLAB`ın son sürümleri ile birlikte grafik özellikleri daha da güçlendirilmiştir. Verilerin görüntülenmesi ve grafiklerin sunumu MATLAB`ın temel grafik özellikleridir. MATLAB yüksek seviyeden grafik oluşturma rutinler takımına sahiptir. Bu rutinler dikdörtgen (x-y) ve kutupsal eksenlerde çizgi grafikleri, çubuk ve histogram grafikleri, dış hat (contour) grafikleri, ağ gözü (mesh) ve yüzey grafikler ve canlandırma (animation) gibi veri sunu teknikleri kullanır. Bunlara ilaveten renk, gölgelendirme, eksen etiketleme, ve grafiklerin genel görünüşü gibi özellikleri de denetleme imkanı vardır. MATLAB`ın nesneye yönelik grafik sistemi olan grafik yönetimi (Handle Graphics) kullanılarak MATLAB`ın verilerinin grafiklerini oluşturma işlemleri üzerinde daha hassas bir denetim kurulabilir veya kullanıcı kendi grafik komutlarını geliştirebilir. Grafik yönetimi (Handle Graphics) çizgiler (Lines), yüzeyler (Surfaces) ve metinler (Text) gibi grafik

nesneleri takımını tanımlar ve arzu edilen sonuçları sağlamak için bu nesnelerin karakteristiğini düzenleme mekanizmasını sunar. Grafik yönetimini (Handle Graphics) kullanarak menüler, tıklama düğmeleri, metin kutuları ve diğer kullanıcı arabirim aygıtları oluşturulabilir. Grafik yönetimi ile herhangi bir M-dosyasına grafik kullanıcı arabirimi (GUI) ilave edilerek veya kullanıcı, MATLAB oturumu başladığında başlatılan kendi ortamını tanıyabilir. Bununla herhangi bir MATLAB esaslı uygulama için karmaşık kullanıcı arabirimi kurulabilir. Şekil Penceresi MATLAB grafik çıkışlarını Şekil penceresi adı verilen ve komut penceresinden ayrı pencereye gönderilir. MATLAB içinde bu pencere (figure) bir şekil olarak görülür. Bu pencerenin karakteristiği, kullanılan bilgisayarın pencereleme sistemi ve MATLAB şekil nitelikleri ile denetlenir. Grafik fonksiyonları, hazırda yoksa yeni şekil penceresi oluşturulur. Mevcut bir şekil varsa MATLAB bu pencereyi kullanır. Eğer birden fazla şekil mevcut ise bunlardan bir tanesi halihazır şekil (genellikle kullanılan son şekil) olarak kullanılır. figure fonksiyonu şekil pencerelerini oluşturur ve bunu halihazır şekil yapar. Daha önceden grafik komutlarından birisi ile oluşturulmuş şekil pencerelerinden biriside halihazır şekil penceresi olarak kullanılabilir. Grafik Editörü Grafik editörü kullanımı kolay bir araç olup oluşturulan grafiklerin üzerinde bazı eklemeler ve değişikler yapmak amacı ile kullanılır. Grafik editörün sağladığı belli başlı özellikler: Metin, ok ve çizgi açıklayıcı notlar eklemek Eksenleri tanımlama, başlık, açıklayıcı bilgi(legend), eksen çizgilerin işaretlenmesi, ve çizim alanının karelere ayrılması (grid) gibi eklemeler yapmak. Çizgi türü, kalınlığı, rengi ve işaretleyicisi gibi grafik çizgisi özelliklerini değiştirmek Bir Şekil Penceresi Üzerinde Birden Fazla Grafiğin Oluşturulması subplot fonksiyonu kullanarak aynı şekil penceresi üzerinde birden fazla grafik oluşturulabilir ve bunlar aynı kağıt sayfasına yazılabilir. suboplot (m,n,i) komutu şekil penceresini mxn lik matris biçiminde küçük alt grafik oluşturma bölgelerine parçalar ve i inci alt grafik bölgesini halihazır grafik için seçer.

Grafikler şekil penceresinin üst satırına boyunca başlamak üzere daha sonra ikinci satır ve daha sonra da benzer yol izleyerek numaralandırır. ginput ve gtext Fonksiyonları: Grafik Üzerinden Veri Edilmesi ve Üzerine Metin İlavesi ginput fonksiyonu, grafik içinde yer alan bir eğri üzerindeki noktaları fare veya ok tuşları yardımı ile seçme imkanı sağlar. ginput fonksiyonu göstergelerin koordinatlarını çıkış olarak verir. Komut ortamında ginput (1) İfadesini yazdıktan sonra şekil penceresine dönülürse grafik üzerinde fare ile hareket eden kesişen ince çizgiler belirir. Bu çizgilerin kesişme notasını eğri üzerinde arzu edilen bir noktaya getirilip fare ile tıklatınca bu noktaya ait koordinat değerini komut ortamında görüntülenebilir. Burada n yerine 1 kullanılacak olursa bir komut girişinde eğri üzerinden n adet nokta alınır. Nokta sayısı belirlenmezse sonsuz sayıda nokta için program sonsuz döngüye girer. Eğer komut ortamında [x y]=ginput (n) ifadesi yazılacak olursa, eğri üzerinde tespit edilen noktanın koordinatları elde edilir ve sonuçlar ayrıca x ve y değişkenlerine de atanır. Bu örnek, iki boyutlu ara değer bulma yolu ile bir eğri oluşturmak için kullanılan spline fonksiyonu ile ginput fonksiyonunun kullanılmasını açıklamaktadır. gtext fonksiyonu, şekil penceresindeki halihazır grafik üzerinde fare ile seçilen konuma bir metin kaydı yapar. Komut penceresinde, gtext (`metin`) Yazılınca hemen şekil penceresi açılır ve dik kesişen iki çizgi belirir. Bu kesişme noktası grafik alanında gezdirilerek uygun yerde tıklatılacak olursa tırnak içindeki metin yazısı tıklatılan konuma kaydedilir. Grafiklerin İsteğe Bağlı Düzenlenmesi ve Biçimlendirilmesi MATLAB, bir plot komutu ile verilen grafikleri otomatik olarak (uygun eksen ölçeği, uygun çizgi rengi v.b. ile) oluşturulabilir. Buna karşılık gerek oluşturulacak olan ve gerekse oluşturulan grafik üzerinde isteğe bağlı düzenlemeler yapmak ta mümkündür. Bir grafik

üzerinde çizgi karakteristikleri, eksen limitleri ve eksen ölçek işaretlerini değiştirmek ve düzenlemek mümkündür.. plot(x,y) komutu x ve y vektörleri ile noktalı - kesikli gibi diğer çizgi türlerini de seçmek mümkündür. Diğer taraftan bir çizgi grafiği yerine bir nokta grafiği de çizdirmek mümkündür. Aşağıdaki tabloda çizgi ve işaret tiplerinin bir listesi verilmiştir. Tablo 4.2 Sembol Renk(RGB) Çizgi stili Sembol Nokta stili Y Sarı(110). nokta - Çizgi M Magenta(101 O Yuvarlak : Noktalı C Ciyan(011) X Çarpı işareti -. çizgili ve noktalı R Kırmızı(100) + Artı işareti - - kesik çizgili G yeşil(010) * yıldız B mavi(001) S Karekök W beyaz(111) D Baklava K siyah(000) V Üçgen(aşağı) ^ Üçgen(yukarı) < Üçgen(sola) > Üçgen(sağa) P Pentagram H Hexagram Grafik Eksenlerinin Elle Düzenleme Komutları axis ([xmin xmax ymin ymax]): Satır vektörü içinde verilen değerleri kullanarak eksenlerin minimum ve maksimum değerlerini belirler. V=axis: V, ([xmin xmax ymin ymax]) biçiminde bir satır vektörü olup halihazır grafik için ölçek değerlerini içerir axis, auto axis (`auto`): eksen ölçek değerlerini varsayılan otomatik değerlerine döndürür axis manual: Ölçek değerlerini halihazır sınırlarda dondurur ve böylece eğer tutma komutu (hold on) etkin hale getirilmişse, bir sonraki grafik çiziminde aynı eksen değerlerini kullanma imkanı sağlar.

axis xy: Sistem orijinin en düşük (en küçük koordinat çifti) sol köşede olduğu, buna karşılık düşey eksenin alttan üste doğru arttığı yerdeki kartezyen koordinat kullanılır. axis square: halihazır grafik eksenlerini (varsayılan dikdörtgen biçimi yerine) kare biçimine dönüştürür. axis off: Eksenleri, eksen üzerinde yer alan işaretleri ve yazıları siler, kaldırır. Başlık ve herhangi etiketleri text ve gtext komutları ile yerleştirilecek duruma geçirir. axis on: Silinen eksenleri tekrar geri çağırır. Grafik Üzerinde Açıklayıcı Bilgiler İlave Edilmesi Grafik üzerinde keyfi bir konuma bir metin yazma ve eksenin altına etiket metni yazdırmak mümkündür. Bu komut fonksiyonların belli başlıları: title fonksiyonu, grafik üzerine başlık yazdırır. xlabel, ylabel ve zlabel fonksiyonları, sırasıyla x-ekseni, y- ekseni ve z-ekseni üzerine etiket yazdırır. legend fonksiyonu, mevcut bir grafik üzerine açıklayıcı ifadeler ilave eder. text fonksiyonu, grafik üzerinde koordinatları belirten bir konuma bir metin yazdırır. gtezt fonksiyonu, fareyi kullanarak grafik üzerinde metin yerleştirilir. Yukarıda verilen fonksiyonları komut penceresinde kullanarak grafik üzerinde gerekli düzenlemeler yapabilir. Bunlara ilaveten şekil penceresinde grafik editörü (Plot Editör) ile de benzer işlemler yapmak mümkündür. Özel Grafikler MATLAB çok çeşitli grafik türlerini desteklemektedir. Verilerin yapısına bağlı olarak uygun bir grafik tür seçilebilir. Aşağıda verilen grafik komutları özel amaçları çeşitli grafiklerin oluşturulması kullanılabilir. bar ve area (çubuk ve alan) fonksiyonları: Çubuk ve alan grafiklerini oluşturulur. Bu grafikler zaman üzerinden sonuçlarının incelenmesi için kullanışlıdır. Bu grafikler üzerinde sonuçlar karşılaştırılır ve bir toplam miktar üzerinde değerlerin payı görülür. bar fonksiyonun değer biçimleri; barh, bar3 ve bar3h dır polar fonksiyonu: Kutupsal koordinatları kabul eder ve bir kartezyen düzleme kutupsal koordinatların grafiğini oluşturur. Ayrıca grafik düzlemine kutupsal grid oluşturur.

hist ve rose fonksiyonları: Histogram türü grafiklerin oluşturulmasında kullanılır. Histogramlar veri değerlerinin dağılımını gösterir. Burada hist fonksiyonu verileri kartezyen koordinat sisteminde ve rose fonksiyonu da verileri kutupsal koordinatlar sistemi üzerinde değerlendirir. stair, stem (ve stem3) fonksiyonları: Kesikli zaman verilerin grafiklerini oluşturur. Bunlardan stair fonksiyonu, verilerin merdiven basamağı biçiminde sürekli grafiği oluşturur. stem fonksiyonu ise veri noktaların düşey çizgileri oluşturur. Compass, feather, quiver (ve quiver3) fonksiyonları: Grafik üzerinde yön ve hız vektörlerini görüntüler. contour (ve contour3) fonksiyonları: 2 ve 3-boyutlu dış hat çizgilerini oluşturur. Ağ Gözü ve Yüzey (mesh & surface) Grafikleri MATLAB x-y düzlemindeki bir dikdörtgen grid üzerinde noktaların z-koordinatları yolu ile bir ağ gözü düzeyi tanımlar. Birbirine bitişik noktaları düz çizgilerle birleştirmek suretiyle bir grafik oluşturur. Bu da veri noktalarında düğümleri olan bir balıkçı ağına benzer. Ağ gözü grafikleri büyük matrisleri görüntülenmesi veya iki değişkenli fonksiyonların çizgi grafikleri için çok kullanışlıdır. Bu konuda kullanılan belli başlı fonksiyonlar: mesh, surf: Yüzey grafiği meshc, surfc: Yüzey grafiği ile aynı olup altında kontur grafiği vardır. meshz: perde grafiği (başvuru düzlemi) ile yüzey grafiği. pcolor: Düz yüzey grafiği (değer yalnızca renk ile orantılı) surfl: Belli yönden aydınlatılmış yüzey grafiği surface: Yüzey seviyeden yüzey grafik fonksiyonları bu fonksiyonları esas alır. MATLAB İLE 2 VE 3 BOYUTLU GRAFİK ÇİZİMİ MATLAB grafik sistemi, verilerin hazırlanmasında ve görselleştirilme-sinde çok değişik ve kendine has özellikleriyle bir kullanıcılara büyük kolaylık sağlamaktadır. MATLAB 3.5 ve daha altındaki sürümlerinde; x-y grafikleri, kutupsal grafikler, çubuk grafikler, yüzey grafikleri 3-D yüzey network mesh i oluşturmak mümkündür. Bunun yanında MATLAB 4.0 ve daha yukarı sürümlerinde grafiksel özellikler çok daha fazla

artırılmış ve yukarıdaki bahsedilen özelliklere ilaveten x-y-z grafikleri de dahil olmak üzere her türlü 3 boyutlu çizgi ve yüzey grafikleri oluşturmak mümkün hale gelmiştir. MATLAB İLE 2-BOYUTLU GRAFİK ÇİZİMİ x-y düzleminde oluşturulan pek çok grafikte x ve y eksenlerinin eşit aralıklarla bölündüğü varsayılır. Ve bu tür grafiklerde lineer grafik adını alır. Bazı istisnai durumlarda ya tek eksen üzerinde ya da her iki eksen (x,y) üzerinde de logaritmik ölçeklendirme kullanılabilir. x ve y vektörlerinin lineer ve logaritmik fonksiyonları aşağıda verilmiştir (eksenler veri sayısına göre ölçeklendirilirler). Eksen aralıklarının belirtilmesi: axis fonksiyonu axis fonksiyonu, axis ( []xmin xmax ymin ymax zmin zmax ) şeklinde kullanılır ve çizilecek grafik için eksen aralıklarının belirtilmesi için kullanılır. 4 3 2 1 0-1 -2-3 -4-2 -1.5-1 -0.5 0 0.5 1 1.5 2 axis([-2 2-4 4]) İKİ NOKTA ARASINDA DOĞRU PARÇASI ÇİZDİRİLMESİ A(x 1,y 1 ) ve B(x 2,y 2 ) şeklinde belirtilmiş olan noktalar olsun. A ile B noktalarından geçen bir doğrunun çizdirilmesi için MATLAB de line fonksiyonu kullanılır. Bu fonksiyon,

X=(x 1,x 2 ) ve Y=(y 1,y 2 ) şeklinde belirlenmiş iki vektör ise,» line(x,y) şeklinde kullanılmalıdır. y=3x+5 ve y=-x+3 doğrularını x=(-4, 4) aralarında çizdirelim.» x1=-4 x1 = -4» y1=3*x1+5 y1 = -7» x2=4 x2 = 4» y2=3*x2+5 y2 = 17» line([x1 x2],[y1 y2])» x1=-4 x1 = -4» y1=-x1+3 y1 = 7» x2=4 x2 = 4

» y2=-x2+3 y2 = -1» line([x1 x2],[y1 y2])» line([-4 4],[0 0])» line([0 0],[-10 20])» sonuçta aşağıda görüldüğü gibi, x ve y koordinat eksenleri ile birlikte istenilen doğrular çizilmiş olacaktır: 4 3 2 1 0-1 -2-3 -4-2 -1.5-1 -0.5 0 0.5 1 1.5 2 fplot FONKSİYONU fplot sözcüğü function plotting (Fonksiyon çizdirme) sözcüklerinden türetilmiş ve Matlab ortamında iki boyutlu grafikler oluşturmak için çeşitli imkanlar sunmaktadır. fplot fonksiyonunun iki parametresi vardır ve aşağıdaki gibi kullanılır: fplot (FonksiyonAdı, Aralık) Burada fonksiyonadı parametresi string türünde verilmiş tek bir fonksiyona ait ifade olabileceği gibi, aynı anda birden fazla fonksiyon çizdirilecekse bu durumda da string ifadesi biçiminde ve [] sembolleri içinde yer alan ve birbirlerinden virgülle ayrılmış fonksiyon ifadelerinden oluşacaktır. y=x 2 parabolünün x=(-10,10) ve y=(-100,100) aralığındaki grafiğinin çizilmesi gerçekleştirelim.

» fplot('x*x',[-10 10-100 100])» grid» line([-10 10],[00])» fplot('x*x',[-10 10-100 100])» grid» line([-10 10],[0 0])» line([0 0],[-100 100])» bu komutlar sonucunda aşağıdaki grafik çizilecektir: 100 80 60 40 20 0-20 -40-60 -80-100 -10-8 -6-4 -2 0 2 4 6 8 10 amaç: 2-D lineer çizim kullanım: plot(y) plot(x1,y1,...) plot(x1,y1,çizgitürü,...) plot(...,'özellikismi,özellikdeğeri,...)

h = plot(...) açıklama: x ve y eksenlerini lineer olarak ölçeklendirir ve verilerin grafiğini çizer. Burada x ler bağımsız değişken y ler ise bağımlı değişkeni göstermektedir. Örnek: X = 0:pi/15:4*pi; Y = exp(2*cos(x)); plot(x,y,'b+') herbir veri noktasına mavi artı işareti koyarak çizer 8 7 6 5 4 3 2 1 0 0 2 4 6 8 10 12 14 Şekil 4.1 GRAFİĞE EKSEN AÇIKLAMALARI, ETİKETLER VE DİĞER AÇIKLAYICI BİLGİLERİN EKLENMESİ Yukarıdaki parabol üzerinde çalışırsak, MATLAB da ana grafik fonksiyonlarının yanında çizilen grafikleri üzerine yazı yazdırabileceğimiz etiket komutlar da vardır. Belli başlı etiket komutları ve açıklamaları aşağıda verilmiştir.» set(gca,'fontname','courier','fontsize',14)» xlabel('x')» ylabel('x^2')» title('y=x^2 PARABOLÜ')» x ekseni üzerine bir etiket koymak için xlabel fonksiyonu ve y ekseni üzerine bir etiket koymak için ise ylabel fonksiyonu yukarıdaki biçimde kullanılmaktadır. Grafik üzerinde bir başlık yazdırılmak isteniyor ise bu amaçta title fonksiyonu kullanılmaktadır.

100 50 PARABOL VE KÜBİKLER x 2 -x 2 x 3 -x 3 x 0-50 -100-10 -5 0 5 10 x AYNI EKSENLER ÜZERİNE BİRDEN FAZLA FONKSİYONA AİT GRAFİKLERİN ÇİZDİRİLMESİ x=(-10 10) ve y=(-100 100) değer aralıklar için, y=x 2, y=-x 2 parabolleri ve y=x 3, y=-x 3 kübiklerine ait grafikleri aynı eksenler üzerinde çizelim:» fplot('[x^2,-x^2,x^3,-x^3]',[-10 10-100 100]) 100 y=x 2 PARABOLÜ 50 x 2 0-50 -100-10 -5 0 5 10 x

» grid» line([-10 10],[0 0])» line([0 0],[100-100])» xlabel('x')» ylabl('x')» ylabel('x')» title('parabol VE KÜBİKLER')» legend('x^2','-x^2','x^3','-x^3)» legend('x^2','-x^2','x^3','-x^3')» sonuçta aşağıdaki grafiği elde ederiz: SÜTÜN GRAFİĞİ (BAR CHART) OLUŞTURMAK 1997-1999 yılları arasındaki her yılda bölümlerin öğrenci mezun etme sayısını gösteren aşağıdaki tablo verilmiş olsun: BÖLÜMLER 1997 1998 1999 ELETRONİK 65 67 60 BİLGİSAYAR 60 56 68 ELEKTRİK 67 65 60 TIP 70 50 65 Bu tablodaki bilgileri kullanarak bir sütün grafiği oluşturacağız. Sütün grafiği oluşturabilmek için Matlab de bar fonksiyonu kullanılır. enf = 65 67 60 60 56 68 67 65 60 70 50 65» bar(1997:1999,enf')» xlabel('yillar')» ylabel('mezun SAYISI')» title('1997-1999 YILLARINDA MEZUN ÖĞRENCİLER')

» legend('elt','bil',elk','tip')» legend('elt','bil','elk','tip') Aşağıdaki grafiği elde edeceğiz: 70 60 50 1997-1999 YILLARINDA MEZUN ÖĞRENCİLER ELT BİL ELK TIP MEZUN SAYISI 40 30 20 10 0 1997 1998 1999 YILLAR açıklama: xlabel,halihazırdaki grafiğin x ekseni için etiket yazdırır. ylabel,halihazırdaki grafiğin y ekseni için etiket yazdırır. DAİRE GRAFİĞİ (PİE CHART) HAZIRLAMA Daire grafiği için örnek veri olarak üç ayrı bölümün (ELK, BİL, ve ELK) mezun öğrencilerin kendi branşında öğretmen olabilme oranını seçelim: BÖLÜM ADI ÖĞRETMEN SAYISI ELEKTRONİK 60 BİLGİSAYAR 65 ELEKTRİK 25» a=[60 65 25] a = 60 65 25

» pie(a)» gtext('öğretmen ORANI')» legend('elk','bil','elt') 17% ELK BİL ELT 40% 43% ÖĞRETMEN ORANI DEMEYSEL OLARAK ÖLÇÜLMÜŞ VERİLERLE GRAFİK ÇİZMEK-plot FONKSİYONU y=f(x) fonksiyonunun analitik ifadesinin mevcut olmayıp sadece x ve y için deneysel olarak ölçülmüş değerlerin mevcut olduğu durumlarda, Matlab de, y=f(x) grafiğini çizmek için, plot fonksiyonunu kullanmak uygun olacaktır. plot fonksiyonu iki farklı biçimde kullanılabilir: Bu durumda, x ve y birer vektör ise y=f(x) grafiği, Matlab tarafından default renk ve biçimde çizilecektir. x ve y değerleri bir deney sonucunda aşağıdaki gibi ölçülmüş olsun: x 1 3 5 7 9

y 1 8 20 25 30 buna göre y=f(x) grafiğini çizmek için aşağıdaki işlemleri gerçekleştirebiliriz:» x=[1 3 5 7 9] x = 1 3 5 7 9» y=[1 8 20 25 30] y = 1 8 20 25 30» plot(x,y) 30 25 20 15 10 5 0 1 2 3 4 5 6 7 8 9 ÜÇ BOYUTLU GRAFİK ÇİZİMİ 3 boyulu uzayda noktaların ve çizgilerin grafiğini oluşturu. plot(x,y,z) komutu 3 boyutlu uzayda koordinatları x,z ve z nin elemanları olan noktalardan geçen tek bir çizgi grafiği oluşturur. Burada x,y ve z nin aynı boyutta vektörler olması gerekir. çizer. Üç boyutlu helezonun çizilmesi: t = 0:pi/50:10*pi;

plot3(sin(t),cos(t),t) 40 30 20 10 0 1 0.5 0-0.5-1 -1-0.5 0 0.5 1 MATLAB ile üç boyutlu grafik çizimini gerçekleştirmek için meshgrid ve mesh fonksiyonlarını kullanılır. mesgrid fonksiyonu, x ve y koordinatların oluşturduğu ikililerle bir değerler kümesi hazırlar ve mesh fonksiyonu ise be değerler matrislerini kullanarak üç boyutlu grafiği çizer. Aşağıdaki örnekte çok net anlamamızı sağlayacaktır. z=x 2 +y 2 +xy yüzeyinin 2<x<2 ve 2<y<2 değerler aralıkları için çizdirelim:» [x,y]=meshgrid(-2:0.5:2-2:0.5:2) Warning: COLON arguments must be real scalars.» z=x.^2+y.^2+x.*y» mesh(x,y,z)» ve aşağıdaki üç boyutlu grafiği elde ederiz:

12 10 8 6 4 2 0 2 1 0-1 -2-2 -1 0 1 2 aynı x ve y değerleri için z=xsin(x 2 +y) yüzeyini çizdirelim:» z=sin(x.^2+y).*x z = Columns 1 through 7-1.8186-0.3711 0.8415 0.4920 0-0.4920-0.8415-1.1969-1.0225 0.4794 0.4745 0-0.4745-0.4794-0.2822-1.4235 0 0.3408 0-0.3408 0 0.7016-1.4760-0.4794 0.1237 0-0.1237 0.4794 1.5136-1.1671-0.8415-0.1237 0 0.1237 0.8415 1.9551-0.5725-0.9975-0.3408 0 0.3408 0.9975 1.9178 0.1623-0.9093-0.4745 0 0.4745 0.9093 1.4111 0.8573-0.5985-0.4920 0 0.4920 0.5985 0.5588 1.3425-0.1411-0.3890 0 0.3890 0.1411 Columns 8 through 9 0.3711 1.8186 1.0225 1.1969 1.4235 0.2822 1.4760-0.7016 1.1671-1.5136 0.5725-1.9551-0.1623-1.9178-0.8573-1.4111-1.3425-0.5588» mesh(x,y,z)»

2 1 0-1 -2 2 1 0-1 -2-2 -1 0 1 2 surf FONKSİYONU surf fonksiyonu, mesh fonksiyonu gibi üç boyutlu grafik çizme işini gerçekleştirir. mesh fonksiyonundan farkı, çizilen yüzeyin grid boyunca farklı bölgelerinin farklı renklerde boyanmasıdır. x= (-2,2) ve y=(-2,2) eğerler aralıkları ve 0.2 artım değerlerini kullanarak z=2x 2 +y yüzeyini çizdirelim:» [x,y]=meshgrid(-2:0.2:2,-2:0.2:2)» z=2.*x^2+y» surf(x,y,z) surf fonksiyonu ile aşağıdaki grafiği çizdireriz:

Aynı zamanda z=x 2 /a 2 +y 2 /b 2 paraboidinin x=(-10,10) ve y=(-10,10) aralığına çizdirilmesi:» [x,y]=meshgrid(-10:1:10,-10:1:10)» a=2» b=3» z=(x.^2/a^2 +y.^2/b^2)» surf(x,y,z) ve çizimi istenilen praboidin grafiği:

Birleşme ağını üret ve tepe noktaların kenar çiziminin yapılaması. [x,y] = meshgrid(-3:.125:3); Z = peaks(x,y); meshc(x,y,z); axis([-3 3-3 3-10 5])

Tepe noktalar fonksiyonu için perde çiziminin üretilmesi. [X,Y] = meshgrid(-3:.125:3); Z = peaks(x,y); meshz(x,y,z) Boyutlu Bir Grafiğe Bakış Açısı: MATLAB, grafiğin yönünü kontrol etmenizde kolaylık sağlar. MATLAB ın bir grafik için görüş açısını belirtebilir, yönü ve görünüşün izdüşümünü şekil penceresinde görebilirsiniz. Özellikleri görerek bunları bir takım grafik fonksiyonları yoluyla kontrol edebilirsiniz. view fonksiyonu, küresel koordinatlarda eksenlerin merkezine göre (orjine) açılık ve yükselti açıları belirtilerek bakış noktasını ayarlar. Açıklık, x-y düzleminde saat yönünde pozitif değerli kutupsal açıdır. Yükselti ise bakış noktasının x-y düzleminin üzerinde(pozitif) veya altında(negatif)olmasını belirleyen derece cinsinden bir açıdır. Aşağıdaki çizim, koordinat sistemini gösterir. Oklar, pozitif yönleri ifade etmektedir.

Bakış Noktası Grafik merkezi Yükselti Açıklık Şekil 4.11 MATLAB, 2-D veya 3-D çizimlerini belirlenmiş görüş açısını otomatik olarak seçer. Buna göre 2-D çizimler için, açıklık=0 o ve yükselti=90 o 3-d çizimler için, açıklık=-37.5 o ve yükselti=30 o Örnek:Aşağıda peaks matrisinin çizdirilmesinden elde edilen grafiğin dört farklı görünümü yer almaktadır. 1. Açıklık=-37.5 o ve yükselti=30 o için grafiğin çizimi: [X,Y] = meshgrid([-2:.25:2]); Z = X.*exp(-X.^2 -Y.^2); surf(x,y,z) 0.5 0-0.5 2 1 2 0-1 -1 0 1-2 -2 Şekil 4.12 2. Açıklık=180 o, yükselti=0 o ve z=0 için grafiğin çizimi: view[180,0]

0.5 0.4 0.3 0.2 0.1 0-0.1-0.2-0.3-0.4-0.5 2 1.5 1 0.5 0-0.5-1 -1.5-2 Şekil 4.13 3. Açıklık=-37.5 o, yükselti=30 o için grafiğin çizimi: view([-37.5-30]) 0.5 0-0.5-2 -1 0 1 2 2 1 0-1 -2 Şekil 4.14 4.Açıklık=-90 o, yükselti=0 o için grafiğin çizimi: view([-37.5-30]) 0.5 0.4 0.3 0.2 0.1 0-0.1-0.2-0.3-0.4-0.5 2 1.5 1 0.5 0-0.5-1 -1.5-2 Şekil 4.15

5.SIMULINK VE SIMULASYON: SİMULİNK NEDİR Simulink, dinamik sistem modellerinin kurulması, benzetimi ve çözümlemesinde kullanılan MATLAB ın eklentisi bir paket programdır. Sürekli zaman, kesikli zaman veya her ikisinin melezi biçiminde modeli kurulmuş doğrusal ve doğrusal olmayan sistemleri destekler. Ayrıca bu sistemler örneklenmiş veya farklı oranlarda güncelleştirilmiş farklı kısımlara sahip olabilirler. Simulink, model kurmak için tıkla-ve-sürükle fare işlemleri kullanan bir grafik kullanıcısı ara birimi (GUI) sağlar. Bu ara birim ile birlikte, modelleri sanki bir kağıt üzerine kalem ile çiziyormuşçasına kolaylıkla oluşturmak mümkündür. Simulink, kaynaklar, yutucular, doğrusal ve doğrusal olmayan elemanlar ve bağlantılardan ibaret geniş bir blok kütüphaneye sahiptir. Ayrıca kullanıcı kendi kütüphanesini de oluşturabilir. Modeller sıradüzenli olup hem yukarıdan-aşağıya ve hem de aşağıdan-yukarıya yaklaşımlar kullanarak modeller kurmak mümkündür. Sistem yüksek seviyeden incelenebilir olmakla beraber ayrıca bloklar üzerine çift tıklamak suretiyle de model ayrıntılarının artan seviyelerini görmek mümkündür. Bir model tanımlandıktan sonra, ya Simulink ten ya da MATLAB komut penceresinden bir integral hesap yöntemi seçmek suretiyle modelin benzetimi yapılabilir. Menüler özellikli etkileşimli çalışmalarda uygun olurken, komut hattı yaklaşımı bir benzetim grubunun çalıştırılmasında da çok kullanışlı olmaktadır. Osilaskop ve diğer görüntü blokları kullanmak suretiyle, benzetim programı çalışırken benzetim sonuçlarını görmek mümkündür. Benzetim sonuçları daha sonraki çalışmalarda kullanılmak üzeri MATLAB çalışma ortamına da aktarılabilir. Simulink modellerinin benzetimi diferansiyel denklem takımlarının sayısal integrasyonu ile ilgilidir. Simulink içinde bu tür denklemlerin simulasyonunda kullanılan

çeşitli integrasyon yordamları mevcuttur. Aşağıda simulink blokları verilmiştir. (Kullanımları ve özellikleri için Bkz. MATLAB/HELP) 5.2 Simulink Blokları: Şekil 5.1 1.Sources blocks(kaynaklar blokları) 2.Sinks blocks 3.Discrite blocks 4.Linear blocks 5.Nonlinear blocks 6.Connections blocks 5.3 Simulink Modellerinin Oluşturulması ve Çalıştırılması: Simulink, bir dinamik sistemin modellenmesi için blok şemalar sunar. Bir sistemin modellenmesinde kullanılan blok elemanları doğrudan simulink blok kütüphanelerinden seçilir. Bunun için MATLAB çalışma ortamında >>simulink komutu girmek yeterlidir. Bu durumda ilk karşımıza çıkan çeşitli blok kütüphanelerini temsil eden kutu şeklindeki şemalardır. (Şekil 5.1) Daha sonra simulink File den New seçilerek yeni ve boş bir sitem penceresi açılır(şekil 5.2). Bu pencere simulink çalışma ve ve dinamik model oluşturma ortamıdır ve aynı zamanda isimlendirilmemiş (untitled) bir dosyadır. Modelimiz için gerekli bloklar, blok kütüphanelerinden sürüklebırak yada kopyalama ile taşınır.

Şekil 5.2 Bir blok kütüphanesinde ne türden blok elemanları olduğunu anlamak için fare ile çift tıklamak sureti ile bu kütüphaneyi açmak yeterlidir. Bu elamanlardan modelimiz için gerekli olanlar fare ile sürüklenerek çalışma ortamına taşınır. Çalışma ortamına yapılmak istenen model için gerekli elemanlar taşındıktan sonra bu elemanlar uygun biçimde bağlantı yerlerinden birbirlerine bağlanır. İşaret verici kaynak (source) bloklar yalnızca çıkış bağlantı ucuna, işaret gösterici bloklar yalnızca giriş bağlantı ucuna ve diğer bloklar ise hem giriş hem de çıkış bağlantı ucuna sahiptir. Arzu edilen biçimde model oluşturulduktan sonra.m uzantılı bir isim verilerek (örneğin modelim.m) uygun bir dizin altında saklanabilir. Model oluşturma penceresindeki menüden simulation/start komutu seçilmek suretiyle modelin simulasyonu çalıştırılır. Scope gibi işret alıcı blokları kullanmak sureti ile sonuçlar anında alınabilir. Ayrıca çözüm sonuçları bir dosyada saklanarak MATLAB ortamında grafikleri elde edilebilir. 5.4 Adım adım örnek bir modelin oluşturulması ve çalıştırılması: 1.Adım: Yeni bir çalışma ortamı yukarıda anlatıldığı gibi oluşturulur.

Şekil 5.3 2.Adım:Modelimizde kullanacağımız elemanlar ilgili bloklardan bulunur. Şekil 5.3 3.Adım:Eleman, bulunduğu pencereden çalışma ortamına fare ile sürüklenerek yerleştirilir. Şekil 5.4 4.Adım:Ve aynı metotla modelin diğer elemanları da çalışma ortamına taşınır.

Şekil 5.5 5.Adım:Modelde bulunan multiplexirin giriş uçlarından sadece 2 sini kullanacağımızdan üç girişi ikiye indirebilmek için Mux. üzerine çift Şekil 5.6 tıklayarak parametere penceresine erişmeliyiz. Ve bu penceredeki 3 değerini 2 yapmalıyız. 6.Adım:Artık bağlantı işlemine geçerek uygun şekilde aşağıda gösterildiği gibi adım adım bağlantılar yapılır. Şekil 5.7

Şekil 5.8 Şekil 5.9 7.Adım:Ve son işlem modeli çalıştırmaktır. Bunun için penceredeki menüde bulunan simulasyon/start vermeliyiz. Eğer scope nin üzerine çift tıklanırsa modelin sonucunu görebilmek için bir pencere ile karşılaşırız. Şekil 5.10

MATLAB`TA PROGRAM HAZIRLANMASI M-dosya Programcılığı MATLAB`ta algoritmaları bilinen programları hazırlamak ve çalıştırmak çok kolaydır. Ayrıca FORTRAN, BASIC, C ve PASKAL gibi programlama dillerinde hazırlanmış programları MATLAB için uyarlamak mümkündür. Bu durumda çoğunlukla aynı program için daha az sayıda satır kullanmak yeterlidir. MATLAB`ın hazır M-dosya paketlerini kullanmak suretiyle programlamayı çok kısa tutmak mümkündür. M-dosyaları MATLAB dil kodu içeren dosyalara M-dosyası (M-files) adı verilir. M-dosyalarının iki türü mevcuttur. Bunlar; Fonksiyonlar (functions): Giriş olarak argümanlar kabul eder ve çıkış olarak bu argümanlara karşılık gelen çözümü üretir. Düzyazı (scripts) dosyaları: Bir dizi MATLAB deyimini otomatik olarak icra eder. Bir M- dosyasının MATLAB tarafından bir dosya olarak onaylanması için.m uzantısına sahip olması gerekir. MATLAB`ın kendisi büyük oranda herhangi bir program içinde çağırılıp kullanılabilen fonksiyon (alt program) M-dosyalarından oluşmuştur. Bunların dışında ayrıca yine program içinde çağırılabilen kendi özüne gömülü (built-in) özel fonksiyonlara sahiptir. M-dosyaları ASCII karakterinde hazırlanmış okunabilir ve yazılabilir dosyalardır. Bu nedenle MATLAB`a ait M-dosyaların yanlışlıkla değiştirilmemesi gerekir. Aksi taktirde orijinal görevini yerine getiremez. Bu nedenle kullanıcının kendi hazırladığı M-dosyalarını kendisine ait bir klasörde saklaması tavsiye olunur. M-dosyalarının Oluşturulması, Metin Editörüne Giriş: M-dosyalarını bir metin olarak kullanarak oluşturulabilecek sıradan metin dosyalarıdır. M-dosyaları bu editörde hazırlanabileceği gibi herhangi bir başka metin (text) editöründe hazırlanabilir. Düzyazı M-Dosyaları Bir dizi komutlardan ibaret düzyazı dosyaları, MATLAB içinde çağrıldığında dosya içinde bulunan komutlar otomatik olarak çalıştırılır. Böylece her seferinde klavyeden

komutları tekrar tekrar girmeye gerek kalmaz. Bir düzyazı dosyası içinde yer alan deyimler MATLAB çalışma ortamında yer alan verileri işletir ve sonuçlandırır. Düzyazı dosyaları, MATLAB ortamında etkileşimli biçimde çalışılmayacak uzun komutlar dizisi gerektiren analizlerin icrası, problemlerin çözümü veya tasarım yapılmasında kullanışlı olmaktadır. Örneğin aşağıda verilen MATLAB komutları dizisi okuma.m adı verilen bir dosyada oluşturulup saklanabilir. MATLAB ortamında okuma.m yazmak (.m uzantısı yazılmaz) sureti ile program çalıştırılabilir. Yalnız bunun için program içinde yer alan; B, Ct, Dm, J, Vt parametre değerlerinin program çalıştırılmadan önce atanmış olması gerekir. Bu, ya okuma.m komutu yazılmadan önce klavyeden yukarıda belirtilen parametre değerlerini girmek sureti ile ya da hazırlanmış bir veri dosyasını yüklemek sureti ile atanabilir. %hidrostatik acısal hız hesaplama %programı a=(vt*j) / (4*Bt*Dm^2); b=((ct*j) / (Dm*2)) + ((B*Vt) / (4*Bt*Dm^2)); hsys=tf (1,[a b 1]); y=step (hsys,t); wn= sqrt((4*bt*(b*ct+dm^2)) / (J*Vt)); xa=sqrt(4*bt*j*vt*(b*ct+dm^2)); xsi=(1/2)*(((b*vt)+(4*bt*j*ct)) / xa); plot(t,y) bu şekilde okuma.m çalıştırıldığı zaman MATLAB dosyası içinde yazılı komutları icra eder ve sonuçları saklar ve en sonunda plot komutu ile sonuçların grafiğini çizer. Bu programda ilk iki satırda parametre değerlerine göre basit hesaplama işlemleri yapılarak sonuçlar a ve b değişkenlerine atanır. Daha sonraki 3. Satırda tf komutu ile sistemin transfer fonksiyonu nesnesi oluşturularak hsys değişkenine atanır. 4. satırda 0 dan 2 değerine kadar 0.01 artımında bir vektör dizim oluşturur ve t değişkenine atanır. 5. Satırda MATLAB`a ait bir fonksiyon (M-dosyası) olan step komutu verilen hsys isimli sistem t zaman dizisinde basamak cevabı sonuçları hesaplanır ve sonuçlar y değişkenine atanır. Son satırda plot komutu ile sonuçları grafiği elde edilmiş olur.

Fonksiyon M-Dosyaları Fonksiyon dosyaları ilk satırda funcsion kelimesi bulunan.m uzantısı bulunan dosyalardır. MATLAB içinde bulunan tüm M-dosyaları fonksiyon dosyaları biçiminde olup, bunlar hazırlanan herhangi bir program içinde çağırılabilir. Gerçekte bunlar FORTRAN, BASIC, C ve benzeri programlama dillerinde kullanılan alt programlar (subroutines) gibi işlem görürler. MATLAB`ta normal M-dosyaları biçiminde ve özünde gömülü fonksiyon olmak üzere iki tür fonksiyon mevcuttur. Fonksiyon dosyası; function satırında yer alan giriş argümanlar (function tarafından bulunan sonuçlar) istenirse diğer hesaplamalarda kullanılabilir. Fonksiyon dosyaları, MATLAB komut iletisindeki çalışma alanından ayrılmış, kendi çalışma alanı içindeki değişkenleri işletirler. Fonksiyon dosyasının oluşturulması ve çalıştırılması aşağıda verilen basit bir örnekle açıklayabiliriz. Burada MATLAB`ta mevcut bir vektörün ortalamasını hesaplayan ortalama.m dosyasına ait bildirimler listesi verilmiştir. Function y=ortalama (x) % ortalama (x) her bir % sütunda ortalama % değeri olan bir satır vektörüdür. [m,n]=size (x) if m=1 m=n; end y=sum (x) /m; bu şekilde yazılıp yine ortalama.m olarak saklanan (dosya adı ile fonksiyon adı aynı olmalı ) yeni fonksiyon dosyasının kullanımı herhangi MATLAB dosyasının kullanımından farklı değildir. Bir fonksiyon dosyasının belli başlı bölümleri ve özellikleri örnek ortalama.m fonksiyon dosyası üzerinden aşağıdaki şekilde açıklayabiliriz. Birinci satır fonksiyon tanım satırı olup, fonksiyon adını, giriş ve çıkış argümanlarının sayısını ve sırasını tanımlar. Bu satır bulunmadığı zaman, dosya düzyazı dosyası gibi işlem görür.

% işareti ile başlayan satırlar yardım açıklama satırlarıdır. Bu satırların birincisi 1.yardım (help1) satırıdır. lookfor fonksiyonu veya tüm klasör yolu üzerinden yardım talebi olduğunda bir fonksiyon için MATLAB bu satırı görüntüler. Bundan sonraki satırlar yardım metnidir. Belli fonksiyon hakkında yardım istendiğinde MATLAB 1 yardım satırı ile birlikte tüm yardım metnini görüntüler. Bu satırlara yazılanlar MATLAB tarafından icra edilmez. Fonksiyon gövdesi, % işareti ifade eden satırlardan sonraki satırlardır. Fonksiyonun bu kısmı hesaplamaları yerine kod içerir ve herhangi çıkış argümanları için değerleri saptar. Fonksiyon dosyası içinde yer alan m, n ve y gibi değişkenler ortalama dosyasının çalışması sırasında kendi içinde geçerli olup daha sonra çalışma ortamında görüntülenemez ve kullanılamaz. Fonksiyon dosyaları hakkında daha ayrıntılı bilgi alma ve çeşitli MATLAB fonksiyon dosyalarını incelemek için MATLAB ortamında edit fonksion_adı yazılarak biçimleri görüntülenebilir. ŞARTLI DEYİMLER VE DÖNGÜLER Bilgisayar programlama dilleri ve programlanabilir hesap makineleri karar yürütme esasına dayanan komut icrası akışının denetimine olanak tanır. Programlama dillerinde çoğunlukla, bu akış denetimini sağlayan fonksiyonlar şartlı deyimler ve döngü komutları olarak bilinir. MATLAB; FORTRAN, C, BASIC gibi yüksek seviyeden programlama dillerindekine benzer komut icrası akışının denetimine yarayan fonksiyonlara sahiptir. Bu fonksiyon deyimleri MATLAB`ı basit bir hesap işlemcisinden ziyade yüksek seviyeli bir matris dilli haline sokar. Şartlı deyimler ve döngüler, geçmişte yapılan hesaplamaların etkisini gelecek işlemlere aktarabilen çok güçlü bir programlama özelliğidir. MATLAB karar yürütme veya akış denetimi yapıları altında sunulan bu özellikler; for döngüleri, while döngüleri, if-else-end şartlı deyimleri ve switch-case şartlı deyimleridir. if Şartlı Deyimi if mantıksal deyimi değerlendirir ve bu deyimin değerini esas alan bir grup ifadeyi yürütür. En basit biçimdeki sözdizimi;

if mantıksal deyim komut ifadeleri end Eğer mantıksal deyim doğru (1) ise, MATLAB if ve end satırları arasında kalan tüm komut ifadelerini yürütür. End komutunu izleyen satırda yürütmeyi sürdürür. Eğer koşul yanlış (1) ise MATLAB if ve end satırları arasında kalan tüm komut ifadelerini atlayıp geçer ve end komut satırından sonraki satırda yürütmeye devam eder. Basit bir if deyimi örneği; if a< 50 say=say+1; top=top+a; end Burada a`nın bir skalar olduğunu varsayarsak a < 50 olması halinde say her seferinde 1 sayısı kadar artırılır ve a da top`a ilave edilir. Aksi taktirde ise, if yapısı arasında kalan bu komut atlanır. Eğer a bir skalar değilse say yalnızca a`nın 50 den küçük olması halinde 1 kere artırılır ve a da top`a ilave edilir. else ve elseif Şartlı Deyimleri if deyiminin daha fazla koşullara bağlanmasını sağlar. else deyimi hiçbir mantık koşuluna sahip değildir. Eğer kendinden önceki if (veya olası elseif koşulu) koşulu yanlış (1) ise else deyimi ile ilişkili ifadeler yürütülür. Bunun genel çatısı; if deyim komut ifadeleri % if doğru ise değerlendirilecek else komut ifadeleri % if yanlış ise değerlendirilecek end biçiminde kurulabilir.

elseif deyimi bir mantıksal koşula sahip olup, eğer kendisinden önceki if (ve olası elseif koşulu) koşulu yanlış (0) ise değerlendirme yapar. Eğer elseif`ın mantıksal koşulu doğru (1) ise, onunla ilişki ifadeleri yürütülür. Bir if bloğu içinde birden fazla elseif kullanılabilir. switch-case Yapıları switch-case yapıları bir değişken veya deyimin değerine dayanan belli ifadeleri yürütür. Temel kullanım yapısı; switch deyim (skalar veya karakter) case değer1 komut ifadeleri % eğer deyim değeri1 ise yürütülür case deger2 komut ifadeleri % eğer deyim değeri2 ise yürütülür... otherwise komut ifadeleri % eğer deyim hiçbir case ile denk düşmezse yürütülür end biçiminde verilir. Bu program aşağıda verilen kısımları içerir. Switch kelimesini değerlendirilecek deyim izler Case grupları herhangi bir sayıdadır. Bu gruplar, hepsi tek bir satır üzerinde olmak üzere deyim için olası bir değerin izlediği case kelimesinden ibarettir. Bir case grubu MATLAB bir sonraki case ifadesi veya otherwise ifadesi ile karşılaşınca sona erer. Bir seçmeli otherwise vardır. Bu otherwise kelimesinden ibaret olup, bunu önceki herhangi bir case gruplarının ele almadığı komut ifadelerini yürütür. otherwise grubunun yürütülmesi end komut ifadesi ile son bulur. while Döngüsü

while döngüsü, denetleyen deyim doğru (1) olduğu sürece bir ifadeyi veya ifade grubunu yürütür. Bunun söz dizimi aşağıda olduğu gibidir. while deyim Komut ifadeleri end Eğer deyim bir matrisi değerlendiriyorsa, yürütmenin devam edebilmesi için matrisin tüm elemanları 1 olmalıdır. Bir matrisi bir skalar değere indirgemek için all ve any fonksiyonları kullanır. Aşağıda while döngüsü, 100 haneli bir n! İçin ilk tam sayı n`i bulur. n=1; while prod(1:n) < le100 n=n+1; end break fonksiyon ifadesi kullanarak while döngüsünden herhangi bir anda çıkılabilir. for Döngüsü for bir komut ifadesi veya komut ifadesi grubu önceden saptanan bir sayı kere yürütülür. Bunun sözdizimi aşağıda verilmiştir. for indeks=başlangıç:artış:son Komut ifadeleri end Varsayılan artış 1dir. Negatif sayıda dahil olmak üzere herhangi bir artış belirlenebilir. Aşağıdaki döngü 5 kez yürütülür. for i= 2:6 end x(i)=2*x(i-1); break İfadesi break ifadesi bir for döngüsü veya while döngülerinin yürütülmesini sona erdirir. break ifadesi ile karşılaşıldığında yürütme döngünün dışındaki bir komut ifadesinde devam eder. İç içe döngülerde, break yalnızca en içteki döngüden çıkar. Aşağıda verilen örnek while

döngüsünün bir fft.m dosyası içeriğinin bir MATLAB karakter dizimine okuyuşunu göstermektedir. İlk boş satır ile karşılaştığında while döngüsünden çıkmak için break ifadesi kullanılmıştır. Fft.m programı için sonuç M-dosyası yardımı içeren karakter dizimidir. fid= fopen (`fft.m`,`r`); s = ` ` ; while feof (fid) line= fgetl (fid); if isempty (line), break,end s = strvcat (s,line); end disp (s) return Deyimi return komutların halihazır sıralanmasını sona erdirir ve uyarılan fonksiyonu veya klavyeyi denetime geri döndürür. return ayrıca klavye modunu sona erdirmek içinde kullanılır. Fonksiyonun sonuna ulaştığında, çağırılan fonksiyon normal olarak denetimi uyarılan fonksiyona aktarılır. return erken sona erdirme ve denetimi uyarılan fonksiyona aktarmak için çağırılan fonksiyon içine sokulabilir.