Matlab Giris

Embed Size (px)

Citation preview

  • 8/7/2019 Matlab Giris

    1/29

    MATLABTemel Seviye

    Semineri

    Yrd.Do.Dr. Aslan NAN(Elektrik Mhendislii Blm)

    E-posta: [email protected]

    Web: www.yildiz.edu.tr/~inan

    Matlab Semineri-2005 2

    MATLAB TANITIM

    MATLAB NEDR?MATLAB(MATrix LABoratory Matris Laboratuar), temel olarak

    teknik ve bilimsel hesaplamalar iin yazlm yksek performansasahip bir yazlmdr. 1970lerin sonunda Cleve Moler tarafndan yazlanMatlab programnn tipik kullanm alanlar: Matematiksel (nmerik ve sembolik) hesaplama ilemleri Algoritma gelitirme ve kod yazma yani programlama Lineer cebir,istatistik,Fourier analizi,filtreleme,optimizasyon,saysal

    integrasyon vb. konularda matematik fonksiyonlar

    2D ve 3D grafiklerinin izimi Modelleme ve simlasyon (benzetim) Grafiksel arayz oluturma Veri analizi ve kontrol Gerek dnya artlarnda uygulama gelitirmeeklinde zetlenebilir.

    http://tr.wikipedia.org/wiki/Fourier_analizi
  • 8/7/2019 Matlab Giris

    2/29

    Matlab Semineri-2005 3

    MATLAB TANITIM

    - Matlab, ABD meneli The Mathworks Inc. Natick,MA irketinin tescilli addr. Web adresi: http://www.mathworks.com

    - Matlabin Trkiye temsilcisi Bursa merkezli Figes firmasdr. Web adresi: http://www.figes.com.tr

    - Haber grubu: [email protected]

    - Matlab Kursu: YT nsan Kaynaklar Gelitirme Merkezi

    Web adresi: http://www.ikgm.yildiz.edu.tr Tel: (0.212) 259 7070 / 2788

    Matlab Semineri-2005 4

    MATLAB TANITIM

    MATLAB, matematik-istatistik, optimizasyon, neuralnetwork, fuzzy, iaret ve grnt ileme, kontroltasarmlar, yneylem almalar, tbbi aratrmalar,finans ve uzay aratrmalar gibi ok eitli alanlardakullanlmaktadr. MATLAB, kullancya hzl bir analiz vetasarm ortam salar.

    Matlab programn C/C++ diline dntrebilir,

    20. dereceden bir denklemin kklerini bulabilir, 100x100 boyutlu bir matrisin tersini alabilir, Bir elektrik motorunu gerek zamanda kontrol edebilir, Bir otobsn sspansiyon simlasyonunu yapabilirsiniz,

    ..

  • 8/7/2019 Matlab Giris

    3/29

    Matlab Semineri-2005 5

    MATLAB TANITIM

    Matlab, aratrma ve mhendislik alanlarnda karlalanproblemlere pratik ve hzl sonular sunmaktadr.

    Bu nedenle Matlab, tm dnyada binlerce endstri, devletve akademik kurumlarda kullanlmaktadr. zellikle tmniversitelerde yaygn olarak kullanlmaktadr.

    Matlab kullanc irketler arasnda Dnyada Boeing, DaimlerChrsyler, Motorola, NASA, Texas

    Instruments, Toyota ve Saab vb,

    lkemizde ise Aselsan, Tofa, Arelik, Siemens, Alcatel, Garanti

    Bankas, Deniz Kuvvetleri, vb..irketler verilebilir.

    Matlab Semineri-2005 6

    MATLAB TANITIM

    Matlab ve eitli disiplinlerde kullanm zerine tm dillerde yzlerce kitap yazlmtr.

    1. MATLAB ve PROGRAMLAMA, Dr. Aslan NAN, Papatya Yaynclk, 2004.2. Matlab 7.04 Simulink ve Mhendislik Uygulamalar, Alfa Yaynlar, Uur Arifolu, 2005.3. Matlab le Risk Ynetimi, Trkmen Kitapevi, Yrd. Do. Dr. Uzunolu M./ alar Onar/ Ali Kzl/

    Turgay Geer/ A. Kvan Eren, 2005.4. Matlab ve Simulink'le Modelleme / Kontrol I , Derleyen: Zafer Bingl, Birsen Yaynevi, 2005,5. Matlab ile Matematiksel Uygulamalar ve Mhendislik Uygulamalar, Mithat Uysal, Beta, 2004.6. Mhendislik ve Fen Uygulamalaryla Matlab, mer Gndodu - Osman Kopmaz - M. Akif Ceviz,

    Paradigma Akademi,2003.7. Her Yn ile MATLAB, Yrd. Do. Dr. Mehmet Uzunolu,mer alar Onar,Ali Kzl, Trkmen

    Kitapevi, 2003.8. MATLAB 6.x GUI: Kullanc Arayz Tasarm, Niyazi Ari & Bilal Barkana,Osman Gazi niv.

    Basmevi, 2003.9. MATLAB Klavuzu, Niyazi Ari & Bilal Barkana, Osman Gazi niv. Basmevi, 2003.10. MATLAB 6.5, A. Emre etin, Alfa Yaynlar, 2003.11. renciler iin MATLAB, Doan brahim, Bileim Yaynclk,2000.12. Her Ynyle Enstrmantasyon ve lme (LabVIEW ve MATLAB ile,Cihan Gerek,Aydn Bodur,

    Gkhan Diner, Era Bilgi Sistemleri Yaynclk, 2001.13. MATLAB ile Mhendislik Sistemlerinin Analizi ve zm, brahim Yksel, VPA , 2000.14. Lineer Cebir ve Matlab Uygulamalar, S.Aynur Uysal ve Mithat Uysal, Beta, 2000.

  • 8/7/2019 Matlab Giris

    4/29

    Matlab Semineri-2005 7

    MATLAB TANITIM

    Matlab program altnda kullanacamz temelaralar:- Komut Penceresi

    - Programlama (M-file *.m)

    - Grafik (Figure *.fig)

    - Grafik Arayzl Programlar (GUI *.fig)- Simulink (Model *.mdl) ve Blockset Modlleri- Toolbox (Ara Kutusu) Modlleri (Fuzzy, Neural,Statistic vb.)- Microsoft Excel Matlab

    - Matlab Web-Server

    - xPC Target ve xPC Target Embedded

    - Stateflow, Real-Time Workshop, Real-Time Windows Target

    Matlab Semineri-2005 8

    MATLAB TANITIM

    Matlab program lisansl bir yazlmdr bu nedenlecretli olarak satn alnmaldr.Bir okstnlklerine ve yaygn kullanm alanlarnaoranla iki dezavantaj vardr:

    - Yava alr.

    - Fiyat dier edeerlerine gre pahaldr.(rnein ana program 781dr ve her bir modlve toolboxn da ayrca bir fiyat vardr)(http://www.figes.com.tr/tr/urunler/matlab/files/MATLAB_Akademik_Fiyat_Listesi.pdf)

    http://www.figes.com.tr/tr/urunler/matlab/files/MATLAB_Akademik_Fiyat_Listesi.pdfhttp://www.figes.com.tr/tr/urunler/matlab/files/MATLAB_Akademik_Fiyat_Listesi.pdf
  • 8/7/2019 Matlab Giris

    5/29

    Matlab Semineri-2005 9

    MATLAB TEMEL KULLANIM

    Matlab Kullanmnda Temel Kurallar: Programn dili ve yardm bilgileri tamamen

    ingilizcedir.

    Komut temelli yazlmdr.

    Kk-byk harf ayrm vardr. tot ve Tot farklalglanr.

    iareti komut promptudur.

    Komutlar Enterile yrtlr.

    Matlab Semineri-2005 10

    MATLAB TEMEL KULLANIM

    FADELER : Matematiksel ve metinsel gsterimler ile ilemler ifadelerle salanr. Saylar (Numbers) Deikenler (Variables) leler (Operators) Fonksiyonlar (Functions)

    Matlabde ifadeler genellikle deiken = ifade veya sadece ifade formundadr.

    rnek olarak

    >> x=4*sqrt(5)x =8.9443

    ifadesinde x deiken , 4 say , * ile , sqrt, fonksiyondur.

    Bir ifade = iareti ile bir deikene atanmam ise Matlab otomatik olarak sonucu, ans(answer) ad verilen zel bir deikende saklar.

  • 8/7/2019 Matlab Giris

    6/29

    Matlab Semineri-2005 11

    MATLAB TEMEL KULLANIM

    Bir ifadenin sonuna ; iareti eklediinizde ekranayazlmaz.

    Birden fazla ifade tek satrda aralarna , ya da ;koyarak yazlabilir. Yazmda boluk saysetkisizdir.

    Sadece ilgili deiken adn yazarak o deikeni

    arabilirsiniz.

    Matlab Semineri-2005 12

    MATLAB TEMEL KULLANIM

    SAYILAR

    Ondalk saylar Trkemizdeki 3,5 yerine 3.5 eklindegsterilir(0.0001 veya 9.63 / 0.65 yerine .65).

    Bilimsel notasyon gsterimi olan e (veya E) harfi 10nunkuvvetini temsil eder.

    2e4=2.104=2000 veya 1.65e-20=1.65.10-20 demektir.

    Kompleks saylarda imajiner(sanal) ksmlari veya j ekinialr. i veya j ile gosterimlerinde bir fark yoktur.(1+3i veya 1+3*i veya 1+i*3 ama 1+i3) / 1+sqrt(3)*j / -5i

    Matlabde tm saylar, yaklak 2.10308 ve 2.10-308

    arasnda deiir.

  • 8/7/2019 Matlab Giris

    7/29

    Matlab Semineri-2005 13

    MATLAB TEMEL KULLANIM

    Say Format Bir ilem sonucu varsaylan (default) olarak 4

    ondalk ile gsterilir. Say gsteriminde hane says format fonksiyonu

    ile deitirilir. >> format xxx format veya format short : 5 rakaml (4 ondalk) format long: 15 rakaml (14 ondalk) format bank: ki ondalkl say format rat: Ondalk saylar rasyonel say olarak

    gsterir.

    Matlab Semineri-2005 14

    MATLAB TEMEL KULLANIM

    DEKENLER Deikenler, ifadelerin adlarn tayan belirtelerdir. Deikenlerin sol taraflarnda = iareti bulunur. Deiken adlar, bir harf ile balamal ve onu takiben

    herhangi sayda harfler, rakamlar veya altizgiden ( _ )oluabilir.

    Deiken adlar maksimum 63 karakter uzunluunda

    olabilir. Deiken ad, 63 karakteri getiinde ilk 63karakterlik ksm ad olarak kabul eder. Deiken adlarnda kk veya byk Trke

    karakterlerini kullanmaynz. Kk-byk harf duyarldr: x ve X veya bor ve BOR,

    farkl deiken adlardr.

  • 8/7/2019 Matlab Giris

    8/29

    Matlab Semineri-2005 15

    MATLAB TEMEL KULLANIM

    Deiken lemleri Bir deikeni silmek iin Clear deikenad

    komutunu kullannz. alma dzleminden (workspace) tm

    deikenleri silmek iin Clear komutunukullannz. Clear komutu bellekteki tmdeikenleri siler.

    who komutu ile sadece deiken adlarnz;

    whos komutu ile de deikenlerinizin zelliklerinigrebilirsiniz.

    Matlab Semineri-2005 16

    MATLAB TEMEL KULLANIM

    Deikenler, skaler, vektr, matris veya metin(string) olabilir.

    Deiken rnekleri:

    - a=1; b=-3.2e3; ct=22/5;

    - metin=Alp Karadeniz;

    - vektr=[1 2 3];

    - matris=[1 2 3;-1 0 1];

    - hucre={1 2 ; buyuk kucuk};

  • 8/7/2019 Matlab Giris

    9/29

    Matlab Semineri-2005 17

    MATLAB TEMEL KULLANIM

    LELER: lem yapmay salayan sembollerdir. + - * / \ ^ (s alma, ab) : 2^3 (Tek trnak aras) : Ali (Metin girilerinde kullanlr) : Transpoze ( ) : 2*(3-4) (lem srasn belirler) ( ) : sin(x) [ ] : Dizi gsteriminde kullanlr. = : x=3 == : x==K

    ? : Programn ileyiini etkilemeyen aklama satrlarn gsterir. ! : DOS moduna geer. Aritmetik ilemlerde, ile ncelik sras (precision) vardr.

    Matlab Semineri-2005 18

    MATLAB TEMEL KULLANIM

    FONKSYONLAR Fonksiyonlar - built-in (yerleik): abs(mutlak deer), sqrt(karekk), mak(maksimum), sin(sinus) - m-file eklinde: sinh, gamma, factorial - user-defined (kullanc tanml) olmak zere e ayrlr.

    Fonksiyon adlar da kk-byk harf duyarldr. rnein sin yerineSin veya SIN eklinde fonksiyon adnn kullanm hata verir.

    Tm fonksiyon ilemleri parantezler () arasnda yaplr. rnein, sin30 deil sin(30) gibi. >> help elfun veya >> help specfun veya >> help elmat komutlar ile tm temel fonksiyonlar grebilirsiniz.

  • 8/7/2019 Matlab Giris

    10/29 1

    Matlab Semineri-2005 19

    MATLAB DZLER

    DZLER Dizi, en genel matematiksel tanm ile nmerik ve

    metinsel deerler topluluudur. Matlabde hereybir dizi olarak ileme konur ve en temel verielemandr. Reel ile kompleks saylar ifade eden iftkat veya

    nmerik diziler (double veya numeric array)

    Metin ifade eden diziler (char array)

    Hcre diziler (cell veya struct array)

    Matlab Semineri-2005 20

    MATLAB DZLER

    Bir nmerik dizi, skaler, vektr veya matris olabilirve tm nmerik dizilerdouble arrayformatndadr.

    1x1 dizisi, bir skaler (scaler) gsterir. (a=3,b=-6.5) mx1 veya 1xn dizisi, bir vektr (vector) gsterir. mxn veya nxm dizisi,bir matris (matrix) gsterir.

    Bu erevede 1x1 dizisi sabit matris veya tekelemanl matris, nx1dizisi stun matrisi ve 1xndizisi ise satr matrisi olarak da dnlebilir.

    Bir dizinin eleman says, satr ile stun saysnnarpmdr.

  • 8/7/2019 Matlab Giris

    11/29

    Matlab Semineri-2005 21

    MATLAB DZLER

    1 23 45 6

    A= 3x2 matrix 6 eleman

    b=[1 2 3 4] 1x4 array 4 eleman, satrvektr

    c=

    135

    3x1 array 3 eleman, stun vetr

    A(2,1)=3 b(3)=3 c(2)=3

    Satr # Stun #

    Matlab Semineri-2005 22

    MATLAB DZLER

    Vektrler1xn veya mx1 eklinde tek boyutlu dizi olan vektrlerioluturmann iki temel yolu vardr:

    i) Direkt olarak ( [] ile)

    satr vektrleri: >> f = [f1 f2 f3 ... fn] / >> f = [f1, f2, f3, ..., fn]

    stun vektrleri: >> f = [f1; f2; f3; ...; fn]

    ii) Eit aralkl elemanlar kullanarak (: ile)

    f = lkDeer : DeiimMiktar : SonDeer

    Deiim miktar belirtilmezse lkDegerden sonra 1er er artmolacan ifade eder.

  • 8/7/2019 Matlab Giris

    12/29 1

    Matlab Semineri-2005 23

    MATLAB DZLER

    Matrisler

    Matrisleri oluturmann en temel yolu [] kullanmaktr.mxn boyutundaki bir matrisin genel format:

    F = [F11 F12 ... F1n ; F21 F22 ... F2n ; ..... ; Fm1 Fm2 ... Fmn]

    veya

    F = [F11, F12, ... , F1n ; F21, F22, ... , F2n ; ..... ; Fm1, Fm2, ... , Fmn]

    mxnmn

    2n

    1n

    m2

    22

    12

    m1

    21

    11

    F

    ...

    ...

    F

    F

    .

    .

    .

    ....

    ....

    F

    .

    .

    F

    F

    F

    ...

    ...

    F

    F

    F

    mxnmn

    2n

    1n

    m2

    22

    12

    m1

    21

    11

    F

    ...

    ...

    F

    F

    .

    .

    .

    ....

    ....

    F

    .

    .

    F

    F

    F

    ...

    ...

    F

    F

    F

    Matlab Semineri-2005 24

    MATLAB DZLERHem vektrler hem de matrislerUtility fonksiyonlar(zeros,ones ve rand) kullanarak da oluturulabilir:

    zeros(1,n) veya zeros(n,1) zeros(n) zeros(n,m) zeros(size(kd))

    ones(1,n) veya ones(n,1) ones(n) ones(n,m) ones(size(kd))

  • 8/7/2019 Matlab Giris

    13/29 1

    Matlab Semineri-2005 25

    MATLAB DZLER

    Dizilere fonksiyonlar uygulama: length(kd): kd dizisinin eleman saysn yani uzunluu size(kd): kd dizisinin boyutu sum(kd): kd vektrnn eleman toplam sum(A): A matrisinin stun bana eleman toplam

    kd(n): kd dizisinin n. eleman deeri A(n,:): A matrisinin sadece n. satr A(:,n): A matrisinin sadece n. stunu A: A matrisinin transpozesi yani devrii

    det(A): A matrisinin determinant inv(A) : A matrisinin tersi diag(A): A matrisinin ana diagonel (apraz) elemanlar

    [v,d]=eig(A): A matrisinin zvektrleri ve zdeerleri Elemanter ilemler eleman elaman ilem demektir ve . leci kullanlr:

    arpma: .* , Blme: ./ , s alma: .^

    Matlab Semineri-2005 26

    MATLAB PROGRAMLAMA

    Bilgisayar programlamasnda genel olarak belirli kalp vekurallara uyulur. Bir bilgisayar yazlmnn oluturulmasndagenel olarak aada sralanan prosedre uyulur:

    Problemin tanm (Ne-Niin)

    zm ynteminin ve admlarnn belirlenmesi (algoritma: akemalar veya pseudo-kod)

    Kodlama (Programlama diline evirme)

    Snama (Program altrma)

    Belgeleme ve Gncelletirme

  • 8/7/2019 Matlab Giris

    14/29 1

    Matlab Semineri-2005 27

    MATLAB PROGRAMLAMA

    Matlabde programlama en genel olarak iki yolla yaplr:- Komut satrnda (in-line) programlama

    - m-dosyalaryla (m-files) programlama

    m-dosyalarnn da iki tr vardr:

    - Dzyaz (script) m-dosyalar

    - Fonksiyon (function) m-dosyalar

    m dosyalar oluturabilmek iin bir metin editrne ihtiyavardr. Bu editr Matlabde Editor/Debuggerortamdr.

    Matlab Semineri-2005 28

    MATLAB PROGRAMLAMA

    Bir program genelde aamadan oluur:- Giri Deikenleri / lemler / k Gsterimi(k iin genelde disp ve fprintf fonksiyonlar kullanlr.)

    Boluk verme:- disp (' ') veya fprintf (' \n ')

    Metinsel k:- disp ('metin') veya fprintf ('metin)

    Metinle beraber nmerik deiken k:- disp (['metin ' num2str(degisken) ])

    - fprintf ('metin %a.bX \n,degisken)Burada;

    a: saynn (en az) toplam hane saysn,b: saynn (en fazla) ondalk hane saysnX: saynn formatn gsterir.d: tamsay, f: kayan nokta, e: stel, g: en ksa form

  • 8/7/2019 Matlab Giris

    15/29 1

    Matlab Semineri-2005 29

    MATLAB PROGRAMLAMA

    Fonksiyonlarn genel yazm formatfunction [out1,out2,... ,outN] = fonksiyon_ad (in1,in2,...,inM)

    eklindedir. nemli kural vardr: function ile balamaldr.

    Fonksiyon ad ile dosya ad ayn olmaldr.

    Deiken klar ekrana yazdrlmamaldr.

    rnein:

    function [Anapara,faiz] = kredi(P,oran,sre)

    function P = fm_mod(V,T) function coklugraf(x,y,n)

    Matlab Semineri-2005 30

    MATLAB PROGRAMLAMA

    m-dosyalarn listeleme what komutu: Geerli dizindeki yani varsaylan alma klasrndeki

    tm dosyalar listeler.

    dir komutu: Geerli dizindeki sizin tanmladnz dosyalar listeler.

    lookfor komutu: Bulmak istediiniz bir anahtar kelimenin getii m-dosyalarn listeler.

    m-dosyalarn grntleme ve dzenleme type m-dosya_ad komutu: m-dosyas komut penceresi ortamnda

    grntlenir. zerinde herhangi bir dzenleme yaplamaz.

    edit m-dosya_ad komutu: m-dosyas editr penceresi ekranndagrntlenir. zerinde her trl dzenleme ilemi yapabilir ve yeni haliile kaydedilir.

  • 8/7/2019 Matlab Giris

    16/29 1

    Matlab Semineri-2005 31

    MATLAB PROGRAMLAMA

    leler e ayrlr: Aritmetik, ilikisel ve mantksallikisel leler: < Kktr

    Byktr

    >= Byk eittir

    == Eittir

    ~= Eit deildir

    Mantksal leler:

    ~ NOT (deil) & AND (ve)

    | OR (veya)

    Matlab Semineri-2005 32

    MATLAB PROGRAMLAMA

    ART DEYMLER (CONDITIONAL STATEMENTS)

    if (eer)(1 art)

    if mantksal ifade

    deyim

    end

    else (baka)(2 art)

    if mantksal ifade

    deyim 1

    else

    deyim 2

    end

    elseif (eerbaka)(n art)

    if mantksal ifade 1

    deyim 1

    elseif mantksal ifade 2

    deyim 2

    elseif mantksal ifade n-1

    deyim n-1

    else

    deyim n

    end

  • 8/7/2019 Matlab Giris

    17/29 1

    Matlab Semineri-2005 33

    MATLAB PROGRAMLAMA

    DNGLER (LOOPS) for DngsBir for (iin) dngnn genel format

    for dngdeikeni=ifadedeyimler

    end

    while DngsBir while (sresince veya iken) dngsnn genel format

    while ifadedeyimler

    end

    Matlab Semineri-2005 34

    MATLAB PROGRAMLAMA

    Yarap deerleri 1,2,3,4,5 iin krenin hacmini (H=4/3 r3)

    hesaplayan bir program yaznz?

    elemanter yntem:

    r=1:5;

    vol=(4/3)*pi*r.^3;disp([r ; vol]')

    for yntemi:

    for r=1:5

    vol=(4/3)*pi*r^3;disp([r, vol])

    end

    while yntemi:

    r=0;

    while r

  • 8/7/2019 Matlab Giris

    18/29 1

    Matlab Semineri-2005 35

    MATLAB GRAFK

    Matlab, 2D ve 3D bata olmak zere ok gelimi grafikaralar sunar:

    izgi (line) grafikler(plot, plot3, polar) Yzey (surface) grafikler(surf, surfc)

    A (mesh) grafikler(mesh, meshc, meshgrid)

    Contour grafikler (contour, contourc, contourf)

    ubuk (bar), pasta (pie) vb zel grafikler (bar, bar3, hist, rose, pie, pie3)

    Animasyonlar (moviein, movie vb komutlar)

    Matlab Semineri-2005 36

    MATLAB 2D-GRAFK

    2D Veri Grafikleri

    x-y dik koordinat dzleminde grafik izmek iin plot(x,y)

    fonksiyonu kullanlr ve x vektrne kar y vektrnn grafiini verir.Yani x deerleri x-ekseninde, y deerleri y-ekseninde yer alr.

    izimin grnmn deitirmek isterseniz plot(x,y,s)

    fonksiyonu kullanlr. s argman, izimin rengini, iaretleyici sembolnve izgi tipini belirler. Bu argmann kullanm istee (sras ve says)baldr. Bu ilemi grafik zerinde de yapabilirsiniz.

  • 8/7/2019 Matlab Giris

    19/29 1

    Matlab Semineri-2005 37

    MATLAB 2D-GRAFK

    Line style (Cizgi tipi) Indicator

    Solid (Duz cizgi) -

    Dashed (Kesikli cizgi) --

    Dotted (Noktali cizgi) :

    Dash-dot (Kesikli-niktalicizgi) -.

    Marker symbol (Isaretleyici sembolu) Indicator

    Point (Nokta) .

    Plus (Arti) +

    Star (Yildiz) *

    Circle (Daire) o

    x-mark (x isareti) x

    Square (Kare) s

    Diamond (Elmas) d

    triangle (down) (Asagi bakan ucgen) v

    triangle (up) (Yukari bakan ucgen) ^

    triangle (left) (Sola bakan ucgen)

    Pentagram (Besgen) p

    Hexagram (Altigen) h

    Color (Renk) Indicator

    Blue (Mavi) b

    Green (Yesil) g

    Red (Kirmizi) r

    Cyan (Turkuaz) c

    Magenta (Mor) m

    Yellow (sari) y

    Black (Siyah) k

    White (Beyaz) w

    Matlab Semineri-2005 38

    MATLAB 2D-GRAFK

    Tek deikenli fonksiyon ( y=f(x) ) grafikleri

    1.yol: izim aral belirlenir ve bu aralkta x deerleri girilir. Bu xdeerlerine karlkl y deerleri bulunur ve plot(x,y) kullanlr.

    2.yol:

    fplot(f(x),[xmin xmax])

    veya

    ezplot (f(x)) (Grafii varsaylan -2*pi < x < 2*pi aralnda izer)

    fonksiyonlar kullanlr.

  • 8/7/2019 Matlab Giris

    20/29 2

    Matlab Semineri-2005 39

    MATLAB 2D-GRAFK

    oklu Grafikler Birden fazla grafii (ayn x-ekseni baz olmak zere) st ste izmek iinrnein: x,y1,y2,.yn iin;

    1.yol: plot(x,y1,x,y2,..x,yn)

    2.yol: plot(x,y1), hold on, plot(x,y2,..x,yn)

    oklu grafii etiketlemek iin:1.yol: Grafik zerinde metin ekleme yaplr.2.yol: legend(1.grafikmetin,2.grafikmetin.) fonksiyonu kullanlr.

    Birden fazla grafii farkl pencerelerde (ayn veya farkl x-ekseni baz olmakzere) izmek iin

    subplot(m,n,p)

    fonksiyonu kullanlr. Bu fonksiyon matris dzeninde izim alan aar ve grafikleryine plot fonksiyonu ile izilir.

    Matlab Semineri-2005 40

    MATLAB 2D-GRAFKsubplot rnei: y=et,z=esint,w=yz grafiklerini alt alta iziniz.subplot(3,1,1)t = 0:0.01:50;y = exp(t);plot(t,y)legend('e^{t+1}')

    subplot(3,1,2)z = sin(t);plot(t,z)legend('sin(t)')

    subplot(3,1,3)w = y.*z;plot(t,w)legend('e^{t+1}sin(t)')

  • 8/7/2019 Matlab Giris

    21/29 2

    Matlab Semineri-2005 41

    MATLAB 3D-GRAFK

    BOYUTLU GRAFKLER boyutlu (3D) grafikler, temel olarak iki boyutlu (2D) grafiklerenc boyutun yani z-ekseninin eklenmesi ile elde edilir. Matlab 3Dgrafik konusunda ok gelimi imkanlar sunar. 3D izgi grafikler- boyutlu uzayda izgi grafikleri izer. (plot3) 3D a grafikler- boyutlu uzayda tel ereveli yzeyler izer.

    (mesh, meshc, meshz, waterfall)

    3D yzey grafikler- boyutlu uzayda mesh gibi renkle doldurulmupatch izer. (surf, shading, surfc, surfl, surfnorm)

    3D halka grafikler - contour3, contourf, shading, clabel. 3D hacim grafikler - boyutlu veri setlerinin gsteriminde kullanlr.

    Komut: slice, isosurface, smooth3, isocaps, isonormals.

    3D zelletirilmi grafikler- boyutlu veri setlerinin gsterimindekullanlr. Komut: ribbon, quiver, quiver3, fill3, stem3, sphere, cylinder.

    Matlab Semineri-2005 42

    MATLAB 3D-GRAFK 3D izgi Grafii:

    X = [10 20 30 40];Y = [10 20 30 40];Z = [0 230 75 600];plot3(X,Y,Z); grid on;xlabel('x-ekseni'); ylabel('y- ekseni'); zlabel('z- ekseni');

    title('c boyutlu bir dogru');

    z=x2+y2 ile tanml 3D parabol grafii:x = [-10 : 1 : 10];y = [-10 : 5 : 10];[X, Y] = meshgrid(x,y);

    Z = X.^2 + Y.^2; % boyutlu parabolmesh(X,Y,Z);

    xlabel('x-ekseni'); ylabel('y- ekseni'); zlabel('z- ekseni');

  • 8/7/2019 Matlab Giris

    22/29 2

    Matlab Semineri-2005 43

    MATLAB 3D-GRAFK

    t = -2*pi:pi/100:2*pi;[x,y,z] = cylinder(cos(t),20);

    mesh(x,y,z)

    axis off

    t = 0:pi/10:2*pi;

    [X,Y,Z] = cylinder(2+cos(t));

    surf(X,Y,Z)

    Matlab Semineri-2005 44

    MATLAB-EXCEL Veri Transferi

    D Ortam Veri lemi Bir Excel (.xls) veri dosyas veya .txt ya da .dat dosyas Matlab

    ortamndan okunabilir ve zerinde Matlab ilemleri uygulanabilir. Benzerolarak bir Matlab program k da .xls olarak kaydedilebilir.

    - Excel: degisken =xlsread(xxx.xls)

    - x=degisken(:,1); %1. stun

    - y=degisken(:,2); %2. stun

    - .txt veya .dat : load xxx.txt

    - x=xxx(:,1); %1. stun

    - y=xxx(:,2); %2. stun

  • 8/7/2019 Matlab Giris

    23/29 2

    Matlab Semineri-2005 45

    MATLAB TOOLBOX

    MATLAB

    , toolbox olarak adlandrlan bir ok eklenti yazlmmodllerine sahiptir. Toolboxlar zelletirilmi hesaplamalaryapar. rnek olarak: Signal Processing Image Processing Data Acquisition Curve Fitting Wavelet Control System Fuzzy Logic Neural Network -Analysis and Synthesis

    Financial Model Predictive Control

    Matlab Semineri-2005 46

    MATLAB SYMBOLIC TOOLBOX

    Symbolik kelimesinin anlam:

    3

    32 xdxx

    3

    32 xdxx

    3

    32 xdxx

    3

    1

    3

    1

    0

    31

    0

    2 xdxx

    sembolik

    k

    nmerik k

    Matlabde sembolik ilemler yapmak iin sembolik deikenlersyms a b x

    komutu ile atanr.

  • 8/7/2019 Matlab Giris

    24/29 2

    Matlab Semineri-2005 47

    MATLAB SYMBOLIC TOOLBOX

    Sembolic ntegral lemi: Sembolik integral alma fonksiyonu int olup genel format: int(S), Sin belirsiz integralini alr. int(S,v), Sin vye gre belirsiz integralini alr. int(S,a,b),Sin varsaylan sembolik deikene gre adan bye

    kadar belirli integralini alr. int(S,a,b,v),Sin vye gre adan bye kadar belirli integralini alr.

    eklindedir.

    syms x int(-2*x^5-4*x+20)ans =

    -1/3*x^6-2*x^2+20*x

    dxxx )2042( 5

    Matlab Semineri-2005 48

    MATLAB SYMBOLIC TOOLBOX

    Sembolik Trev lemi: Trev alma ileminde kullanlan fonksiyon ad diff olup sembolik ilem mant

    erevesinde genel format: diff(S), Sin trevini alr. diff(S,v), Sin vye gre trevini alr. diff(S,n), npozitif bir tamsay olmak zere n. dereceden trevini alr. diff(S,'v',n) veya diff(S,n,'v'), Sin vye gre n. dereceden trevini alr.

    eklindedir. Trevin x=pdeki deerini bulmak iin subs(turev,x,p)

    f(x)=5x3+ax2+bx -14 (a ve b sabit deerdir) fonksiyonunun trevini bulunuz. syms a b c x f=5*x^3+a*x^2+b*x-14; diff(f)ans =

    15*x^2+2*a*x+b

  • 8/7/2019 Matlab Giris

    25/29 2

    Matlab Semineri-2005 49

    MATLAB SYMBOLIC TOOLBOX

    Denklem Sistemlerinin zm: solvefonksiyonu, cebirsel denklemlerin sembolik zmn verir. Genel

    format:

    solve('denk1','denk2',...,'denkN')

    eklindedir.

    f(x)=x2-x-6 fonksiyonun zm kmesini bulunuz.

    >> solve('x^2-x-6') veya >> syms x, solve(x^2-x-6)

    ans =

    [ -2]

    [ 3]

    Yani ={-2,3} bulunur.

    Matlab Semineri-2005 50

    MATLAB SYMBOLIC TOOLBOX

    x2+xy+y=3

    x2-4x+3=0

    denklem sisteminin zm kmesini bulunuz. [x,y] = solve('x^2 + x*y + y = 3','x^2 - 4*x + 3 = 0')x =

    [ 1]

    [ 3]

    y =

    [ 1]

    [ -3/2]

    ={ (1,1) , (3,-3/2) }

  • 8/7/2019 Matlab Giris

    26/29 2

    Matlab Semineri-2005 51

    MATLAB SYMBOLIC TOOLBOX

    Diferansiyel Denklem zm diferansiyel denklemini znz.

    dsolve('Dy=1+y^2')ans =

    tan(t+C1)

    y(0)=0, y'(0)=0 artlar altnda y''+6y'+13y=10sin5t ikinci derecedendiferansiyel denklemin zmn bulunuz. Q=dsolve('D2y+6*Dy+13*y=10*sin(5*t)','y(0)=0','Dy(0)=0','t') pretty(simple(Q))

    25 10 25 125

    - -- cos(5t) - -- sin(5t) + -- exp(-3t)cos(2 t) + --- exp(-3t)sin(2t)

    87 87 87 174

    2+1= y

    dt

    dy

    2+1= y

    dt

    dy

    Matlab Semineri-2005 52

    MATLAB SYMBOLIC TOOLBOX

    cosx fonksiyonunu 9. terime kadar Taylor serisine anz. f=cos(x) T=taylor(f,9)T =1-1/2*x^2+1/24*x^4-1/720*x^6+1/40320*x^8

    serisinin ilk 10 terim toplamn bulunuz.

    seri_top=symsum(1/k^2,1,10)

    seri_top =1968329/1270080

    eklinde Laplace formatnda verilen transfer fonksiyonun t-domeni karln bulunuz.

    T = 200/((s+10)*(s^2 + 4*s + 24)); t_domen = ilaplace(T); pretty(t_domen)

    50exp(-10t) - 50exp(-2t)cos(2 51/2 t) + 40exp(-2t)51/2 sin(2 51/2 t) 21 21 21

    )ss)(s(

    )s(T24+4+10+

    200=

    2

    2222

    1...

    4

    1

    3

    1

    2

    11

    n

  • 8/7/2019 Matlab Giris

    27/29 2

    Matlab Semineri-2005 53

    MATLAB GUI

    Graphical User Interface (Grafik Kullanc Arayz) Visual-C veya Basic gibi grsel programlama dilleri gibi GUI

    ile de grsel amal (Dmeler, Yaz Alanlar, Menler ile)programlar yazrlayabilirsiniz.

    GUIde hem Figure penceresi (.fig) hem de m-dosya (.m)programlamas vardr.

    Komut satrna guide yazarak GUI editrn aabilirsiniz.

    Grafik ilemleri iin gelitirilmi GUI arayz >>funtool dr

    Matlab Semineri-2005 54

    MATLAB SMULNK

    En geni kapsam ile benzetim (Simulation), gerein temsiledilmesi demektir. Gnmzde iletmelerin tm ihtiya vefaaliyet alanlarnda kullanlan benzetim teknii; bilgisayarkullanmn gerekli klan matematiksel bir model aracl ilegerek bir sistemin temsil edilmesini salayan bir tekniktir.

    Komut satrna simulink yazarak ya da ara ubuundan

    tklayarak aabilirsiniz.

  • 8/7/2019 Matlab Giris

    28/29 2

    Matlab Semineri-2005 55

    Denklem Modelleme: Santigrat dereceden

    fahrenhayta dnm yapan bir denkleminmodellenmesi

    Modeli kurmak iin belirtilen bloklar alarak aadaki modeli kurulur:1.Sources library Ramp block

    2.Math library Gain ve Sum block

    3.Sinks library Scope ve Display block

    MATLAB SMULNK

    Matlab Semineri-2005 56

    MATLAB SMULNKSrekli Sistem Modellemesi:Fiziksel bir sistemin dinamik modellemesi

    Burada x ve u, zamann fonksiyonlardr.u(t) , genlii= 1;frekans=1 radian/sec olan bir kara dalgadr. Zamandomeninde sistemin modeli ve cevab aadagsterilmitir.

  • 8/7/2019 Matlab Giris

    29/29

    Matlab Semineri-2005 57

    MATLAB GUI+SMULNK