MatLab Mustafa Coşar mustafacosar@hitit.edu.tr http://web.hitit.edu.tr/mustafacosar
Sunum Planı MatLab Hakkında Ekran Yapısı Programlama Yapısı Matlab da Programlamaya Giriş Sorular
MatLab Hakkında MatLab; (MATrix LABoratory); ilk defa 1985 de C.B Moler tarafından matematik ve özellikle de matris esaslı matematik ortamında kullanılmak üzere geliştirilmiş etkileşimli bir paket programlama dilidir.
MatLab Hakkında Matlab programının tipik kullanım alanları: Matematiksel (nümerik ve sembolik) hesaplama işlemleri Algoritma geliştirme ve kod yazma yani programlama Lineer cebir, istatistik, Fourier analizi, filtreleme, optimizasyon, sayısal integrasyon vb. konularda matematik fonksiyonlar 2D ve 3D grafiklerinin çizimi Modelleme ve simülasyon (benzetim) Grafiksel arayüz oluşturma Veri analizi ve kontrolü Gerçek dünya şartlarında uygulama geliştirme şeklinde özetlenebilir.
MatLab Hakkında MatLab ile neler yapılabilir? Matlab programını C/C++ diline dönüştürebilir, 20. dereceden bir denklemin köklerini bulabilir, 100x100 boyutlu bir matrisin tersini alabilir, Bir elektrik motorunu gerçek zamanda kontrol edebilir, Bir aracın süspansiyon simülasyonunu yapabilir, Fonksiyonların grafikleri çizilebilir
Programlama Yapısı MatLab ın Genel Özellikleri Kullanım kolaylığı, İşletim sistemi uyumluluğu, Sayısal analiz işlemlerindeki kolaylıklar, Hazır fonksiyonlar (function files), Görüntüleme (visualization) kolaylığı (grafik çizim), GUI geliştirme kolaylığı, MATLAB derleyicisi (exe: executable dosya ile win uygulamaları), Toolboxes (Araç kutuları): hazır programlar! Küçük-büyük harf ayrımı vardır. abc ve Abc farklı algılanır.» işareti komut prompt udur. Komutlar Enter ile yürütülür.
Programlama Yapısı Matlab Programı Altında Kullanılan Temel Araçlar: Komut Penceresi Programlama (M-file *.m) Grafik (Figure *.fig) Grafik Arayüzlü Programlar (GUI *.fig) Simulink (Model *.mdl) ve Blockset Modülleri Toolbox (Araç Kutusu) Modülleri (Fuzzy, Neural,Statistic vb.) Microsoft Excel Matlab Matlab Web-Server xpc Target ve xpc Target Embedded Stateflow, Real-Time Workshop, Real-Time Windows Target
Programlama Yapısı Matlab de ifadeler genellikle değişken = ifade veya sadece ifade formundadır. Örnek olarak >> x=4*sqrt(5) x = 8.9443 ifadesinde x değişken, 4 sayı, * işleç, sqrt fonksiyondur. Bir ifade = işareti ile bir değişkene atanmamış ise Matlab otomatik olarak sonucu, ans (answer) adı verilen özel bir değişkende saklar.
Ekran Yapısı Menüler Çalışılan Klasör Komut Ekranı Komut Geçmişi
Matlab da Programlamaya Giriş Komut Penceresi: MATLAB ile iletişim kurulan ana penceredir. Komut ve ifade girmek için >> işareti kullanılır. Örneğin, 4*25+6*52+2*99 gibi basit matematiksel işlemi yapmak için >> 4*25+6*52+2*99 ifadesini yazıp Enter tuşuna basılınca, ans= 610 Sonucun Ekranda Görüntülenmesini Gizleme: bir deyim yazıp, Enter tuşuna basılınca sonuçlar ekranda otomatik olarak görüntülenir. Buna karşılık, deyimin sonuna ; ilave edilecek olursa, bu deyim ile yapılan hesaplamalar ekranda görüntülenmez.
1. Matlab Değişkenleri ve Kurallar Değişkenler: İşlem yapılabilmesi için verilerin tutulduğu deyimlerdir. MATLAB bir değişken ile karşı karşıya geldiğinde, otomatik olarak bu değişkeni oluşturulur ve yeteri kadar bellek ayrılır. Eğer değişken daha önceden tanımlı ise MATLAB onun içeriğini değiştirir ve gerekirse yeni bellek ayırır. Örneğin, >> x =50 yazıldığında x adı altında bir değişken oluşturur ve 50 değerini bu değişkene atar. Diğer bilgisayar dillerinde olduğu gibi MATLAB ın da değişken isimleri konusunda bazı kuraları vardır.
1- Değişken isimleri küçük büyük harf kullanımına duyarlıdır. Buna göre aynı anlama gelen fakat farklı yazılan orta, Orta, orta ve ORTA gibi farklı yazımlar sonucu oluşan kelimeleri MATLAB için farklı değişkenlerdir. 2- Değişken isimleri en fazla 31 karakter içerebilir. Bundan fazla olanlar dikkate alınmaz 3- Değişken isimleri daima bir harf ile başlamalı ve bunu herhangi bir sayıda harfler, rakamlar veya alt çizgi _ izleyebilir. Noktalama işaretleri değişken isminde kullanılmaz. Çünkü bunların pek çoğunun MATLAB için bir anlamı vardır. 4- Eşitlik durumlarında verilen işaret iki adet eşittir "==" işaretinden oluşur. Oysa değişken atamalarında kullandığımız eşittir "=", bir tanedir. Rakamlar: MATLAB rakamlar için artı veya eksi işareti ve tercihli ondalık noktası ile birlikte alışagelmiş ondalık işaretler sistemi kullanır. Bilimsel işaretler sistemi 10 tabanına göre kuvvet belirlemek için e harfi kullanır. Sanal rakamlar son takı olarak i veya j harfi kullanır. 3, -100, 0.0005, 9.53564 1.456e10, 2.5e-5, 10i, -3.4j, 3e5i
MATLAB DE DEĞİŞKEN TİPLERİ
MATLAB de Karakter Tipinde Değişken Girişi: k=input( Açıklama: '); Komutu ile k değişkenine sadece sayısal değerler girebiliriz. Bu k değişkeni bir karakter olduğunda ve bu değişkene komut penceresinde bir karakter değer girmek istediğimizde değeri iki tırnak içinde girmek zorundayız. Bu durumdan kurtulmak için MATLAB de karakter tipindeki değişkenin okutulması için şu yapı kullanılır: Degisken_adi=input( Açıklama: ', 's'); Değişkenin karakter tipinde olduğunu gösterir
Örnek: Karakter değerler okuyan ve bir noktaya rastlayınca toplam karakter sayısını veren programı MATLAB de yazınız. karakter=input('karakteri giriniz: ', 's'); ksayi=0; while karakter ~=. ' karakter=input('karakteri giriniz:', 's'); ksayi=ksayi+1; end fprintf('toplam karakter sayısı=%g', ksayi)
Özel Değerler ve Kalıcı Değişkenler MATLAB ın yapısında önceden tanımlanmış, kullanılacakları zaman tekrar tanımlanmalarına gerek olmayan ve herhangi bir anda kullanılmaya hazır bazı özel değerler bulunur. Örneğin: Yarıçapı 2 birim olan bir kürenin alanını >> r=2; >> alan = 4 * pi * r^2 >> alan = 50.2655 >> date >> clock ans = ans = 19-Mar-2003 2003 3 19 18 47 7.828
2. Matlab Bilgi Giriş Komutu - input Bir değişkene dışarıdan bir değer atanması istendiğinde input komutu kullanılır input komutu, komut penceresinde kullanıcıdan bir değişkene bir değer girmesini isteyen bir metin görüntüler ve kullanıcının bir değer girmesini bekler, >> x=input('x değerini giriniz= ') x değerini giriniz= 10 x = 10 Uygulama Sorusu: Dışardan girilen 3 sayının ortalamasını bulan bir MATLAB programı yazınız.
3. Matlab Bilgi Çıkış Komutlar Ekran Çıkış İşlemleri (Formatsız) Disp: Ekrana FORMATSIZ mesaj veya değer yazdırmak için kullanılan komuttur. Mesaj yazılacağı zaman mesajın her iyi yandan tek tırnak ile çevrelenmesi gerekir. disp( yazdırılacak mesaj ); disp(değişken adı); >> x = 3; >> y = 5; >> disp (x+y)
disp komutu ile ekrana metin yazdırma
disp komutu ile ekrana sayısal değer yazdırma
disp komutu ile ekrana metinleri ve sayısal değerleri birlikte yazdirma MATLAB in num2str fonksiyonu kendisine parametre olarak aldığı bir sayıyı bir karakter dizisine (string) çevirir. (22 sayısı '22' olur.)
Bilgisayar Mühendisliği e-posta: mustafacosar@hitit.edu.tr