You are on page 1of 64

GR MATLAB; (MATrix LABoratuvary); ilk defa 1985 de C.B.

Moler tarafndan gelitirilmi ve zellikle de matris esasl matematik ortamnda kullanlabilen etkileimli bir paket programlama dili olarak tanmlanmtr. Balangta MATLAB zellikle mhendislik alannda, iyi grafik zelliklere sahip daha ok saysal hesaplamalarda kullanlmak amac ile gelitirilmi bir paket programlama dili olarak ortaya kmtr. MATLAB, orijinal olarak matris yolu ile matris hesaplamalarnn ncleri olarak bilinen LINPACK ve EISPACK projeleri yolu ile gelitirilen matris yazlm programlarna kolay eriim salamak amac ile yazlmtr. O zaman iin zellikle FORTRAN dilinde uzun zaman alan programlama ilemlerine bir alternatif olarak ortaya kmtr. lk srmleri FORTRAN diliyle yazlm olmakla beraber son srmleri C dilinde hazrlanmtr. Bugn iin farkl alanlarda kullanlabilen ok geni bir rn yelpazesine sahip MATLAB, teknik hesaplamalarda kullanlan yksek baarl dil olarak tanmlanmaktadr. MATLAB n belli bal kullanm alanlar; Matematik ve hesaplama ileri, algoritma gelitirme. Modelleme, benzetim ve prototipleme. Verilerin analizi, incelenmesi ve grntlenmesi. Bilimsel ve mhendislik alannda grafik ilemleri. Grafiksel kullanc arayz yapsn da iine alan uygulama gelitirme. MATLAB, temel veri eleman iin boyutlandrma gerektirmeyen bir dizim (array) olan etkileimli sistemdir.

1.1 MATLAB rn ailesi MATLAB , btn mathworks rnleri iin bir alyapdr. MATLABta , kullanm kolay olan tek bir ortamda saysal hesaplama , 2-d ve 3-d grafikleri ve dil yeteneklerini birletirilmitir. MATLAB eklentileri, MATLABta gelitirilen sistemlerin gerekletirmesini destekleyen seimli aralardrlar . Ara kutular, zel sorunlarn zm iin MATLABa uyarlanan MATLAB ilevlerinin bir tr kitaplklardr. Ara kutular, ak ve eklenebilir olup; kendi algoritmalarn ve ekini grebilirsiniz. Simulink,

Blok diyagram arayz ile dorusal olmayan simulasyonu ve canl simulasyon yetenekleriyle z saylar, MATLABn grafiklerini ve dil fonksiyonlarn birletiren 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 Arakutular 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 gelitirilen sistemlerin gerekletirmesini destekleyen seime dayal aralardr. Bloksetler, zgl uygulama alanlarnda kullanm iin tasarlanm smulink blounun toplamlardr.

MATLAB SSTEMLER MATLAB sistemi 5 ana ksmdan ibarettir. 1. MATLAB dili: Bu, artl deyimler, fonksiyonlar, veri yaplar, giri/k ve nesneye ynelik programlama zellikleri ieren yksek seviyeli bir matris/dizim dilidir. Dil zellikleri MATLAB Toolbox ta 6 adet klasr iinde organize edilmitir. Bunlar;

ops lang strfun iofun timefun datatypes

lemler ve zel karakterler Programlama dili yaplar karakter dizileri Dosya giri/k Zaman ve tarihler Veri trleri ve yaplar.

2. MATLAB alma ortam: Bu, MATLAB kullancs veya programcs olarak alma imkan salayan bir ara ve gereler takmdr. alma ortamndaki deikenleri kontrol etmeyi ve verileri alma ortamndan baka bir ortama aktarmay kolaylatrr. Ayrca MATLAB uygulamalarnn gelitirilmesi, kontrol edilmesi, hata bulunmas ve Mdosyalarnn biimlendirilmesi iin gerekli aralar kapsar. alma ortam zellikleri general ad altnda tek bir klasr iinde yer almaktadr. 3. Grafik Sistemleri: Bu, MATLAB da Handle Graphics olarak bilinir. ki boyutlu ve boyutlu veri grntlemeleri, grnt ileme, canlandrma (animasyon) ve grafik sunumu iin gerekli yksek seviyeli komutlar kapsar. Ayrca MATLAB uygulamalar iin tamamen kullanc arabirimi (GUI) oluturmak kadar, grafiklerin grnn elle dzenlemeye olanak veren dk seviye komutlar da ierir. Grafik fonksiyonlar MATLAB Toolbox iinde 5 klasrde yer alr:

graph2d graph3d specgraph graphics uitools

ki boyutlu grafikler boyutlu grafikler zel grafikler Grafik ynetimi Grafiksel kullanc arabirim aralar

4. MATLAB Matematiksel Fonksiyon Ktphanesi: Bu, sum, sine, cosine gibi elemansal fonksiyonlardan ve karmak aritmetikten, matris tersi, matris zdeerleri, Bessel fonksiyonlar ve hzl Fourier dnmlerine kadar deien geni bir hesaplama algoritmas toplamdr. Matematik ve analitik fonksiyonlar MATLAB Toolbox 8 klasr iinde dzenlenmitir. Bunlar:

elmat elfun specfun matfun datafun polyfun funfun sparfun

Elemansal matrisler ve matris ilemleri Elemansal matematik fonksiyonlar zel matematik fonksiyonlar Matris fonksiyonlar-saysal lineer cebir Veri analizi ve Fourier dnmleri Aradeer (interpolation) ve polinomlar Fonksiyon fonksiyonlar ve dif.denk. (ODE) zm fonksiyonlar Seyrek (sparse) matrisler

5. MATLAB Uygulama Program Arabirimi (AIP): MATLAB ile etkileimli alan C ve FORTRAN programlar yazlmasna olanak tanyan bir ktphanedir. MATLAB tan rutinleri arma (dinamik iliki), MATLAB` bir hesaplama motoru gibi arma ve MAT-dosyalarn yazma ve okuma iin gerekli gereleri ierir.

Byk ve Kk harf duyarll(casesen off,casesen): MATLAB byk ve kk harf karakterlerine dutarl bir dildir. Yani yan simla verilmi fakat karakterlerin durumu bakmnda fakllk arzeden isimler farklym gibi alglanr. rnein dscrite, DSCRITE ve Dscrite atamalar farkl ekilde alglanr. Bu durumda bir isme birden fazla deer atamak mmkndr. Eer istenirse casesen off komutu ile bu durum sona erdirilebilir. Bylece byk-kk harf duyarl ortadan kalm olur. Deikenlerin ve Matrislerin durumu(who, whos, what, size): MATLABda; kullanc tarafndan program iinde tanmlanan deikenlerin ve matrislerin durumunu gzden geirmek iin who,whos,what,size gibi kullanl komutlar bulunmaktadr. who;komutu kullanc tarafndan tanmlanan deikenlerin lsitesini grntler, whos;komutu bu deikenleri boyutlar ile birlikte ve bu deikenlerin sfr olamayan sanal ksmlar olup olmadn da grntler,

what;komutu kullanc diskinin halihazr dizininde mevcut M-dosyalar listesini verir.

Yardm Komutu(help): Yardm imkan MATLABta en nemli bir kaynaktr. alma ortamnda help komutu ile yardm alnabilecek dosyalarn bulunduu dizinler ve sonrada yardm alnabilecek komutlar grntlenir.Ardndan help komutunun ardna yardm istedii konuyu pei sra yazarak istedii konuda yadm alabilir. rnek olarak >>help sin komutu girilerek SIN SIN(X) is the sine of the elements of X

eklinde sins ile ilgili bir yardm alnabilir.

Yazm(type): type komutu ile bir dosyann ieriini grntler. M-dosyalarnn grntlenmesinde dosya adndan sonra M uzantsnn yazlmasna gerek yoktur. rnein type device komutu device.m dosyasnda yazl olan tm satrlar grntler. Buna karlk type device.m komutu ise device dosyasnda yer alan % iareti ile belirlenmi aklama satrlar grntler.

Ksaca genel komutlarn isimleri ve aklamalar Tablo 1.1 de verilmitir. Tablo.1.1


Komut help who whos what size lenght clear quit save lev MATLAB'n operatr ve fonksiyonlarn tanmlar Deikelerin isimlerini listeler Deikenlerin simlerini ve boyularn listeler Diskinizdeki M-dosyalarn listeler Argmanlarn boyutlarn verir Argmanlarn maksimum boyutlarn verir alma ortamndaki tm deikenleri temizler MATLAB ortamn sona erdirir MATLAB ama ortamnda bir MAT-dosyasn saklar

RENC SRMLER MATLAB 4.0 itibaren renci srmleri olduka gl hale getirilmitir. renci MATLAB 5.0da profesyonel MATLAB ile eriilen tm fonksiyon ve zelliklere erimek mmkn olup, yalnz kullanlabilecek matris eleman saysnda bir snrlandrma vardr.

renci srm MATLAB 4.0 da matris eleman says 8192 de snrlandrlm bu say renci srm MATLAB 5.0da iki katna karlarak 16384 (128x128) olmutur. MATLAB 5.3 veya Release 11 kadar (MATLAB 4.0 ve MATLAB 5.0 da) The Student of MATLAB 5.0 ad altnda Prentice Hall kitabevi tarafndan program disketi veya CDleri ile birlikte kitap eklinde pazarlanmaktadr. MATLAB 5.3 ile birlikte karmza MATLAB Student Version ad altndafarkl bir renci srm kmaktadr. Gerek 5.0 ve gerek 5.3 srmleri The Student Edition of MATLAB temel ekirdek programna ilaveten Symbolic Math, Control System ve Signal Processing Toolboxlar kapsamaktadr. Snrlama yalnzca matris eleman saysndadr. Yalnz MATLAB 5.0 kadar MATLAB yannda SIMULINKn renci srm yoktu. Learning MATLAB ve Learning Simulink ad altnda iki ayr kitapla gelen bu srm Windows yazmda Linux ortamnda kullanlabilmektedir. Bu srmn dier bir nemli stnl de profesyonel MATLABa gre olduka dk bir maliyet ile dier MATLAB eklenti paketlerini de bu srm ile birlikte kullanabilme imkandr.

DZM (array) ve DZM LEMLER (MATLAB temel ilemleri) hesaplamalarn pek ounda kullanlan rakamlar skalar adn alrlar. Skalarda ilgili ilemler matematiin temelini tekil eder. Bilgisayar ortamnda skalar ilemi bir anda birden fazla icra edilmeye kalklrsa tekrarl skalarlar ilemler ok zaman kaybettirici ve elverisiz hale gelir. MATLAB bu tr problemleri zmek iin ilemleri veri dizimleri (arrays) zerinde tanmlar.

DZM MATLAB iinde btn ilemler dizim (array) olarak isimlendirilen bir sralama veya tertip zerinde yerine getirilir. Gerekte MATLAB`da array olarak isimlendirilen dizim deyimi matematik ilemlerde farkl yaplar iine alan genel bir kavramdr. rnein bir matris satr ve stunlarn meydana gelmi iki boyutlu bir gerek veya karmak saylar dizimidir.

Dizimlerin Oluturulmas MATLAB`ta dizimlerin oluturulmas aslnda ok kolay ilemdir. Bunun iin sadece iki nokta st ste : iaretini kullanmak yeterlidir. rnein;

X=0:0.1:10;

Komut satr 0 ile balayan 0.1 er adm ile artan 10 saysna kadar bir vektr dizim oluturur ve bunlar X deikenine atar. Balang deeri sfrdan kk veya byk olabilir. Dier bir dizim oluturma yolu linspace ve logspace fonksiyonlardr.

linspace fonksiyonu verilen iki deer arasnda belli sayda dorusal aralkl bir dizim oluturur. Bunun genel komut satr

linspace (X1, X2,N) biimdedir. Buna gre X1ve X2 deikenleri arasnda N adet bir dizim oluturur. nc argman N kullanlmaz ise 100 adetlik bir dizim oluturur.

logspace fonksiyonu verilen iki deiken arasnda belli sayda 10 tabanna gre, logaritmik aralkl bir dizim oluturur. Bunun genel komut satr;

longspace (X1, X2,N) biimdedir. Burada X1 ve X2 dizim oluturacak deikenlerin logaritmik (st) deerleri olup nc giri argmann varsaylan deeri 100 dr. rnein

longspace (0,10); komut satr 100 dan balayan 10 2 sona eren 100 adet (varsaylan) logaritmik aralkl bir dizim oluturur.

Dizimlerin Adreslendirilmesi MATLAB iinde her bir dizim elemanna indisler kullanlarak ulalr. Vektr biimindeki tek boyutlu dizimlere tek bir indis kullanarak, matris biimdeki iki boyutlu dizimlere iki adet indis kullanarak ve ok boyutlu dizimlere de adet indis kullanarak adresleme yaplr.

MATLAB LE ALIMAK MATLAB` gznzde canlandrmann en kolay yolu, onu tm niteliklerle donatlm bir hesap makinesi gibi dnlmektedir. Basit bir hesap makinesinin yapt toplama, karma, arpma ve blmeden ibaret drt ilemi kolaylkla yapar. Bunlara ilaveten teknik bir

hesap makinesinde bulunan karmak saylar, karekk, ve st alma ve sins, kosins ve tanjant gibi geometrik ilemlerde kolaylkla yrtlr. Bunun dnda, programlanabilir bir hesap makinesinde olduu gibi veri saklama ve geri ykleme gibi ilemler ile nemli bir sorunun hesaplamasn otomatik hale getirmek iin komut satrlarn oluturabilir, icra edebilir veya saklayabiliriz. Ayrca ok gl bir hesap makinesinde olduu gibi ok eitli yollardan veri grafiklerinin oluturulmas, matris aritmetiinin icras, polinomlarn incelenmesi, fonksiyonlarn integre edilmesi, denklemlerim sembolik olarak kullanlmas v.b. ilemlerin yaplmasna mmkn klar. Gerekte, MATLAB ok daha fazla zelliklere sahip olup, herhangi bir hesap makinesinden daha ok ynldr. MATLAB matematik hesaplamalar yapmaya yarayan bir aratr. FORTRAN, BASIC, PASCAL, C gibi bilgisayar programlama dillere gre kullanm daha kolay ve daha gelikin niteliklere sahip bir programlama dilidir. Gl grafik yetenekleri sayesinde verilerin grntlenmesi ve canlandrlas iin zengin bir ortam salar. MATLAB, zgn problemlerin zmne grsel yaklam sunan grafik kullanc ara birimleri (GUIS) oluturulmasna olanak salayan bir uygulama gelitirme platformudur. Btn bunlara ilaveten MATLAB Toolbox`lar ad altnda zgn uygulama alanlar iin problem zc ara takmlar sunar. rnein MATLAB renci basks Control Sistem Toolbox, Signal Processing Toolbox ve Symbolic Math Toolbox gibi nemli toolbox iermektedir. Ayrca zgn problemle uraanlar kendi Toolbox`larn da oluturabilirler.

MATLAB ALIMA ALANI MATLAB alma alan, MATLAB komut hattndan kullanlabilecek deikenler (dizimler olarak bilinen) takmn ierir. who veya whos komutlarn kullanarak o andaki alma alan iindekiler grntlenebilir. who komutu sadece deikenlerin isimlerini ksa bir liste halinde verirken, buna karlk whos komutu ayrca boyutu ve veri tr bilgileri de ierir. alma alan ayrca komut penceresinde yer alan aralar zerindeki alma alan taraycs (Workspace Brower) penceresini aarak da grntlenebilir. Tm bilgilerin grntlendii bu pencerenin aralar zeride kp biimde bir ekil vardr. Bu ekil zerinde tklandnda tarayc pencere alr. alma alannda yer alan tm deikenleri silmek iin clear Komutu kullanlr.

1.4.3 MATLAB komut penceresi

MATLAB aldnda karmza gelen pencere (ekil1) MATLABn komut penceresidir. Komut penceresi kullanc ile MATLAB komut yorumlaycs arasnda iletiimi salayan bit ara yzdr. Yorumlayc hazr hale geldiinde (>>) iletisi karmza gelir. Bu ileti MATLABa komut ya da komut dizileri girilebileceini gsterir.

ekil 1.2
Aklama [rose'm1]: Osman! Komut Penceresi Yazmay Unutma

Genel Komutlar Demo komutu(demo): Eer MATLAB ilk defa kullanlyor ya da belli komutlarn almasn merak ediliyorsa demo komutu ile demostrasyon listesini grntlenebilir. Listeden yapacanz bir seimle setiimiz ilevin icraatlarn adm adm izleme imkan bulabilirsiniz.

Saklama ve geri arma komutlar(save-load): Bilgisayarnzda MATLAB ile alrken bilgisayarnz kapatmay

arzulayabilirsiniz. Daha sonra geri dnerek kaldnz yerden etmek isteyebilirsiniz. te bunu baarmak iin kullanyor olduunuz btn deikenleri yeniden ayarlamadan bilgisayarnz kapatmadan nce >>save komutunu kulann.

Bu komut kullanmda olan MAT dosyasn alt dizininde veya MATLAB dosyanzda MATLAB.mat diye yapar veya stne yazar. Sonra MATLAB.mat da yer alan alma alann yeniden arma ihtiyac duyduunuzda >>load komutunu girmelisiniz.

MATLAB.mat haricinde baka bir isim ile de deikenleri saklayabilirsiniz. rnein >>save dosyam Bunun yannda >>load dosyam komutu ile de saklam olduunuz deikenleri geri arabilirsiniz. alma alanndaki verilerin kaydedilmesi ve yklenmesi, save ve load komutlar: MATLAB`n save ve load komutlar bir oturumun her hangi bir annda MATLAB alma alan ieriklerinin kaydedilmesi ve bu oturum srasnda veya daha sonraki bir oturumda kaydedilen bu verilerin tekrar alma alanna yklenmesini salar. save ve load komutlar ayn zamanda yaz (text) tr veri dosyalarnn da alma ortamna ithal edilmesini salar. save komutu alma alan ieriini bir ikili saylar (binary) MAT-dosyas olarak kaydeder. Bu dosya daha sonra load komutu ile geri arlabilir.

1.5 MATLAB Komut Penceresi Menleri: Bir ok programda olduu gibi MATLABda da komut penceresi menleri byk kolaylklar salar. Buna gre MATLABdaki menler ve ilevleri u ekildedir.

1.5.1 File (Dosya) Mens: File mens dosya veya dosyalarn oluturulmas ve yazdrma ileminin ayarlamalarnn olduu komutlar ierir. New:Bu komut u seenekleri ierir. M-File, yeni M-dosyas oluturmak iin bo bir pencere aar. Figure, yeni bir ekil penceresi oluturur. Model,ywni bit SIMULINK penceresi oluturur. Open M-File: Bir dosya seebileiniz pencere ekrana getirerek dosya ad girilmesini veya gereken dosyann seilmesini ister ve ardnda seilen yada ismi yazlan dosya metin dzenleyici program altrlarak alr. Open Selected:Komut penceresinde seilerek belirtilen bir Mdosyasn varsaylan dzenleyiciyi altrarak aar. Save Workspace As...:alma alann kaydetmek iin bir iletiim kutusu grntlenir, yeni bir dosya ad girmeniz gerekmektedir.

Run M-File: Dosya Yneticisinin altr... komutuna benzer. Bir M-dosyas ad girmeniz veya semeniz iin bir iletiim kutusu grntlenir ve belirtilen M-dosyasn altrr. Look for Selected: MATLABin lookfor komutunu altrr. MATLABin arama yolunda bulunan tm M-dosyalarnn iindeki yardm metinlerinin ilk aklama satrlarn tarayarak komut penceresi iinde seilen katar aratrr ve sonucu ekranda grntler. Print...: Komut Penceresinde seilen metni o in ykl bulunan bir yazcya dker. Eer seilen metin yoksa, tm MATLAB oturumu boyunca girilen metni yazdrr. Printer Setup...: O andaki yazc ayarlarn ve seeneklerini(renk tonu gibi) deitirmek iin bir iletiim kutusunu grntler. Exit MATLAB: MATLAB oturumunu kapatr.

1.5.2 Edit (Dzen) Mens: Edit (Dzen) mens komutlar kullancya dzenleme fonksiyonlarn uygulamak iin byk kolaylklar salarlar. Cut: Komut Penceresinde seilen metni keser ve ortamda saklar. Copy: Komut Penceresinde seilen metni kopyalar ve ortamda saklar. Paste: O andaki pano ieriini komut satrna yaptrr. Clear Session: Komut penceresinin ieriini siler. Bu komut, clc komutu ile ayn grevi icra eder.

1.5.3 Options (Seenekler) Mens: Bu men; MATLABda pencere seeneklerini ayarlamak, varsaylan dzenleme programn semek ve MATLABin format ve echo komutlarnn ilevlerini deitirmek iin kullanlr. Numeric Format: Ekran kt biimlerini deitirmek iin bu komutu kullanabilirsiniz. Bu komut u seeneklerden olumaktadr.

Turn Echo On/Off (Yansma Ak/Kapal): Yansma durumu iin ak ve kapal arasnda gei yapar. Echo on ise verilen bir komutun sonucu ekranda grntlenmesini salar. Enable/Disable Background Process: Artalan ilemlerinin olup olmamas arasnda geii salar. Font...: Yaz fontlar iletiim kutusunu aarak buradan komut penceresinde kullanlan font ve artalan rengini seebiliriz. Tablo1.3
Komut Short Long Hex Bank Etki Sabit-noktal saylar 5 haneli olarak gsterir (varsaylan). Sabit-noktal saylar 15 haneli olarak gsterir. Onaltl gsterim biimini seer. Dolar ve sent (Lira ve Kuru) gsterim biimlerini seer. Saylarn nne pozitif, negatif veya sfr olma durumlarna gre +, veya boluk koyar. Kompleks saylarda sanal ksm dikkate Plus alnmaz. Short e Kayan-noktal saylar 5 haneli olarak yazar. Long e Kayan-noktal saylar 15 haneli olarak yazar. Rational Gerel saylar, tamsaylarn oran olarak verir. Katsaylar, matrisin nnde satr-atla karakteri ile birlikte Loose grntler. Katsaylar, matrisin nnde satr-atla karakteri olmadan Compact grntler.

Editor Preference...: Bir metin dzenleme komutu iletilmek istendiinde gereken metin dzenleyici program varsaylan olarak

belirtmemizi salar.

MATLABDA SKALER , VEKTR VE MATRS LEMLERNE GR


2.1 fadeler: MATLAB dier programlama dillerine gre daha vantajldr. Bir ok programlama dilinden farkl matematiksel ifadeler sunar ve bu ifadeler btn matrisleri ierirler . fadelerin temel bloklar Deikenler Saylar Operatrler Fonksiyonlardr.

2.2 Deikenler: MATLABda, herhangi bir tip tanmlamas veya boyut ifadesine gerek yoktur. MATLAB, yeni bir deiken ismi ile karlatnda, otomatik olarak ans isminde bir deiken oluturur ve uygun bir bellek miktar ayrr. Eer deiken zaten varsa, MATLAB gerekli bir bellek ayrdnda ierii deiir. rnein,

ogrenci_say=51 ogrenci_say diye isimlendirilen 1x1 matrisi olutur ve 21i ykle.

Deiken isimleri; bir harfden, saydan veya alt izgiden oluur. saysnn tarafndan takip edilen harftan oluurlar. MATLAB, sadece deiken

isminin ilk 31 karakterini kullanr. MATLAB, byk ve kk harfe duyarldr, byk harf ile kk harfi ayrdeder. A ve a deikenleri ayn deildir.

2.3 Saylar: MATLABda saylar yaygn olarak kullanlan onluk tabanda ifade edilirler. Bunun yansra onluk tabanda stel olarak veya i veya J olarak kompleks say biimlerinde de ifade edilebilirler. rnek olarak,

3 9.6397238 1i saylar gsterilebilir.

-99 1.60210e-20 -3.14159j

0.0001 6.02252e23 3e5i

Saylarn duyarlln belirtmek iin kullanlan eps says onluk tabanda 16 basamakl olarak gsterilmekte ve yaklak olarak 10-308 den 10-308 e kadar olan tm saylar kapsayabilmektedir.

2.4 Operatrler(saysal ilemciler): Matematiksel ifadeleri oluturmak iin operatrler ve nceden tanmlanm sembolleri kullanabilirsiniz. Operatrler zetle unlardr:

Tablo 2.1

lem Toplama karma arpma Blme Sola Blme s Alma

Cebirsel Biimi MATLAB Karl a+b a-b axb a/b b/a a+b a-b a*b a/b a\b a^b

ab

ki dz (skaler) say atasndaki aritmetiksel ilemler Tablo2.1de gsterilmitir. Bir deyim aada olduu gibi deer atanarak belli bir deer iinde saklanabilir. x=a + b Bu ifadede a ve b nin topland ve x deikeni iinde sakland belirtilmektedir. Bu atama ilemini; a iindeki bir deerin b iindeki bir deerle toplanarak bu toplamn x deikenine atanaca eklinde yorumlamak mmkndr. Eer b,r atama ilemi bu ekilde yorumlanacak olursa, aada verilen bir MATLAB bildirimi de geerli olur.

say = say + 1;

Ak bir ekilde bu bildirim geerli bir cebirsel bildirim olamaz, fakat MATLAB iindeki 1in say iindeki bir deere ilave edileceini ve sonucun tekrar say iinde saklanacan belirtir. Sonuta say belirtilmesine denktir. iindeki deerin her seferinde 1 artacann

Belli bir deiken tanmlamadan girilen deyimlerin icrasnda ans isimli bir deiken iinde otomatik olarak saklanr. Her defasnda ans iindeki deer bir ncekinin yerini alr. Burada ans ngilizce cevap anlamna gelen answer kelimesinin ksaltlm eklidir.

Matrislerle yaplan ilemlerde blme ilemi iin iki farkl sembol kullanlmaktadr. Bunun yannda eer saylar skaler ise iki blme ileminin sonucu da ayn deeri gsterecektir. rnein 3/2 ile 2\3 ifadelerinin sonular ayn olup 1.5dir.

Aritmetiksel lemlerde ncelik Durumu:Tek bir aritmetiksel durum iinde birden fazla durum bir arada bulunabildiine gre hangi ilemin ncelik hakkna sahip olunduunun bilinmesi yerinde olacaktr. Aada MATLABda kullanlan ilemlerde ilemlerin ncelik listesi verilmitir.
Tablo 2.2
ncelik 1 2 3 4 lem Parantez s alma, soldan saa doru arpma ve blme, soldan saa doru Toplama ve karma, soldan saa doru

Disp FONKSYONU MATLABda bir matematiksel ifadeyi argman olarak alp bu ifadenin sonucunu ekrana aktaran bir fonksiyon mevcuttur bu da disp fonksiyonudur. Ancak disp fonksiyonunu kullanmakszn sadece ifadeyi yazarsak ta sonucu grebiliriz:

2+8

ans =

10

disp(2+8) 10 , SEMBOL Dizi ya da matris elemanlar arasna ayra olarak yerletirilir; bu sembol yerine boluk sembol kullanlmas da ayn etkiyi salar; [5,7] ans = 5 7

disp( [3,4] ) 3 4 disp( [3 4] )

3 4 Karakter tr veriler ' sembolleri iine alnr; disp fonksiyonu ile aadaki gibi grntlenirse bitiik olarak ekrana aktarlrlar:
disp([3 4]) 3 4 disp(['a' 'c']) ac

; SEMBOL ; Sembol, aralarnda yerletirildii iki skaleri iki farkl satra yazar. disp([4;8]) 4 8 ; sembol ayrca ilerde grlecei gibi matrislerde satr ayrac olarak kullanlr. : SEMBOL :Sembol balang ve son deerleri belirten bir say dizisini 1er artmlarla retilir; balang ve son deerler yannda bir de artm deerleri nc parametre olarak verilirse bu durumda da belirten artm kullanarak bir say dizisi retir. parametre kullanlrsa ilk parametre balang, ikinci parametre artm ve nc parametre ise son deerdir. 1:6 ans = 1 2 3 4 5 6

disp(2:5) 2 3 4

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 AYNI UZUNLUKLARDAK VEKTRLER ZERNDE LEMLER TOPLAMA VE IKARMA + ve sembolleri iki vektr arasnda da kullanlabilir; av b er elemanl iki vektr olsun: a=[2 1 -1] a= 2 1 -1 6.0000 6.7000 7.4000 8.1000 8.8000 9.5000

b=[4 -2 3] b= 4 a+b ans = 6 a-b ans = -2 yukardaki rneklerde grld gibi, toplama ve karma ilemlerinde bilinen vektr toplam ve fark ilemi gerekletirilecektir. ARPMA VE BLME Eit uzunlukta iki vektr iin * ve / operatrleri kullanlrken dikkatli olunmaldr. a=[4 5] a= 4 5 3 -4 -1 2 -2 3

b=[3 -2]

b= 3 -2

c=a*b ??? Error using ==> * Inner matrix dimensions must agree. Burada Matlab iin * sembol matris arpm semboldr ve a ve b arplabilecek tipte matrisler olmadklar iin yukardaki hata mesajn alnmaktadr. .* sembol, elemanlar, iki vektrn karlkl elemanlarn arpmndan oluan ayn uzunlukta yeni bir vektr retecektir:

c=a.*b c= 12 -10 Benzer biimde ./ ve .\ operatrleri de geerlidir. Aada 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

ET UZUNLUKTA K VEKTR ARASINDA ^ OPERATR a=[4 5] a= 4 5

b=[3 -2] b= 3 -2

h=a^b ??? Error using ==> ^ Matrix dimensions must agree. Yukarda grld gibi iki vektr arasnda ^ ilemi tanmszdr. .^ sembol geerlidir ve birinci vektrn bileenleri taban ve ikinci vektrn bileenlerini de st kabul ederek st alma ilemi sonucu ayn boyutta yeni bir vektr oluturacaktr. Aada rnei inceleyelim: h=a.^b h= 64.0000 0.0400 BR VEKTR VE SKALER ARASINDAK LEMLER : TOPLAMA VE IKARMA LEMLER: Aada rneklerde grld gibi, bir skaler ile bir vektr operatr ile ileme sokulursa, skaler vektrn her iki bileeni ile de toplanr: 4+[2 -2] ans = 6 operatr iin de ayn ey sz konusudur: 7-[2 -1] ans = 2

ARPMA VE BLME Bir skaler ile bir vektr operatr ile ilem sokulursa sonuta bileenleri skaler ile vektrn bileenlerinin ayr ayr arplmas ile oluan yeni bir vektr elde edilir: 3*[2 -1] ans = 6 -3 Bir skalerin bir vektre blm ise tanmszdr ( / sembol ile): 3/[2 -1] ??? Error using ==> / Matrix dimensions must agree. Ters blme ( \ ) sembol kullanlrsa vektrn bileenlerinin skaler ile blnmesinden elde edilen iki say yeni bir vektr oluturacaktr: 2\[4 8] ans = 2 Oysa bir vektrn bir skalere blnmesi tanmldr ve bileenleri vektrn bileenlerinin skalere blnmesinden elde edilen yeni bir vektr elde edilecektir: [4 -8]/2 ans = 2 MATLAB LE MATRS LEMLER MATLAB yazlm kullanarak matrislerle ilikili gerekletirmek son derece kolaydr. Bir matrisi MATLAB iine yklemek iin, matrisin deerlerini keli parantez ([]) sembolleri iine yazlr. Elemanlar arasnda birer boluk ve satrlar arasnda da noktal virgl (;) sembolleri konulmaldr. -4 4

Operatrler(saysal ilemciler): Matematiksel ifadeleri oluturmak iin operatrler ve nceden tanmlanm sembolleri kullanabilirsiniz. Operatrler zetle unlardr:
Tablo 3.1

lem Toplama karma arpma Blme Sola Blme s Alma

Cebirsel Biimi MATLAB Karl a+b a-b axb a/b b/a a+b a-b a*b a/b a\b a^b

ki dz (skaler) say atasndaki aritmetiksel ilemler Tablo2.1de gsterilmitir. Bir deyim aada olduu gibi deer atanarak belli bir deer iinde saklanabilir. x=a + b Bu ifadede a ve b nin topland ve x deikeni iinde sakland belirtilmektedir. Bu atama ilemini; a iindeki bir deerin b iindeki bir deerle toplanarak bu toplamn x deikenine atanaca eklinde yorumlamak mmkndr. Eer b,r atama ilemi bu ekilde yorumlanacak olursa, aada verilen bir MATLAB bildirimi de geerli olur.

say = say + 1;

Ak bir ekilde bu bildirim geerli bir cebirsel bildirim olamaz, fakat MATLAB iindeki 1in say iindeki bir deere ilave edileceini ve sonucun tekrar say iinde saklanacan belirtir. Sonuta say belirtilmesine denktir. iindeki deerin her seferinde 1 artacann

Belli bir deiken tanmlamadan girilen deyimlerin icrasnda ans isimli bir deiken iinde otomatik olarak saklanr. Her defasnda ans iindeki deer bir ncekinin yerini alr. Burada ans ngilizce cevap anlamna gelen answer kelimesinin ksaltlm eklidir.

Matrislerle yaplan ilemlerde blme ilemi iin iki farkl sembol kullanlmaktadr. Bunun yannda eer saylar skaler ise iki blme ileminin sonucu da ayn deeri gsterecektir. rnein 3/2 ile 2\3 ifadelerinin sonular ayn olup 1.5dir.

Aritmetiksel lemlerde ncelik Durumu:Tek bir aritmetiksel durum iinde birden fazla durum bir arada bulunabildiine gre hangi ilemin ncelik hakkna sahip olunduunun bilinmesi yerinde olacaktr. Aada MATLABda kullanlan ilemlerde ilemlerin ncelik listesi verilmitir.
Tablo 2.2
ncelik 1 2 3 4 lem Parantez s alma, soldan saa doru arpma ve blme, soldan saa doru Toplama ve karma, soldan saa doru

Fonksiyonlar: MATLABn ok gl ve ok kapsaml bir fonksiyon yaps vardr. MATLABda baz fonksiyonlar daha nceden yerletirilmi bazlar ise sonradan dardan yerletirilmi Mdosyalarndan oluan MATLAB ktphanelerinde tanmlanmlardr. Bunun yannda zel uygulamalar iin kullanclarn kendi fonksiyonlarn yazarak kendi ktphanelerini oluturmas mmkndr. Kullanc tanml fonksiyonlar da dier fonksiyonlar gibi kullanlabilirler. MATLABda mevcut analitik fonksiyonlar genel olarak aadaki kategorilere ayrabiliriz.

1. Temel matematiksel fonksiyonlar 2. zel fonksiyonlar 3. Temel matrisler ve matris ilemleri 4. Matrisleri arpanlarna ayrma 5. Veri analizleri 6. Polinomlar 7. Diferansiyel denklem zmleri 8. Lineer olmayan denklemler ve optimizasyon 9. Saysal integral hesaplamalar 10. Sinyal ileme

Fonksiyonlarn grevini ksa bir ekilde sadece baz temel matematiksel fonksiyonlarn aklamalar aadaki tabloda verilmitir. Ayrca dier nemli fonksiyonlar da tezin sonundaki eklerde verilmitir.
Tablo 2.3

Fonksiyon abs angle sqrt real imag conj round fix floor ceil sign rem

Aklama Mutlak deer hesaplar ve karekterleri sayya dntr. faz asn radyan cinsinden hesaplar saylarn karekkn hesaplar bir karmak saynn gerek ksmn hesaplar bir karmak saynn sanal ksmn hesaplar karmak elenik sayy hesaplar en yakn tamsayya tamamlar en yakn tamsayy sfra dor yuvarlar en yakn tamsayy eksi sonsuza doru yuvarlar en yakn tamsayy art sonsuza kadar yuvarlar bir say veya matris elemanlarnn sfrdan byk veya kk olup olmadn tespit eder bir blme ileminde kalan hesaplar

MATLAB, standart basit matematiksel fonksiyonlardan abs, sqrt, expin ve sin gibi saylar iermektedir. Karekk veya negatif saynn logaritmasn alarak hatasz, uygun karmak sonucu otomatik olarak retir. MATLAB, ok gelimi matematiksel fonksiyonlar kapsayan bessel ayn zamanda salar ve gama fonksiyonunu yerine getirir. bu fonksiyonlarn ou karmak tartmalar kabul ederler.

MATLABDA MATRSLER VE TEMEL MATRS LEMLER:

Her ne kadar 4. versiyondan itibaren MATLABa The Symbolic Toolbox ilave edilerek sembolik matematiksel ilem yapma olanaklar salanm ise de MATLAB

elemanlar kompleks olabilen drtgensel boyutlu saysal matrislerle alan bir programdr. Baz durumlarda zel olarak bu matris 1x1 boyutunda olabilir. Benzer ekilde tek satr veya tek stundan oluan vektrler olabilirler. MATLABn matrisler ile almas demek; verileri matrisler biiminden deerlendirmesi ve zmleri matris esasna gre yapmas ve sonular da matris biiminde dzenlenmesi demektir. BR MATRS MATLABA YKLEMEK: Matlab de bir matrisi bilgisayara yklemek iin eitli yntemler vardr: 1) a=[2 7 9; 1 -3 6; 0 5 7] ve enter tuuna baslr.

Aagda grld gibi, bir a matrisi oluacaktr: a= 2 1 0 2) Matris elemanlar arasna boluk yerine virgl (,) ayrac da konulabilir: a=[2,7,9; 1,-3,6; 0,5,7] a= 2 1 0 3) Dier bir yol ise matrisin satrlarn [] sembolleri arasna almaktr: a=[[2 7 9]; [1 -3 6]; [0 5 7]] a= 2 1 0 4) Matris elemanlarn giriliinde drdnc yol ise her satr sonras ; sembolleri yerine enter tuu kullanmaktr: a=[2 7 9 1 -3 6 0 5 7] a= 2 7 9 1 -3 6 0 5 7 K MATRSN TOPLAMINI HESAPLAMAK a ve b, matlabde yukardaki gibi tanmlanm ve boyutlar ayn olan iki matris olsun. Bu iki matrisin toplamn hesaplamak iin matlabn komut satrnda c=a+b 7 -3 5 9 6 7 7 -3 5 9 6 7 7 -3 5 9 6 7

yazmak yeterlidir. a ve b matrislerinin toplam c matrisine eittir. a=[2 7 9; 1 -3 6; 0 5 7] a= 2 1 0 7 -3 5 9 6 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 MATRSN KARILIKLI ELEMANLARININ ARPIMINI HESAPLAMAK Matris arpm olan c matrisini hesaplamak iin a ve b arasna * sembol konulur. c=a*b c= 155 193 150 10 19 59 109 133 102 Karlkl elemanlarn arpm ilemi ise, ayn satr ve stn indisli elemanlarn arptrarak c matrisinin elemanlarn hesaplamaktr. Yani cij=aij*bij eklinde yazlr: c=a.*b c= 8 49 72 12 -42 30

0 45 77 BR MATRSN TRANSPOZESN HESAPLAMAK Bir matrisin transpozu satrlarla stunlarn yer deitirdii baka bir matristir.. Genelde tranpoz st indis olarak T olarak ifade edilir. Bilindii gibi, A bir matris ise, a matrisinin transpozesi olan matris genellikle A eklinde gsterilir ve transpoze matris orijinal matrisin satrlar ile sutunlarn yer deitirilmesi ile elde edilir. MATLABde transpoze hesaplamak iin sembol kullanlr: A=[3 4 6; 4 6 8] A= 3 4 D=A' D= 3 4 6 Matrislerin kuvvetini alma ilemi: Bir A matrisinin kuvvetini almak iin A.^p deyimini kullanmak yeterlidir. Bu ilem A matrisi iindeki her bir elemann teker teker p. kuvvetini alr. Burada A bir kare matris, p ise bir skaler saydr. 4 6 8 4 6 6 8

Bir kare matrisin karesi (A^2) A*A ilemine denktir. Benzer ekilde A^4 deyimi de A*A*A*A ilemine denktir. Buna karlk A^2.5 gibi kesirli st lama ilemi z deerleri ve z vektrleri de iine alan daha karmak bir ilem gerektirir.

ki matris arpmnn yaplabilmesi iin birinci matriste bulunan satr saysnn ikinci matrisin stun saysna eit olmas gerektiine gre, bir matrisinin kuvvetinin alnabilmesi iin de satr saynn stun saysna eit olmas dolaysyla kare matris olmas gerekir.

MATLAB LE LNEER DENKLEM SSTEMNN ZM

Matlab ile bir lineer denklem sisteminin zm iin eitli yollar mevcuttur. Burada en elemanter yolu gsterilecektir. a11x1+a12x2+ . . . +a1nxn=b1 a21x1+a22x2+ . . . +a2nxn=b2 ... an1x1+an2x2+ . . . +annxn=bn eklinde verilen bir lineer denklen sisteminin katsaylar matrisi A= a11 a21 ... an1 a12 a22 an2 a1n a2n ann

bilinmeyen vektrler x = (x1 x2 . . . xn) ve sa taraf vektr de b = (b 1 b2 . . . bn ) olmak zere denklem sistemi, Ax=b eklinde yazlabilir ve buradan xi bulmak iin, x=A-1b ilemi gerekletirildiinde bilinmeyen vektrlerin zm kmeleri elde edilir.

GRAFK LEMLER
Grafik esasl bir programlama dili olan MATLAB`n son srmleri ile birlikte grafik zellikleri daha da glendirilmitir. Verilerin grntlenmesi ve grafiklerin sunumu MATLAB`n temel grafik zellikleridir. MATLAB yksek seviyeden grafik oluturma rutinler takmna sahiptir. Bu rutinler dikdrtgen (x-y) ve kutupsal eksenlerde izgi grafikleri, ubuk ve histogram grafikleri, d hat (contour) grafikleri, a gz (mesh) ve yzey grafikler ve canlandrma (animation) gibi veri sunu teknikleri kullanr. Bunlara ilaveten renk, glgelendirme, eksen etiketleme, ve grafiklerin genel grn gibi zellikleri de denetleme imkan vardr. MATLAB`n nesneye ynelik grafik sistemi olan grafik ynetimi (Handle Graphics) kullanlarak MATLAB`n verilerinin grafiklerini oluturma ilemleri zerinde daha hassas bir denetim kurulabilir veya kullanc kendi grafik komutlarn gelitirebilir. Grafik ynetimi (Handle Graphics) izgiler (Lines), yzeyler (Surfaces) ve metinler (Text) gibi grafik

nesneleri takmn tanmlar ve arzu edilen sonular salamak iin bu nesnelerin karakteristiini dzenleme mekanizmasn sunar. Grafik ynetimini (Handle Graphics) kullanarak menler, tklama dmeleri, metin kutular ve dier kullanc arabirim aygtlar oluturulabilir. Grafik ynetimi ile herhangi bir M-dosyasna grafik kullanc arabirimi (GUI) ilave edilerek veya kullanc, MATLAB oturumu baladnda balatlan kendi ortamn tanyabilir. Bununla herhangi bir MATLAB esasl uygulama iin karmak kullanc arabirimi kurulabilir.

ekil Penceresi MATLAB grafik klarn ekil penceresi ad verilen ve komut penceresinden ayr pencereye gnderilir. MATLAB iinde bu pencere (figure) bir ekil olarak grlr. Bu pencerenin karakteristii, kullanlan bilgisayarn pencereleme sistemi ve MATLAB ekil nitelikleri ile denetlenir. Grafik fonksiyonlar, hazrda yoksa yeni ekil penceresi oluturulur. Mevcut bir ekil varsa MATLAB bu pencereyi kullanr. Eer birden fazla ekil mevcut ise bunlardan bir tanesi halihazr ekil (genellikle kullanlan son ekil) olarak kullanlr. figure fonksiyonu ekil pencerelerini oluturur ve bunu halihazr ekil yapar. Daha nceden grafik komutlarndan birisi ile oluturulmu ekil pencerelerinden biriside halihazr ekil penceresi olarak kullanlabilir.

Grafik Editr Grafik editr kullanm kolay bir ara olup oluturulan grafiklerin zerinde baz eklemeler ve deiikler yapmak amac ile kullanlr. Grafik editrn salad belli bal zellikler: Metin, ok ve izgi aklayc notlar eklemek Eksenleri tanmlama, balk, aklayc bilgi(legend), eksen izgilerin iaretlenmesi, ve izim alannn karelere ayrlmas (grid) gibi eklemeler yapmak. izgi tr, kalnl, rengi ve iaretleyicisi gibi grafik izgisi zelliklerini deitirmek

Bir ekil Penceresi zerinde Birden Fazla Grafiin Oluturulmas subplot fonksiyonu kullanarak ayn ekil penceresi zerinde birden fazla grafik oluturulabilir ve bunlar ayn kat sayfasna yazlabilir. suboplot (m,n,i) komutu ekil penceresini mxn lik matris biiminde kk alt grafik oluturma blgelerine paralar ve i inci alt grafik blgesini halihazr grafik iin seer.

Grafikler ekil penceresinin st satrna boyunca balamak zere daha sonra ikinci satr ve daha sonra da benzer yol izleyerek numaralandrr.

ginput ve gtext Fonksiyonlar: Grafik zerinden Veri Edilmesi ve zerine Metin lavesi ginput fonksiyonu, grafik iinde yer alan bir eri zerindeki noktalar fare veya ok tular yardm ile seme imkan salar. ginput fonksiyonu gstergelerin koordinatlarn k olarak verir.

Komut ortamnda ginput (1) fadesini yazdktan sonra ekil penceresine dnlrse grafik zerinde fare ile hareket eden kesien ince izgiler belirir. Bu izgilerin kesime notasn eri zerinde arzu edilen bir noktaya getirilip fare ile tklatnca bu noktaya ait koordinat deerini komut ortamnda grntlenebilir. Burada n yerine 1 kullanlacak olursa bir komut giriinde eri zerinden n adet nokta alnr. Nokta says belirlenmezse sonsuz sayda nokta iin program sonsuz dngye girer. Eer komut ortamnda [x y]=ginput (n) ifadesi yazlacak olursa, eri zerinde tespit edilen noktann koordinatlar elde edilir ve sonular ayrca x ve y deikenlerine de atanr. Bu rnek , iki boyutlu ara deer bulma yolu ile bir eri oluturmak iin kullanlan spline fonksiyonu ile ginput fonksiyonunun kullanlmasn aklamaktadr. gtext fonksiyonu, ekil penceresindeki halihazr grafik zerinde fare ile seilen konuma bir metin kayd yapar. Komut penceresinde, gtext (`metin`) Yazlnca hemen ekil penceresi alr ve dik kesien iki izgi belirir. Bu kesime noktas grafik alannda gezdirilerek uygun yerde tklatlacak olursa trnak iindeki metin yazs tklatlan konuma kaydedilir.

Grafiklerin stee Bal Dzenlenmesi ve Biimlendirilmesi MATLAB, bir plot komutu ile verilen grafikleri otomatik olarak (uygun eksen lei, uygun izgi rengi v.b. ile) oluturulabilir. Buna karlk gerek oluturulacak olan ve gerekse oluturulan grafik zerinde istee bal dzenlemeler yapmak ta mmkndr. Bir grafik

zerinde izgi karakteristikleri, eksen limitleri ve eksen lek iaretlerini deitirmek ve dzenlemek mmkndr.. plot(x,y) komutu x ve y vektrleri ile noktal - kesikli gibi dier izgi trlerini de semek mmkndr. Dier taraftan bir izgi grafii yerine bir nokta grafii de izdirmek mmkndr.

Aadaki tabloda izgi ve iaret tiplerinin bir listesi verilmitir.


Tablo 4.2

Sembol Y M C R G B W K

Renk(RGB) Sar(110) Magenta(101 Ciyan(011) Krmz(100) yeil(010) mavi(001) beyaz(111) siyah(000)

izgi stili . O X + * S D V ^ < > P H

Sembol nokta Yuvarlak arp iareti Art iareti yldz Karekk Baklava gen(aa) gen(yukar) gen(sola) gen(saa) Pentagram Hexagram

Nokta stili : -. -izgi Noktal izgili ve noktal kesik izgili

Grafik Eksenlerinin Elle Dzenleme Komutlar axis ([xmin xmax ymin ymax]): Satr vektr iinde verilen deerleri kullanarak eksenlerin minimum ve maksimum deerlerini belirler. V=axis: V, ([xmin xmax ymin ymax]) biiminde bir satr vektr olup halihazr grafik iin lek deerlerini ierir axis, auto axis (`auto`): eksen lek deerlerini varsaylan otomatik deerlerine dndrr axis manual: lek deerlerini halihazr snrlarda dondurur ve bylece eer tutma komutu (hold on) etkin hale getirilmise, bir sonraki grafik iziminde ayn eksen deerlerini kullanma imkan salar.

axis xy: Sistem orijinin en dk (en kk koordinat ifti) sol kede olduu, buna karlk dey eksenin alttan ste doru artt yerdeki kartezyen koordinat kullanlr.

axis square: halihazr grafik eksenlerini (varsaylan dikdrtgen biimi yerine) kare biimine dntrr.

axis off: Eksenleri, eksen zerinde yer alan iaretleri ve yazlar siler, kaldrr. Balk ve herhangi etiketleri text ve gtext komutlar ile yerletirilecek duruma geirir.

axis on: Silinen eksenleri tekrar geri arr.

Grafik zerinde Aklayc Bilgiler lave Edilmesi Grafik zerinde keyfi bir konuma bir metin yazma ve eksenin altna etiket metni yazdrmak mmkndr. Bu komut fonksiyonlarn belli ballar: title fonksiyonu, grafik zerine balk yazdrr. xlabel, ylabel ve zlabel fonksiyonlar, srasyla x-ekseni, y- ekseni ve z-ekseni zerine etiket yazdrr. legend fonksiyonu, mevcut bir grafik zerine aklayc ifadeler ilave eder. text fonksiyonu, grafik zerinde koordinatlar belirten bir konuma bir metin yazdrr. gtezt fonksiyonu, fareyi kullanarak grafik zerinde metin yerletirilir. Yukarda verilen fonksiyonlar komut penceresinde kullanarak grafik zerinde gerekli dzenlemeler yapabilir. Bunlara ilaveten ekil penceresinde grafik editr (Plot Editr) ile de benzer ilemler yapmak mmkndr.

zel Grafikler MATLAB ok eitli grafik trlerini desteklemektedir. Verilerin yapsna bal olarak uygun bir grafik tr seilebilir. Aada verilen grafik komutlar zel amalar eitli grafiklerin oluturulmas kullanlabilir. bar ve area (ubuk ve alan) fonksiyonlar: ubuk ve alan grafiklerini oluturulur. Bu grafikler zaman zerinden sonularnn incelenmesi iin kullanldr. Bu grafikler zerinde sonular karlatrlr ve bir toplam miktar zerinde deerlerin pay grlr. bar fonksiyonun deer biimleri; barh, bar3 ve bar3h dr polar fonksiyonu: Kutupsal koordinatlar kabul eder ve bir kartezyen dzleme kutupsal koordinatlarn grafiini oluturur. Ayrca grafik dzlemine kutupsal grid oluturur.

hist ve rose fonksiyonlar: Histogram tr grafiklerin oluturulmasnda kullanlr. Histogramlar veri deerlerinin dalmn gsterir. Burada hist fonksiyonu verileri kartezyen koordinat sisteminde ve rose fonksiyonu da verileri kutupsal koordinatlar sistemi zerinde deerlendirir.

stair, stem (ve stem3) fonksiyonlar: Kesikli zaman verilerin grafiklerini oluturur. Bunlardan stair fonksiyonu, verilerin merdiven basama biiminde srekli grafii oluturur. stem fonksiyonu ise veri noktalarn dey izgileri oluturur.

Compass, feather, quiver (ve quiver3) fonksiyonlar: Grafik zerinde yn ve hz vektrlerini grntler.

contour (ve contour3) fonksiyonlar: 2 ve 3-boyutlu d hat izgilerini oluturur.

A Gz ve Yzey (mesh & surface) Grafikleri MATLAB x-y dzlemindeki bir dikdrtgen grid zerinde noktalarn z-koordinatlar yolu ile bir a gz dzeyi tanmlar. Birbirine bitiik noktalar dz izgilerle birletirmek suretiyle bir grafik oluturur. Bu da veri noktalarnda dmleri olan bir balk ana benzer. A gz grafikleri byk matrisleri grntlenmesi veya iki deikenli fonksiyonlarn izgi grafikleri iin ok kullanldr. Bu konuda kullanlan belli bal fonksiyonlar: mesh, surf: Yzey grafii meshc, surfc: Yzey grafii ile ayn olup altnda kontur grafii vardr. meshz: perde grafii (bavuru dzlemi) ile yzey grafii. pcolor: Dz yzey grafii (deer yalnzca renk ile orantl) surfl: Belli ynden aydnlatlm yzey grafii surface: Yzey seviyeden yzey grafik fonksiyonlar bu fonksiyonlar esas alr.

MATLAB LE 2 VE 3 BOYUTLU GRAFK ZM

MATLAB grafik sistemi, verilerin hazrlanmasnda ve grselletirilme-sinde ok deiik ve kendine has zellikleriyle bir kullanclara byk kolaylk salamaktadr.

MATLAB 3.5 ve daha altndaki srmlerinde; x-y grafikleri, kutupsal grafikler, ubuk grafikler, yzey grafikleri 3-D yzey network meshi oluturmak mmkndr. Bunun yannda MATLAB 4.0 ve daha yukar srmlerinde grafiksel zellikler ok daha fazla

artrlm ve yukardaki bahsedilen zelliklere ilaveten x-y-z grafikleri de dahil olmak zere her trl 3 boyutlu izgi ve yzey grafikleri oluturmak mmkn hale gelmitir.

MATLAB LE 2-BOYUTLU GRAFK ZM x-y dzleminde oluturulan pek ok grafikte x ve y eksenlerinin eit aralklarla blnd varsaylr. Ve bu tr grafiklerde lineer grafik adn alr. Baz istisnai durumlarda ya tek eksen zerinde ya da her iki eksen (x,y) zerinde de logaritmik leklendirme kullanlabilir. x ve y vektrlerinin lineer ve logaritmik fonksiyonlar aada verilmitir (eksenler veri saysna gre leklendirilirler).

Eksen aralklarnn belirtilmesi: axis fonksiyonu axis fonksiyonu, axis ( []xmin xmax ymin ymax zmin zmax ) eklinde kullanlr ve izilecek grafik iin eksen aralklarnn belirtilmesi iin kullanlr.
4 3 2 1 0 -1 -2 -3 -4 -2

-1.5

-1

-0.5

0.5

1.5

axis([-2 2 -4 4])

K NOKTA ARASINDA DORU PARASI ZDRLMES A(x1,y1) ve B(x2,y2) eklinde belirtilmi olan noktalar olsun. A ile B noktalarndan geen bir dorunun izdirilmesi iin MATLABde line fonksiyonu kullanlr. Bu fonksiyon,

X=(x1,x2) ve Y=(y1,y2) eklinde belirlenmi iki vektr ise, line(X,Y) eklinde kullanlmaldr. y=3x+5 ve y=-x+3 dorularn x=(-4, 4) aralarnda 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])

sonuta aada grld gibi, x ve y koordinat eksenleri ile birlikte istenilen dorular izilmi olacaktr:

4 3 2 1 0 -1 -2 -3 -4 -2

-1.5

-1

-0.5

0.5

1.5

fplot FONKSYONU fplot szc function plotting (Fonksiyon izdirme) szcklerinden tretilmi ve Matlab ortamnda iki boyutlu grafikler oluturmak iin eitli imkanlar sunmaktadr. fplot fonksiyonunun iki parametresi vardr ve aadaki gibi kullanlr: fplot (FonksiyonAd, Aralk) Burada fonksiyonad parametresi string trnde verilmi tek bir fonksiyona ait ifade olabilecei gibi, ayn anda birden fazla fonksiyon izdirilecekse bu durumda da string ifadesi biiminde ve [] sembolleri iinde yer alan ve birbirlerinden virglle ayrlm fonksiyon ifadelerinden oluacaktr. y=x2 parabolnn x=(-10,10) ve y=(-100,100) aralndaki grafiinin izilmesi gerekletirelim.

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 aadaki grafik izilecektir:

100 80 60 40 20 0 -20 -40 -60 -80 -100 -10

-8

-6

-4

-2

10

ama: 2-D lineer izim kullanm: plot(Y) plot(X1,Y1,...) plot(X1,Y1,izgitr,...) plot(...,'zellikismi,zellikDeeri,...)

h = plot(...) aklama: x ve y eksenlerini lineer olarak leklendirir ve verilerin grafiini izer. Burada xler bamsz deiken yler ise baml deikeni gstermektedir. rnek: X = 0:pi/15:4*pi; Y = exp(2*cos(X)); plot(X,Y,'b+') herbir veri

noktasna

mavi

art

iareti

koyarak

izer

0 0 2 4 6 8 10 12 14

ekil 4.1

GRAFE EKSEN AIKLAMALARI, ETKETLER VE DER AIKLAYICI BLGLERN EKLENMES Yukardaki parabol zerinde alrsak, MATLABda ana grafik fonksiyonlarnn yannda izilen grafikleri zerine yaz yazdrabileceimiz etiket komutlar da vardr. Belli bal etiket komutlar ve aklamalar aada verilmitir. set(gca,'FontName','Courier','Fontsize',14) xlabel('x') ylabel('x^2') title('y=x^2 PARABOL') x ekseni zerine bir etiket koymak iin xlabel fonksiyonu ve y ekseni zerine bir etiket koymak iin ise ylabel fonksiyonu yukardaki biimde kullanlmaktadr. Grafik zerinde bir balk yazdrlmak isteniyor ise bu amata title fonksiyonu kullanlmaktadr.

PARABOL VE KBKLER 100 x2 -x2 x3 -x3

50

-50

-100 -10

-5

0 x

10

AYNI EKSENLER ZERNE BRDEN FAZLA FONKSYONA AT GRAFKLERN ZDRLMES x=(-10 10) ve y=(-100 100) deer aralklar iin, y=x2, y=-x2 parabolleri ve y=x , y=-x3 kbiklerine ait grafikleri ayn eksenler zerinde izelim:
3

fplot('[x^2,-x^2,x^3,-x^3]',[-10 10 -100 100])

y=x2 PARABOL 100

50

x2

-50

-100 -10

-5

0 x

10

grid line([-10 10],[0 0]) line([0 0],[100 -100]) xlabel('x') ylabl('x') ylabel('x') title('PARABOL VE KBKLER') legend('x^2','-x^2','x^3','-x^3) legend('x^2','-x^2','x^3','-x^3') sonuta aadaki grafii elde ederiz:

STN GRAF (BAR CHART) OLUTURMAK 1997-1999 yllar arasndaki her ylda blmlerin renci mezun etme saysn gsteren aadaki tablo verilmi olsun: BLMLER ELETRONK BLGSAYAR ELEKTRK TIP 1997 65 60 67 70 1998 67 56 65 50 1999 60 68 60 65

Bu tablodaki bilgileri kullanarak bir stn grafii oluturacaz. Stn grafii oluturabilmek iin Matlabde bar fonksiyonu kullanlr. enf = 65 60 67 70 67 56 65 50 60 68 60 65

bar(1997:1999,enf') xlabel('YILLAR') ylabel('MEZUN SAYISI') title('1997-1999 YILLARINDA MEZUN RENCLER')

legend('ELT','BL',ELK','TIP') legend('ELT','BL','ELK','TIP') Aadaki grafii elde edeceiz:


1997-1999 YILLARINDA MEZUN RENCLER 70 ELT BL ELK TIP

60

50
MEZUN SAYISI

40

30

20

10

1997

1998 YILLAR

1999

aklama: xlabel,Halihazrdaki grafiin x ekseni iin etiket yazdrr. ylabel,Halihazrdaki grafiin y ekseni iin etiket yazdrr.

DARE GRAF (PE CHART) HAZIRLAMA Daire grafii iin rnek veri olarak ayr blmn (ELK, BL, ve ELK) mezun rencilerin kendi brannda retmen olabilme orann seelim: BLM ADI ELEKTRONK BLGSAYAR ELEKTRK a=[60 65 25] a= 60 65 25 RETMEN SAYISI 60 65 25

pie(a) gtext('RETMEN ORANI') legend('ELK','BL','ELT')

17%

ELK BL ELT

40%

43% RETMEN ORANI

DEMEYSEL OLARAK LLM VERLERLE GRAFK ZMEK-plot FONKSYONU y=f(x) fonksiyonunun analitik ifadesinin mevcut olmayp sadece x ve y iin deneysel olarak llm deerlerin mevcut olduu durumlarda, Matlabde, y=f(x) grafiini izmek iin, plot fonksiyonunu kullanmak uygun olacaktr. plot fonksiyonu iki farkl biimde kullanlabilir: Bu durumda, x ve y birer vektr ise y=f(x) grafii, Matlab tarafndan default renk ve biimde izilecektir. x ve y deerleri bir deney sonucunda aadaki gibi llm olsun: x 1 3 5 7 9

20

25

30

buna gre y=f(x) grafiini izmek iin aadaki ilemleri gerekletirebiliriz: 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

BOYUTLU GRAFK ZM 3 boyulu uzayda noktalarn ve izgilerin grafiini oluturu. plot(x,y,z) komutu 3 boyutlu uzayda koordinatlar x,z ve znin elemanlar olan noktalardan geen tek bir izgi grafii oluturur. Burada x,y ve znin ayn boyutta vektrler 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 -0.5 0.5 1

MATLAB ile boyutlu grafik izimini gerekletirmek iin meshgrid ve mesh fonksiyonlarn kullanlr. mesgrid fonksiyonu, x ve y koordinatlarn oluturduu ikililerle bir deerler kmesi hazrlar ve mesh fonksiyonu ise be deerler matrislerini kullanarak boyutlu grafii izer. Aadaki rnekte ok net anlamamz salayacaktr. z=x2+y2+xy yzeyinin 2<x<2 ve 2<y<2 deerler aralklar iin 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 aadaki boyutlu grafii elde ederiz:

12 10 8 6 4 2 0 2 1 0 -1 -2 -2 -1 1 0 2

ayn x ve y deerleri iin z=xsin(x2+y) yzeyini izdirelim: z=sin(x.^2+y).*x z= Columns 1 through 7 -1.8186 -1.1969 -0.2822 0.7016 1.5136 1.9551 1.9178 1.4111 0.5588 -0.3711 -1.0225 -1.4235 -1.4760 -1.1671 -0.5725 0.1623 0.8573 1.3425 0.8415 0.4920 0.4794 0.4745 0 0.3408 -0.4794 0.1237 -0.8415 -0.1237 -0.9975 -0.3408 -0.9093 -0.4745 -0.5985 -0.4920 -0.1411 -0.3890 0 -0.4920 0 -0.4745 0 -0.3408 0 -0.1237 0 0.1237 0 0.3408 0 0.4745 0 0.4920 0 0.3890 -0.8415 -0.4794 0 0.4794 0.8415 0.9975 0.9093 0.5985 0.1411

Columns 8 through 9 0.3711 1.0225 1.4235 1.4760 1.1671 0.5725 -0.1623 -0.8573 -1.3425 1.8186 1.1969 0.2822 -0.7016 -1.5136 -1.9551 -1.9178 -1.4111 -0.5588

mesh(x,y,z)

-1

-2 2 1 0 -1 -2 -2 -1 1 0 2

surf FONKSYONU surf fonksiyonu, mesh fonksiyonu gibi boyutlu grafik izme iini gerekletirir. mesh fonksiyonundan fark, izilen yzeyin grid boyunca farkl blgelerinin farkl renklerde boyanmasdr. x= (-2,2) ve y=(-2,2) eerler aralklar ve 0.2 artm deerlerini kullanarak z=2x2+y yzeyini izdirelim: [x,y]=meshgrid(-2:0.2:2,-2:0.2:2) z=2.*x^2+y surf(x,y,z) surf fonksiyonu ile aadaki grafii izdireriz:

Ayn zamanda z=x2/a2+y2/b 2 paraboidinin x=(-10,10) ve y=(-10,10) aralna 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 grafii:

Birleme an ret ve tepe noktalarn kenar iziminin yaplamas. [x,y] = meshgrid(-3:.125:3); Z = peaks(X,Y); meshc(X,Y,Z); axis([-3 3 -3 3 -10 5])

Tepe noktalar fonksiyonu iin perde iziminin retilmesi . [X,Y] = meshgrid(-3:.125:3); Z = peaks(X,Y); meshz(X,Y,Z)

Boyutlu Bir Grafie Bak As: MATLAB, grafiin ynn kontrol etmenizde kolaylk salar. MATLABn bir grafik iin gr asn belirtebilir, yn ve grnn izdmn ekil penceresinde grebilirsiniz. zellikleri grerek bunlar bir takm grafik fonksiyonlar yoluyla kontrol edebilirsiniz. view fonksiyonu, kresel koordinatlarda eksenlerin merkezine gre (orjine) alk ve ykselti alar belirtilerek bak noktasn ayarlar. Aklk, x-y dzleminde saat ynnde pozitif deerli kutupsal adr. Ykselti ise bak noktasnn x-y dzleminin zerinde(pozitif) veya altnda(negatif)olmasn belirleyen derece cinsinden bir adr. Aadaki izim, koordinat sistemini gsterir. Oklar, pozitif ynleri ifade etmektedir.

Bak Noktas

Grafik merkezi

Ykselti

Aklk

ekil 4.11

MATLAB , 2-D veya 3-D izimlerini belirlenmi gr asn otomatik olarak seer. Buna gre 2-D izimler iin, aklk=0o ve ykselti=90o 3-d izimler iin, aklk=-37.5o ve ykselti=30o

rnek:Aada peaks matrisinin izdirilmesinden elde edilen grafiin drt farkl grnm yer almaktadr. 1. Aklk=-37.5o ve ykselti=30o iin grafiin izimi:
[X,Y] = meshgrid([-2:.25:2]); Z = X.*exp(-X.^2 -Y.^2);

surf(X,Y,Z)

0.5

-0.5 2 1 0 -1 -2 -2 0 -1 1 2

ekil 4.12

2. Aklk=180 , ykselti=0o ve z=0 iin grafiin 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. Aklk=-37.5 , ykselti=30o iin grafiin izimi: view([-37.5 -30])

0.5

-0.5 -2 -1 0 1 2 2 1 0

-2 -1

ekil 4.14

4.Aklk=-90 , ykselti=0o iin grafiin 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:

SMULNK NEDR Simulink, dinamik sistem modellerinin kurulmas, benzetimi ve

zmlemesinde kullanlan MATLABn eklentisi bir paket programdr. Srekli zaman, kesikli zaman veya her ikisinin melezi biiminde modeli kurulmu dorusal ve dorusal olmayan sistemleri destekler. Ayrca bu sistemler rneklenmi veya farkl oranlarda gncelletirilmi farkl

ksmlara sahip olabilirler. Simulink, model kurmak iin tkla-ve-srkle fare ilemleri

kullanan bir grafik kullancs ara birimi (GUI) salar. Bu ara birim ile birlikte, modelleri sanki bir kat zerine kalem ile iziyormuasna kolaylkla oluturmak mmkndr. Simulink, kaynaklar, yutucular,

dorusal ve dorusal olmayan elemanlar ve balantlardan ibaret geni bir blok ktphaneye sahiptir. oluturabilir. Modeller sradzenli olup hem yukardan-aaya ve hem de aadan-yukarya yaklamlar kullanarak modeller kurmak mmkndr. Sistem yksek seviyeden incelenebilir olmakla beraber ayrca bloklar zerine ift tklamak suretiyle de model ayrntlarnn artan seviyelerini grmek mmkndr. Bir model tanmlandktan sonra, ya Simulinkten ya da MATLAB komut penceresinden bir integral hesap yntemi semek suretiyle modelin benzetimi yaplabilir. Menler zellikli etkileimli almalarda uygun olurken, komut hatt yaklam bir benzetim grubunun altrlmasnda da ok kullanl olmaktadr. Osilaskop ve dier grnt bloklar kullanmak suretiyle, benzetim program alrken benzetim sonularn grmek mmkndr. Benzetim sonular daha sonraki almalarda kullanlmak zeri MATLAB alma ortamna da aktarlabilir. Simulink modellerinin benzetimi diferansiyel denklem takmlarnn saysal integrasyonu ile Ayrca kullanc kendi ktphanesini de

ilgilidir. Simulink iinde bu tr denklemlerin simulasyonunda kullanlan

eitli

integrasyon

yordamlar

mevcuttur.

Aada

simulink

bloklar

verilmitir. (Kullanmlar ve zellikleri iin 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 Oluturulmas ve altrlmas: Simulink, bir dinamik sistemin modellenmesi iin blok emalar sunar. Bir sistemin modellenmesinde kullanlan blok elemanlar dorudan

simulink blok ktphanelerinden seilir. Bunun iin MATLAB alma ortamnda >>simulink komutu girmek yeterlidir. Bu durumda ilk karmza kan eitli blok ktphanelerini temsil eden kutu eklindeki emalardr. (ekil 5.1) Daha sonra simulink Fileden New seilerek yeni ve bo bir sitem penceresi alr(ekil 5.2). Bu pencere simulink alma ve ve dinamik model
Aklama [rose'm3]: ismini yaz Aklama [rose'm2]: yakurd aki eklin ismini gireceksin

oluturma ortamdr ve ayn zamanda isimlendirilmemi (untitled) bir dosyadr. Modelimiz iin gerekli bloklar, blok ktphanelerinden srklebrak yada kopyalama ile tanr.

ekil 5.2

Bir blok ktphanesinde ne trden blok elemanlar olduunu anlamak iin fare ile ift tklamak sureti ile bu ktphaneyi amak yeterlidir. Bu elamanlardan modelimiz iin gerekli olanlar fare ile srklenerek alma ortamna tanr.

alma ortamna yaplmak istenen model iin gerekli elemanlar tandktan sonra bu elemanlar uygun biimde balant yerlerinden birbirlerine balanr. aret verici kaynak (source) bloklar yalnzca k balant ucuna, iaret gsterici bloklar yalnzca giri balant ucuna ve dier bloklar ise hem giri hem de k balant ucuna sahiptir.

Arzu edilen biimde model oluturulduktan sonra .m uzantl bir isim verilerek (rnein modelim.m) uygun bir dizin altnda saklanabilir. Model oluturma penceresindeki menden simulation/start komutu seilmek suretiyle modelin simulasyonu altrlr. Scope gibi iret alc bloklar kullanmak sureti ile sonular annda alnabilir. Ayrca zm sonular bir dosyada saklanarak MATLAB ortamnda grafikleri elde edilebilir.

5.4 Adm adm rnek bir modelin oluturulmas ve altrlmas:

1.Adm: Yeni bir alma ortam yukarda anlatld gibi oluturulur.

ekil 5.3

2.Adm:Modelimizde bulunur.

kullanacamz

elemanlar

ilgili

bloklardan

ekil 5.3

3.Adm:Eleman, bulunduu pencereden alma ortamna fare ile srklenerek yerletirilir.

ekil 5.4

4.Adm:Ve ayn metotla modelin dier elemanlar da alma ortamna tanr.

ekil 5.5

5.Adm:Modelde bulunan multiplexirin giri ularndan sadece 2sini kullanacamzdan girii ikiye indirebilmek iin Mux. zerine ift

ekil 5.6

tklayarak parametere penceresine erimeliyiz. Ve bu penceredeki 3 deerini 2 yapmalyz. 6.Adm:Artk balant ilemine geerek uygun ekilde gsterildii gibi adm adm balantlar yaplr. aada

ekil 5.7

ekil 5.8

ekil 5.9

7.Adm:Ve son ilem modeli altrmaktr. Bunun iin penceredeki mende bulunan simulasyon/start vermeliyiz. Eer scopenin zerine ift tklanrsa modelin sonucunu grebilmek iin bir pencere ile karlarz.

ekil 5.10

MATLAB`TA PROGRAM HAZIRLANMASI


M-dosya Programcl MATLAB`ta algoritmalar bilinen programlar hazrlamak ve altrmak ok kolaydr. Ayrca FORTRAN, BASIC, C ve PASKAL gibi programlama dillerinde hazrlanm programlar MATLAB iin uyarlamak mmkndr. Bu durumda ounlukla ayn program iin daha az sayda satr kullanmak yeterlidir. MATLAB`n hazr M-dosya paketlerini kullanmak suretiyle programlamay ok ksa tutmak mmkndr.

M-dosyalar MATLAB dil kodu ieren dosyalara M-dosyas (M-files) ad verilir. M-dosyalarnn iki tr mevcuttur. Bunlar; Fonksiyonlar (functions): Giri olarak argmanlar kabul eder ve k olarak bu argmanlara karlk gelen zm retir. Dzyaz (scripts) dosyalar: Bir dizi MATLAB deyimini otomatik olarak icra eder. Bir M- dosyasnn MATLAB tarafndan bir dosya olarak onaylanmas iin .m uzantsna sahip olmas gerekir.

MATLAB`n kendisi byk oranda herhangi bir program iinde arlp kullanlabilen fonksiyon (alt program) M-dosyalarndan olumutur. Bunlarn dnda ayrca yine program iinde arlabilen kendi zne gml (built-in) zel fonksiyonlara sahiptir. M-dosyalar ASCII karakterinde hazrlanm okunabilir ve yazlabilir dosyalardr. Bu nedenle MATLAB`a ait M-dosyalarn yanllkla deitirilmemesi gerekir. Aksi taktirde orijinal grevini yerine getiremez. Bu nedenle kullancnn kendi hazrlad M-dosyalarn kendisine ait bir klasrde saklamas tavsiye olunur. M-dosyalarnn Oluturulmas, Metin Editrne Giri: M-dosyalarn bir metin olarak kullanarak oluturulabilecek sradan metin dosyalardr. M-dosyalar bu editrde

hazrlanabilecei gibi herhangi bir baka metin (text) editrnde hazrlanabilir.

Dzyaz M-Dosyalar Bir dizi komutlardan ibaret dzyaz dosyalar, MATLAB iinde arldnda dosya iinde bulunan komutlar otomatik olarak altrlr. Bylece her seferinde klavyeden

komutlar tekrar tekrar girmeye gerek kalmaz. Bir dzyaz dosyas iinde yer alan deyimler MATLAB alma ortamnda yer alan verileri iletir ve sonulandrr. Dzyaz dosyalar, MATLAB ortamnda etkileimli biimde allmayacak uzun komutlar dizisi gerektiren analizlerin icras, problemlerin zm veya tasarm yaplmasnda kullanl olmaktadr. rnein aada verilen MATLAB komutlar dizisi okuma.m ad verilen bir dosyada oluturulup saklanabilir. MATLAB ortamnda okuma.m yazmak (.m uzants yazlmaz) sureti ile program altrlabilir. Yalnz bunun iin program iinde yer alan; B, Ct, Dm, J, Vt parametre deerlerinin program altrlmadan nce atanm olmas gerekir. Bu, ya okuma.m komutu yazlmadan nce klavyeden yukarda belirtilen parametre deerlerini girmek sureti ile ya da hazrlanm bir veri dosyasn yklemek sureti ile atanabilir.

%hidrostatik acsal hz 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 altrld zaman MATLAB dosyas iinde yazl komutlar icra eder ve sonular saklar ve en sonunda plot komutu ile sonularn grafiini izer. Bu programda ilk iki satrda parametre deerlerine gre basit hesaplama ilemleri yaplarak sonular a ve b deikenlerine atanr. Daha sonraki 3. Satrda tf komutu ile sistemin transfer fonksiyonu nesnesi oluturularak hsys deikenine atanr. 4. satrda 0 dan 2 deerine kadar 0.01 artmnda bir vektr dizim oluturur ve t deikenine atanr. 5. Satrda MATLAB`a ait bir fonksiyon (M-dosyas) olan step komutu verilen hsys isimli sistem t zaman dizisinde basamak cevab sonular hesaplanr ve sonular y deikenine atanr. Son satrda plot komutu ile sonular grafii elde edilmi olur.

Fonksiyon M-Dosyalar Fonksiyon dosyalar ilk satrda funcsion kelimesi bulunan .m uzants bulunan dosyalardr. MATLAB iinde bulunan tm M-dosyalar fonksiyon dosyalar biiminde olup, bunlar hazrlanan herhangi bir program iinde arlabilir. Gerekte bunlar FORTRAN, BASIC, C ve benzeri programlama dillerinde kullanlan alt programlar (subroutines) gibi ilem grrler. MATLAB`ta normal M-dosyalar biiminde ve znde gml fonksiyon olmak zere iki tr fonksiyon mevcuttur. Fonksiyon dosyas; function satrnda yer alan giri argmanlar (function tarafndan bulunan sonular) istenirse dier hesaplamalarda kullanlabilir. Fonksiyon dosyalar, MATLAB komut iletisindeki alma alanndan ayrlm, kendi alma alan iindeki deikenleri iletirler. Fonksiyon dosyasnn oluturulmas ve altrlmas aada verilen basit bir rnekle aklayabiliriz. Burada MATLAB`ta mevcut bir vektrn ortalamasn hesaplayan ortalama.m dosyasna ait bildirimler listesi verilmitir.

Function y=ortalama (x) % ortalama (x) her bir % stunda ortalama % deeri olan bir satr vektrdr. [m,n]=size (x) if m=1 m=n; end y=sum (x) /m;

bu ekilde yazlp yine ortalama.m olarak saklanan (dosya ad ile fonksiyon ad ayn olmal ) yeni fonksiyon dosyasnn kullanm herhangi MATLAB dosyasnn kullanmndan farkl deildir. Bir fonksiyon dosyasnn belli bal blmleri ve zellikleri rnek ortalama.m fonksiyon dosyas zerinden aadaki ekilde aklayabiliriz. Birinci satr fonksiyon tanm satr olup, fonksiyon adn, giri ve k argmanlarnn saysn ve srasn tanmlar. Bu satr bulunmad zaman, dosya dzyaz dosyas gibi ilem grr.

% iareti ile balayan satrlar yardm aklama satrlardr. Bu satrlarn birincisi 1.yardm (help1) satrdr. lookfor fonksiyonu veya tm klasr yolu zerinden yardm talebi olduunda bir fonksiyon iin MATLAB bu satr grntler. Bundan sonraki satrlar yardm metnidir. Belli fonksiyon hakknda yardm istendiinde MATLAB 1 yardm satr ile birlikte tm yardm metnini grntler. Bu satrlara yazlanlar MATLAB tarafndan icra edilmez.

Fonksiyon gvdesi, % iareti ifade eden satrlardan sonraki satrlardr. Fonksiyonun bu ksm hesaplamalar yerine kod ierir ve herhangi k argmanlar iin deerleri saptar.

Fonksiyon dosyas iinde yer alan m, n ve y gibi deikenler ortalama dosyasnn almas srasnda kendi iinde geerli olup daha sonra alma ortamnda grntlenemez ve kullanlamaz.

Fonksiyon dosyalar hakknda daha ayrntl bilgi alma ve eitli MATLAB fonksiyon dosyalarn incelemek iin MATLAB ortamnda edit fonksion_ad yazlarak biimleri grntlenebilir.

ARTLI DEYMLER VE DNGLER Bilgisayar programlama dilleri ve programlanabilir hesap makineleri karar yrtme esasna dayanan komut icras aknn denetimine olanak tanr. Programlama dillerinde ounlukla, bu ak denetimini salayan fonksiyonlar artl deyimler ve dng komutlar olarak bilinir. MATLAB; FORTRAN, C, BASIC gibi yksek seviyeden programlama dillerindekine benzer komut icras aknn denetimine yarayan fonksiyonlara sahiptir. Bu fonksiyon deyimleri MATLAB` basit bir hesap ilemcisinden ziyade yksek seviyeli bir matris dilli haline sokar. artl deyimler ve dngler, gemite yaplan hesaplamalarn etkisini gelecek ilemlere aktarabilen ok gl bir programlama zelliidir. MATLAB karar yrtme veya ak denetimi yaplar altnda sunulan bu zellikler; for dngleri, while dngleri, if-else-end artl deyimleri ve switch-case artl deyimleridir.

if artl Deyimi if mantksal deyimi deerlendirir ve bu deyimin deerini esas alan bir grup ifadeyi yrtr. En basit biimdeki szdizimi;

if mantksal deyim komut ifadeleri end

Eer mantksal deyim doru (1) ise, MATLAB if ve end satrlar arasnda kalan tm komut ifadelerini yrtr. End komutunu izleyen satrda yrtmeyi srdrr. Eer koul yanl (1) ise MATLAB if ve end satrlar arasnda kalan tm komut ifadelerini atlayp geer ve end komut satrndan sonraki satrda yrtmeye devam eder. Basit bir if deyimi rnei;

if a< 50 say=say+1; top=top+a; end

Burada a`nn bir skalar olduunu varsayarsak a < 50 olmas halinde say her seferinde 1 says kadar artrlr ve a da top`a ilave edilir. Aksi taktirde ise, if yaps arasnda kalan bu komut atlanr. Eer a bir skalar deilse say yalnzca a`nn 50 den kk olmas halinde 1 kere artrlr ve a da top`a ilave edilir.

else ve elseif artl Deyimleri if deyiminin daha fazla koullara balanmasn salar. else deyimi hibir mantk kouluna sahip deildir. Eer kendinden nceki if (veya olas elseif koulu) koulu yanl (1) ise else deyimi ile ilikili ifadeler yrtlr. Bunun genel ats;

if deyim komut ifadeleri % if doru ise deerlendirilecek else komut ifadeleri % if yanl ise deerlendirilecek end

biiminde kurulabilir.

elseif deyimi bir mantksal koula sahip olup, eer kendisinden nceki if (ve olas elseif koulu) koulu yanl (0) ise deerlendirme yapar. Eer elseif`n mantksal koulu doru (1) ise, onunla iliki ifadeleri yrtlr. Bir if blou iinde birden fazla elseif kullanlabilir. switch-case Yaplar switch-case yaplar bir deiken veya deyimin deerine dayanan belli ifadeleri yrtr. Temel kullanm yaps;

switch deyim (skalar veya karakter) case deer1 komut ifadeleri % eer deyim deeri1 ise yrtlr case deger2 komut ifadeleri % eer deyim deeri2 ise yrtlr . . . otherwise komut ifadeleri % eer deyim hibir case ile denk dmezse yrtlr end

biiminde verilir. Bu program aada verilen ksmlar ierir. Switch kelimesini deerlendirilecek deyim izler Case gruplar herhangi bir saydadr. Bu gruplar, hepsi tek bir satr zerinde olmak zere deyim iin olas bir deerin izledii case kelimesinden ibarettir. Bir case grubu MATLAB bir sonraki case ifadesi veya otherwise ifadesi ile karlanca sona erer. Bir semeli otherwise vardr. Bu otherwise kelimesinden ibaret olup, bunu nceki herhangi bir case gruplarnn ele almad komut ifadelerini yrtr. otherwise grubunun yrtlmesi end komut ifadesi ile son bulur.

while Dngs

while dngs, denetleyen deyim doru (1) olduu srece bir ifadeyi veya ifade grubunu yrtr. Bunun sz dizimi aada olduu gibidir. while deyim Komut ifadeleri end Eer deyim bir matrisi deerlendiriyorsa, yrtmenin devam edebilmesi iin matrisin tm elemanlar 1 olmaldr. Bir matrisi bir skalar deere indirgemek iin all ve any fonksiyonlar kullanr. Aada while dngs, 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 dngsnden herhangi bir anda klabilir.

for Dngs for bir komut ifadesi veya komut ifadesi grubu nceden saptanan bir say kere yrtlr. Bunun szdizimi aada verilmitir. for indeks=balang:art:son Komut ifadeleri end Varsaylan art 1dir. Negatif sayda dahil olmak zere herhangi bir art belirlenebilir. Aadaki dng 5 kez yrtlr.

for

i= 2:6 x(i)=2*x(i-1);

end

break fadesi break ifadesi bir for dngs veya while dnglerinin yrtlmesini sona erdirir. break ifadesi ile karlaldnda yrtme dngnn dndaki bir komut ifadesinde devam eder. ie dnglerde, break yalnzca en iteki dngden kar. Aada verilen rnek while

dngsnn bir fft.m dosyas ieriinin bir MATLAB karakter dizimine okuyuunu gstermektedir. lk bo satr ile karlatnda while dngsnden kmak iin break ifadesi kullanlmtr. Fft.m program iin sonu M-dosyas yardm ieren 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 komutlarn halihazr sralanmasn sona erdirir ve uyarlan fonksiyonu veya klavyeyi denetime geri dndrr. return ayrca klavye modunu sona erdirmek iinde kullanlr. Fonksiyonun sonuna ulatnda, arlan fonksiyon normal olarak denetimi uyarlan fonksiyona aktarlr. return erken sona erdirme ve denetimi uyarlan fonksiyona aktarmak iin arlan fonksiyon iine sokulabilir.

You might also like