You are on page 1of 75

Yeni Balayanlar iin

MATLAB
Yardmc Ders Notlar

Yrd. Do. Dr. Cneyt AYDIN Yldz Teknik niversitesi

stanbul-2009

indekiler
Giri Matris ilemleri Say Formatlar Temel Lineer Cebir lemleri Diziler (Arrays) Program Dallandran fadeler (if-end , switch-case yaplar) Dngler (for-end ve while-end dngleri) Grafik Dosya yazdrma-okuma Fonksiyon dosyas oluturma

Kaynaka

Doan, U., (2009), Temel Bilgisayar Bilimleri Ders Notlar, YT, Lisans Ders Notlar, stanbul. Demirel, H., (2005), Dengeleme Hesab, YT, Lisans Ders Notlar, stanbul. Uzunolu M., vd. (2002), Matlab, Trkmen Kitabevi, stanbul. http://www.mathworks.com/matlabcentral/ http://www.mathworks.com/matlabcentral/fileexchange/

MATLAB (MATrix LABoratuary)


http://www.mathworks.com/matlabcentral/
MATLAB, yksek performansl bir uygulama yazlm ve bir programlama dilidir. MATLABin temelindeki yap, boyutlandrma gerektirmeyen matrislerdir. Yaptmz tm girdi ve ktlar, belirte gerektirmeksizin bir matris tanmlar. lk olarak Fortran dili ile yazlan MATLAB, daha sonra C ile yazlmtr.

MATLAB (MATrix LABoratuary)

Matlabde hazr programlar vardr. Bu programlara fonksiyon ad verilir. Matlab fonksiyonlarnn kullanm, matematikteki y=f(x) fonksiyonunun kullanmyla zdetir. rnein, a=sin(x) fonksiyonunda, sin fonksiyonu, x asnn (inputgirdi) deerini hesaplar; kullanc bu deeri, rnein, bir a deikenine atar. a deeri sin fonksiyonunun bir ktsdr (output).

MATLAB (MATrix LABoratuary)


Avantajlar:
Kullanm kolayl, letim sistemi uyumluluu, Saysal analiz ilemlerindeki kolaylklar, Hazr fonksiyonlar (function files), Grntleme (visualization) kolayl (grafik izim), GUI gelitirme kolayl, MATLAB derleyicisi (exe: executable dosya ile win32 uygulamalar), Toolboxes (Ara kutular) :hazr programlar!

MATLAB/Command window (komut penceresi)


Current directory (alma klasr)

Dinamik komut satr


Her trl mat. ilem, Demo, program altrma vb.

M-file editr
Programlarn yazld editr

MATLAB/Workspace ( alan)

Atanan deiken

Workspace penceresini amann komut yolu

Workspace penceresi

Workspace, ilgili oturumda kullanlan tm deikenlerin tutulduu alandr.

MATLAB/Array Editor (Dizi editr)


Matris, vektr ve saylar iin excel zelliindeki editrdr.

ki farkl biimde grntlenir:


>>open('a')
workspace penceresinde ilgili deiken iki kez tklanr. Daha nce atanan bir deikenin boyutlar istenildii gibi deitirilebilir!

MATLAB/Temel Komutlar
clc clear clear a demo date exit help help f_na save d a load d Command windowu temizler. lgili oturumda atanm tm deikenleri siler. Yalnzca a deikenini siler. Matlab demosunu altrr. Gn-Ay-Yl grntler (rnein, 17-Oct-2009) Matlab oturumundan kar. Yardm mensn aar. f_na fonksiyonu hakknda bilgi verir. a deikenini d dosya ismiyle mat uzantl olarak kaydeder. a deikenini d dosyasndan geri arr.

Save ve load komutlar, matris vb. yaplarn kaydedilmesi iin ok nemlidir.

MATLAB/Temel dosya trleri

*.m *.fig *.mat

MATLAB program dosyalar Grafik dosyalar ve GUIlerin grafik paralar Deiken ve matris dosyalar

*.p pre-parsed pseudo-code dosyalar (bu dosyalarn ierii grntlenemez ancak program olarak arlabilir, yani MATLABde altrlabilir!)

10

MATLAB/Matrislerin Girilmesi
Matris ve vektrler [ ] keli parantezleri ile tanmlanr. Matris ve vektr girmenin 3 farkl yolu vardr: rnein:
1 3 5 A = 7 8 11 100 1 4

1.yol A=[1 3 5 7 8 11 100 1 4] 3.yol

2.yol A=[1 3 5;7 8 11;100 1 4]

A(1,1)=1, A(1,2)=3, A(1,3)=5 A(2,1)=7, A(2,2)=8, A(2,3)=11 A(3,1)=100, A(3,2)=1, A(3,3)=4

11

MATLAB/Matrislerin Kaydedilmesi
Matris ve vektrler *.mat uzantl olarak save komutuyla kaydedilir, load ile de istenilen yerden geri arlr. rnein, girilmi bir a matrisini D:\yildiz klasrne katsayilar.mat olarak kaydetmek isteyelim: Bunun iin aadaki komut dizisi kullanlr; save D:\yildiz\katsayilar a katsayilar.mat olarak kaydedilen a matrisinin herhangi bir zamanda geri arlmas iin, load D:\yildiz\katsayilar komut dizisi kullanlr. Geri arma ileminden sonra, ilgili matris a dizisi olarak workspacede kaydedilir (workspacee kaydetme ileminin geici olduunu hatrlaynz!) Yeni bir matrisi katsayilar.mat olarak kaydettiimizde, nceki matrisi bir daha grme imkan kalmaz. Yani save overwrite (zerine yazma) zelliklidir.
12

MATLAB/Matrislerin Kaydedilmesi
*.mat uzantl dosyalar, ayrca MATLABden open files ksa yolundan da geri arlabilir: Open files

Dosya trn MAT-files olarak deitir.

Dosyadaki deiken workspacede oluturulur.

13

MATLAB/Say Formatlar
>> format long >> a=1.123000123123123123; >> a a = 16 karakter 1.12300012312312 >> a=100004545.99923423499111; >> a a = 108 1.000045459992342e+008 >> format short >> a=1.123000123123123123; >> a a = 6 karakter 1.1230 >> a=100004545.99923423499111; >> a a = 108 1.0000e+008

Bir saynn istenilen hanesinin gsterilmesi iin fprintf veya sprintf komutlar kullanlr:

>>a=100004545.99923423499111; >>fprintf(%1.10f,a) 100004545.9992342300

Matris elemanlarnn istenilen hanede gsterilmesi iin, printmatrix fonksiyonu olduka kullanlldr (File-exchange sayfasndan download edilebilir!)

14

MATLAB/Temel lineer cebir komutlar


inv(a) a det(a) a+b a-b a*b a/b a.*b a./b
Bir a kare matrisinin tersini (inversini) alr. a matrisinin devriini (transpozesini) alr. a matrisinin determinantn hesaplar. Boyutlar ayn olan a ve b matrisini toplar. Boyutlar ayn olan a ve b matrislerinin farkn alr. Stun says m olan a matrisiyle satr says m olan b matrisini arpar. b dzenli kare bir matrisse (determinant sfrdan farklysa), ayn boyutlu a matrisiyle; a*inv(b) ilemini yapar. Boyutlar ayn olan a ve b matrislerinin elemanlarn karlkl olarak arpar. Boyutlar ayn olan a ve b matrislerinin elemanlarn karlkl oranlar.

15

MATLAB/Temel lineer cebir komutlar


trace(a) diag(a)
Bir a matrisinin izini (kegen elemanlarnn toplamn) hesaplar. Bir kare a matrisinin kegen elemanlarn bir stun vektre atar. Ya da a bir vektr ise kegenleri bu vektrn elemanlarndan oluan bir kegen matris oluturur. a matrisinin her bir stununun toplamn hesaplar. a bir vektr ise sonu, vektr elemanlarnn toplam olur. Bir matrisin st gen matrisini oluturur. Bir matrisin alt gen matrisini oluturur.

sum(a) triu(a) tril(a)

zeros(m,n) mn boyutlu sfr matrisi oluturur. ones(m,n) eye(m)


mn boyutlu elemanlar 1 olan matris oluturur. mm boyutlu birim matris oluturur.

16

MATLAB/Temel matris operatrleri


a(:) a(:,i) a(j,:)
a matrisinin stunlarnn ard arda dizilmesinden oluan bir stun vektr oluturur (vec operatr) a matrisinin i. stununu alr. a matrisinin j. satrn alr.

a(:,[i j]) a matrisinin i ve j. stununu alr. a([i j],:) a matrisinin i ve j. satrn alr. e=a:b:n rnein, e=1:1:n, 1 ile n arasndaki tam saylardan oluan bir vektr. e=2:2:n, 1 ile n arasndaki ift saylardan oluan bir vektr. e=1:2:n, 1 ile n arasndaki tek saylardan oluan bir vektr. e=-10:0.1:n, -10dan 0.1 artmla nye kadar olan saylardan oluan bir vektr.
17

a, (a+b),,n saylarndan oluan bir satr vektr oluturur.

MATLAB/Temel matris operatrleri


length(a)
a matrisinin stun saysn verir. a bir vektr ise sonu, a vektrnn eleman saysdr.

[m,n]=size(a)a matrisinin satr saysn (m) ve stun saysn (n) verir. max(a) min(a)
Bir a vektrnn en byk elemann gsterir. Bir a vektrnn en kk elemann gsterir.

[m,i]=max(a) Bir a stun vektrnn en byk elemann (m) ve bunun satr


numarasn verir.

[m,i]=min(a) Bir a stun vektrnn en kk elemann (m) ve bunun satr


numarasn verir.

sort(a) a(:,i)=[] a(i,:)=[]

Bir a vektrnn elemanlarn kkten bye sralar. Ann i. stununu siler. Ann i. satrn siler.
18

MATLAB/Temel matris operatrleri


sortrows(a,i) Bir a matrisinin elemanlarn i.stuna gre sralar. rnek: a = 1 3 2 4 >> sortrows(a,1) ans = 1 2 3 4 1000 5 10 1 1000 10 5 1 a = 1 3 2 4 >> sortrows(a,2) ans = 4 2 3 1 1 5 10 1000
19

1000 10 5 1

MATLAB/Uygulama-1
Aadaki ilemleri command windowda yapnz.

1 3 5 A = 7 8 11 100 1 4

1) A matrisini giriniz. 2) A matrisinin determinantn hesaplaynz. 3) A matrisinin tersini bulunuz. kan sonucu bir B matrisine ataynz. 4) A*B ilemini yapnz. Elde edilen sonucu irdeleyiniz. 5) A matrisinin 1. stununu a1, 3. stununu a3 vektrlerine ataynz. 6) Kegenleri A matrisinin kegenlerinden oluan bir C kegen matrisi oluturunuz. 7) a1in devrii ile a3 vektrn arpnz. 8) a1 ile a3 vektr elemanlarn karlkl arpnz. 9) Ann 3. satrn, dier satr elemanlarn girmeden, [5 6 7] olarak deitiriniz. 10)Ann 1 ve 2. satrlarn siliniz.

20

MATLAB/Uygulama-1:zm
1 2 3 >> A=[1 3 5;7 8 11;100 1 4]; >> det(A) ans = -728 >> inv(A) ans = -0.0288 -1.4725 1.0893 >> B=ans; >> A*B ans = 1.0000 0 0 5 6 7 0.0096 0.6813 -0.4107 0.0096 -0.0330 0.0179 8 >> a1.*a3 ans= 5 77 400 >>A(3,:)=[5 6 7] A = 1 7 5 3 8 6 5 11 7

Birim matris

0 1.0000 0.0000

0.0000 0.0000 1.0000

10 >> A([1 2],:)=[] A = 5 >> 6 7

>>a1=A(:,1);a3=A(:,3); >>C=diag(diag(A)); >>a1*a3 ans= 482


21

MATLAB/Uygulama-2
10 5 5 B = 70 8 7 10 1 3
Aadaki ilemleri command windowda yapnz. 1) B matrisini giriniz. 2) B matrisini mevcut alma klasrnze katsayilar ismiyle kaydediniz. 3) Dosyann kaydedilip kaydedilmediini kontrol ediniz. (Open Files penceresinden) 4) MATLAB oturumundaki tm deikenleri siliniz (clear) 5) Command windowda yazlm tm ifadeleri temizleyiniz. (clc) 6) B*2 ilemini yapnz. 7) B matrisini geri arnz. 8) B matrisinin st ve alt gen matrislerini oluturunuz. 9) C=[B zeros(3,2)] ilemini yapnz.

22

MATLAB/Uygulama-2:zm
1 2 4 5 6 >> B=[10 5 5;70 8 7;10 1 3]; >> save katsayilar B >> clear >> clc >> B*2 ??? Undefined function or variable 'B'. >> load katsayilar >> triu(B) ans = 10 5 5 0 8 7 0 0 3 >>tril(B) ans = 10 70 10 0 8 1 0 0 3
23

Neden?

7 8

>> C=[B zeros(3,2)] C = 10 70 10 5 8 1 5 7 3 0 0 0 0 0 0

MATLAB/Diziler (Arrays)
Saylar Karakterler rnek: c=1999 d='Yildiz Teknik Universitesi' f=[1999 2000] g=[d ' Insaat Fakultesi'] (numeric array) (character array) (numeric, matrix) (character, matrix) : Say dizileri : Karakter dizileri (numeric array) (character array)

Not: Numeric ile character dizileri bir matriste bir arada bulunamaz! Yani, bir matris hem say hem de bir kelimeyi ayn anda ieremez! Hcreler Yaplar : Hcre dizileri : Yap dizileri (cell array) (structure array)

24

MATLAB/Diziler (Arrays)
Hcre Dizileri (Cell arrays) { } ile tanmlanr. Bylesi bir dizi, farkl matrisleri ayn isim altnda tutmak ve ilemek iin kullanlmaktadr. rnein, C{1}=[1 2;3 5],C{2}=[4 4 4 4];C{3}=[('yildiz teknik'),(' insaat')]; girildiinde, C bir hcre dizisi olur. Bu hcre geri arldnda,

C = [2x2 double] [1x4 double] [1x20 char]

C{1} hcresi

C{2} hcresi

C{3} hcresi

Her bir hcre ayr ayr ilenir.

25

MATLAB/Diziler (Arrays)
C=cell(n) nn hcreden oluan bo bir hcreyi Cye atar. rnein n=2 iin >> C=cell(2) C = [] [] [] []

hcresi oluturulur. Bir hcrenin iine istenilen sayda yeni hcreler eklemek mmkndr; rnein, C{1}{1}=[2 3] ile C aadaki biimde deiir; C = {1x1 cell} [] [] []

26

MATLAB/Diziler (Arrays)
C=cell(3,2) hcresi C{1,2} hcresi

C{1,1}

C{1,2}
C{1,2}{1,1} C{1,2}{1,2}

C{2,1}

C{2,2}
C{1,2}{2,1} C{1,2}{2,2}

C{3,1}

C{3,2}
Yeni alt hcre(ler)

C{1,2}{2,2} hcresi

27

MATLAB/Diziler (Arrays)
Yap dizileri (Structure arrays), veri tabanlar iin olduka kullanll bir dizi trdr. A yap dizisi arldnda, >>A A.name='Cneyt'; A.sname='Aydin'; A = A.univ='YTU'; name: 'Cneyt' A.city='Istanbul'; sname: 'Aydin' univ: 'YTU' A.email='caydin@yildiz.edu.tr'; city: 'Istanbul' A.year=2009; email: 'caydin@yildiz.edu.tr' year: 2009 ile A, bir structure array olur.

Hcre ve yap dizileri, mat uzantl dosyalar olarak, daha nce aklanan save komutuyla kaydedilip, load komutuyla geri arlabilir.

28

MATLAB/Diziler arasnda dnmler


num2str(a) str2num(a) mat2str(a) int2str(a) char(a) cellstr(a) Bir a saysn bir karaktere atama (From numeric to (2) string) Karakter olan bir a saysn say deerine atama Bir a matrisini bir karakter dizisine atama Bir a tam saysn bir karaktere atama Bir a hcresini bir karakter dizisine atama Bir a karakterini bir hcre dizisine atama

num2cell(a) Bir a saysn bir hcre dizisine atama

29

MATLAB/Diziler arasnda dnmler


rnek: Bir ilem sonucunda a=10.234 elde edilsin. Elde edilen sonuc=10.234
karakterini grntlemek iin, ['Elde edilen sonuc=' num2str(a)] yaps dnlmelidir.
Her iki ifade karakter olmaldr!

Bunun daha gelimi biimi, fprintf ile salanr:


Karakter

fprintf('%s%1.4f',('Elde edilen sonuc='), a )


Say

30

MATLAB/Uygulama-3
Aadaki ilemleri command windowda yapnz.

1. fprintf fonksiyonunu kullanarak, a=10.45623 saysn 3 haneye kadar yazdrnz. 2. [sayinin degeri= a] ifadesini, a virglden sonra 2 hane olacak biimde yazdrnz. 3. Yukardaki ifadeyi bir b deikenine ataynz (sprintf ile) 4. bnin bir karakter dizisi olup olmadn denetleyiniz. 5. a deerini nnde 5 karakter boluk kalacak biimde 2 haneye kadar yazdrnz. 6. a deikenini msgbox(a,sonuc) ifadesiyle bir GUIye yazdrnz. 7. b deikenini msgbox(b,sonuc) ifadesiyle bir GUIye yazdrnz. 8. ann karakkn c deerine ataynz. b ve [sayinin karakoku, c] ifadesi alt alta olacak biimde (c, virglden sonra 5 hane gsterilecek) msgbox iinde yazdrnz.

31

MATLAB/Uygulama-3:zm
1 >> a=10.45623;fprintf(%1.3f,a) 10.456 >> >>fprintf('%s%1.2f',('sayinin degeri='),a) sayinin degeri=10.46 >> >>b=sprintf(%s%1.2f,('sayinin degeri='),a) b = sayinin degeri=10.46
5 boluk+5 karakter >>ischar(b) ans= 1 >>fprintf(%10.2f,a) 10.46 >>msgbox(num2str(a),sonuc)

2 3

>> msgbox(b,sonuc) >> 8 >>c=sqrt(a) c = 3.2336 >>b1=sprintf(%s%1.5f,(sayinin karakoku=),c); >>g=char(b,b1); >>msgbox(g,sonuc)

4 5 6

Not: b ve b1 karakter dizilerini alt alta yazdrmann bir dier yolu, bunlar bir hcre dizisi altnda dnmektir; G=cell(2,1);G{1}=b;G{2}=b1; msgbox(G,sonuc) benzer sonucu retir.

32

MATLAB/Uygulama-4

Aadaki ilemleri command windowda yapnz. 1. Sonraki ilemlerde kullanlacak bir a say deerini, inputdlg fonksiyonu ile girdiren komutu yaznz. 2. a deerinin bir say olup olmadn irdeleyiniz. 3. a*2 ilemini yapnz. Bu ilemin neden sonu vermediini irdeleyiniz. 4. a deerini, gerekli ise, say dizisine dntrnz.

33

MATLAB/Uygulama-4:zm
1 >> a=inputdlg(Bir sayi giriniz,YTU-2009)

a = 2 inputdlg ile karakter hcre dizisi oluturulur. '150.123135465' Bu nedenle, girilen verinin say yaplmas >>isnumeric(a) gerekir. ans = 0 >>a*2 >>?? Error using ==> * Function '*' is not defined for values of class 'cell'. >>a=str2num(char(a)) >> a = 150.1231
34

3 4

MATLAB/Program Dallandran fadeler


Dal yaplar, program kodlarndan istenilenleri seen ve onlar ileten, istenilen kodlar ise deerlendirme d brakabilen MATLAB ifadeleridir. if Switch, case try/catch yaplar ile oluturulur. Bu blmde try/catch yapsna deinilmeyecektir.

35

MATLAB/if,end yaps
if (eer) yaps bir koulun gereklemesi durumunda bir ilemi yaptrmak iin sklkla kullanlr. Bu ifade, if koul ilem end biimindedir. rnek: Girilen bir saynn negatif olmas durumunda, sayy doal logaritmasyla deitiren bir kod dnelim: a=input(' bir sayi giriniz= '); if a<0 a=log(a); else a=a; Dier durumda end anlamndadr: Burada, a>0 a koulunu temsil eder. Else yaps kullanlmasayd a=input(' bir sayi giriniz= '); if a<0 a=log(a); end if a>0 a=a; end a

36

MATLAB/switch,case yaps
switch (deitir) if yapsna benzer. Burada daha ok szel olarak belirtilen durumlara gre ynlendirme ilemi yaplr. Bu yapnn kullanm case ile aadaki gibidir; switch durum case durum1 ilem1 case durum2 ilem2 otherwise Kullanm kiiye baldr. ilem3 end rnek: gun degiskeninin, is gunu olup olmadna karar vermek iin aadaki kodlar dnlr; clear,clc gun=input('hangi gun=', 's'); switch lower(gun) case {'pazartesi', 'sali','carsamba','persembe','cuma'} disp('i gn') case {'cumartesi','pazar'} disp('TATL!') end
37

MATLAB/switch,case yaps
Kullanc tarafndan girilen bir a=10.2424542 deikeninin virglden sonra 2mi 3 hane mi yazdrlacan sorgulayan bir questdlg GUIsini dnelim: a=10.2424542; dummy=questdlg('Virglden sonra ka... hane verilsin?','Sonuc',... '2 hane', '3... hane','3 hane'); switch dummy case {'2 hane'} fprintf('%1.2f',a) case {'3 hane'} fprintf('%1.3f',a), end

questdlg GUIsi

2 hane dmesinin tklanmas durumunda, 10.24 sonucu grntlenir.

38

MATLAB/Uygulama-5
1 ve 2. noktann X ve Y koordinatlarnn girilmesinden sonra, (1-2) aklklk asnn kanc blgeye dtn belirleyen, ilgili blgeyi bir msgbox kutusunda yazdran bir program yaznz.
zm
clear clc X1=input('X1=');Y1=input('Y1='); X2=input('X2=');Y2=input('Y2='); DX=X2-X1;DY=Y2-Y1; if (DX>0) & (DY>0) a=('Aci 1. bolgede'); end if (DX<0) & (DY>0) a=('Aci 2.bolgede'); end if (DX<0) & (DY<0) a=('Aci 3.bolgede'); end if (DX>0) & (DY<0) a=('Aci 4.bolgede'); end msgbox(a,'Bolge?')

39

MATLAB/Uygulama-6
1 ve 2. noktann X ve Y koordinatlarnn girilmesinden sonra, (1-2) aklklk asn hesaplayan bir program yaznz.
zm
clear clc X1=input('X1=');Y1=input('Y1='); X2=input('X2=');Y2=input('Y2='); DX=X2-X1;DY=Y2-Y1; if (DX~=0)&(DY~=0),a=atan(DY/DX);a=a*200/pi; if (DX>0)&(DY>0),a=a;end if (DX<0)&(DY>0),a=a+200;end if (DX<0)&(DY<0),a=a+200;end if (DX>0)&(DY<0),a=a+400;end end if (DX==0)&(DY>0),a=100;end if (DX==0)&(DY<0),a=300;end if (DX>=0)&(DY==0),a=0;end if (DX<0)&(DY==0),a=200;end a %veya output a, aadaki biimde yazdrlabilir. fprintf('%s%1.5f%s','(1-2) aciklik acisi=',a,' grad')

D koul

40

MATLAB/Uygulama-7
1 ve 2. noktann X ve Y koordinatlarnn girilmesinden sonra, (1-2) aklklk asn ve (1-2) kenar uzunluunu hesaplayan bir program yaznz.
zm
clear clc X1=input('X1=');Y1=input('Y1='); X2=input('X2=');Y2=input('Y2='); DX=X2-X1;DY=Y2-Y1; if (DX~=0)&(DY~=0),a=atan(DY/DX);a=a*200/pi; if (DX>0)&(DY>0),a=a;end if (DX<0)&(DY>0),a=a+200;end if (DX<0)&(DY<0),a=a+200;end if (DX>0)&(DY<0),a=a+400;end end Sonular, ayrca sprintf fonksiyonu ile bir msgboxa alt alta yazdrnz. if (DX==0)&(DY>0),a=100;end if (DX==0)&(DY<0),a=300;end if (DX>=0)&(DY==0),a=0;end if (DX<0)&(DY==0),a=200;end S=sqrt(DX^2+DY^2);%kenar ki ifadeyi alt alta yazdrmak iin fprintf('%s%1.5f%s','(1-2) aciklik acisi=',a,' grad') fprintf('\n') fprintf('%s%1.3f%s','(1-2) kenar uzunlugu=',S,' m')

D koul

41

MATLAB/Uygulama-9
Kullancy,1i semesi durumunda YT web sayfasina, 2yi semesi durumunda istediiniz bir web sayfasina ynlendiren bir men program yaznz.

zm

clear clc disp('[1]...YTU web sayfasi') disp('[2]...Cneyt Aydn web sayfasi') a=input('<Selection>='); if (a>2)|(a<=0) menu end %Kullancnn 0,negatif veya 3den byk say girmesi durumunda, program yeniden balatmak iin

if a==1 web www.yildiz.edu.tr -browser end if a==2 web www.yildiz.edu.tr/~caydin -browser end

42

MATLAB/for,end dngs
for,end dngs bir ilemin birden daha fazla sayda yaptrlmasnda kullanlr. (rnein, kk bulma problemlerinde kullanlan iterasyon zmleri). Kullanm, for i=1:n ilem end biimindedir. rnek: 1den Nye kadar olan saylarn toplamn yapan bir program dnelim. clear,clc N=input('bir sayi giriniz='); say=0; %sayac for i=1:N say=say+i; %birikimli (kmlatif toplam) end say (iTam say (integer))

43

MATLAB/while,end dngs
while,end dngs, belirli bir durumun gereklemesi durumunda bir ilemin birden daha fazla sayda yaptrlmasnda kullanlr. done=0; while done==0 ilem end
Buradaki, while,end dngs, done deikeni ancak ve ancak 0 olduu zaman alacaktr. 2. Bir nceki satrda, done deikeni 0 olarak atanm olduu iin while,end dngs alr. (while, end dngsn altran farkl algoritmalara burada deinilmeyecektir). 1.

rnek: 1den Nye kadar olan saylarn toplamn while,end dngs ile yapan bir program dnelim.
clear,clc N=input('bir sayi giriniz='); say=0; i=0;done=0; while done==0 i=i+1; %bir nceki rnekte for,end dngsndeki i ye karlk gelir. if i==N i, son sayya (Nye) ulatnda, done deikenine 0dan farkl bir say done=1; atanr. Bylece, whilen olduu satra gelindiinde, done 0 olmad end iin while, end dngs almaz (dng sonlanr). Program, bu say=say+i; dngnn end satrnn hemen altndaki satrdan ileme devam eder end (burada, say deikeni command windowda yazdrlr.). say

44

MATLAB/Uygulama-10
n sayda lnn tek tek dzeltmesi ve standart sapmas girildiinde ilgili lnn kaba hatal olup olmadn belirleyen, kaba hatal lleri (varsa) yazdran bir program oluturunuz.
clear,clc n=input('olcu sayisi=');say=0; for i=1:n v=input('duzeltme='); s=input('standart sapma='); if abs(v)>=(3*s) disp('--------------------------') disp([int2str(i) '. olcu kaba hatali']) disp('--------------------------') say=say+1;KH(say,1)=i; end if abs(v)<(3*s) disp('--------------------------') disp([int2str(i) '. olcu normal']) disp('--------------------------') end end if say==0 disp('Kaba hatali olcu yok') end if say>0 disp('Kaba hatali olan olculer') KH end

zm

45

MATLAB/Grafik
Matlabde grafikler figure penceresinde izdirilir. ki ve boyutlu izim yan sra, kutupsal koordinat sisteminde de izim olana bulunur (bak., polar).
ki Boyutlu Koordinat Sistemi Boyutlu Koordinat Sistemi

Ordinat (Y)

Apsis (X)

Y X

46

MATLAB/Grafik
Matlabde en temel izim fonksiyonu plotdur. rnein, x=0:0.1:5 olan bir dizi vektr elemanlarna karlk, y=x.^3+x.^2 fonksiyon deerleri hesaplatlsn. plot(x,y) ile aadaki grafik izdirilir.
Edit plot izilen grafiin zerinde birok deiiklik yapmak mmkndr. Bunun iin Edit plot dmesi tklanr. lgili nesne (izdirilen eri, eksenler vb.) iki kez tklanarak beliren Property Editor penceresinden istenilen deiiklikler yaplabilir. Property Editor penceresinden yaplan her trl deiiklii, komut olarak yaptrmak mmkndr. rnein, plot(x,y,'-o') hem ardk noktalar ekildeki gibi birletirir, hem de x,y nokta iftlerini grafik zerinde bir o sembol ile iaretler.

47

MATLAB/Grafik
plot(x,y,'-o') ile ilgili grafik aadaki gibi olur.

Aadaki ifadelerle izimi tekrarlaynz: plot(x,y,'-o') plot(x,y,'-*') plot(x,y,'-+') plot(x,y,'-^') plot(x,y,'-.') Sz edilen grafik zerindeki o,*,+ gibi sembollere marker denir. plot fonksiyonu ile ilgili erinin rengini deitirmek de mmkndr: plot(x,y,'r') krmz (red) plot(x,y,'k') siyah plot(x,y,'b') mavi (blue) plot(x,y,'g') yeil (green)

48

MATLAB/Grafik-Kaydetme ve kopyalama
izilen grafikleri kaydetmek iin Figure penceresindeki File mensnden Save veya Save As seenekleri seilir. Grafikler, fig uzantl dosyalar olarak ilgili klasre kaydedilirler. izilen grafiklerin baka bir ortama aktarlmalar iin, Edit mensnn altndaki Copy Figure seenei seilir. (Not: Kopyalamann arka plan rengini ayarlamak iin Copy Options seeneine baknz.)

49

MATLAB/Grafik-Ayn eksen takmna farkl grafikler izdirme


Ayn eksen takmna farkl grafikleri izdirmek iin hold on ve hold off komutlar kullanlr. Bu iki komut arasna yazlan her trl grafiin izimi ayn eksen takmnda gsterilir. rnein, ya=[1;1.2;2.4;4.5] ve yb=[0.5;0.8;1.8;0] vektrleri ile ifade edilen iki farkl l grubunu x=[1;2;3;4] vektrne gre ayn eksen takmnda izdirmek iin aadaki komutlar yazmak yeterlidir: hold on, plot(ya), plot(yb,'r'),hold off Not: Eer x ekseni, bu rnekte olduu gibi, y deerlerinin indisini, yani kanc deer olduunu, gsteriyorsa, plot fonksiyonunda xin yeniden belirtilmesine gerek yoktur.

50

MATLAB/Grafik-Grafik yoluyla bilgi retme


rnek: ya=randn(1000,1) ve yb=randn(1000,1)*3 biiminde iki l grubu oluturalm. (randn fonksiyonu, beklenen deeri 0, standart sapmas 1 olan normal dalm say retir). yann standart sapmas 1, ybnin standart sapmas ise 3tr. Bu llerin, a ve b kaynaklarndan elde edildiini ve de standart sapmalarn bilmediimizi dnelim. Hangi l grubunun daha kaliteli olduunu (standart sapmasnn dk olduunu) grafik zerinden grebilmek iin, bir nceki rnekteki hold on/hold off komutlarn kullanarak bunlar izdirmek yeterli olacaktr: hold on, plot(ya), plot(yb,'r'),hold off Bylece, krmz ile gsterilmi yb llerinin sfrdan daha ok saptklar, dolaysyla standart sapmasnn daha yksek olduu bilgisi grafik zerinden kolaylkla okunabilmektedir.

Not: sqrt(yb*yb/999) ilemi, yann deneysel standart sapmasn verecektir (bkz. statistik Ders Notlar). Bu deerin 3 kuramsal standart sapma deerine yakn olacana dikkat ediniz.
51

MATLAB/Grafik-Grafik yoluyla bilgi retme


Bir nceki rnekte kullanlan ya ve yb llerinin birbirleriyle nasl bir ilikide olduunu grmek iin, plot(ya,yb,'.') komutunu kullanmak yeterlidir. lgili grafikten, ya ve yb lleri arasnda anlaml bir iliki (korelasyon) olmad bilgisi hemen tretilebilir. nk beklenen deerleri 0 olan bu iki gruba ilikin l iftleri, 0 merkezinde dzgn olarak (daire biiminde) dalmlardr. ki l grubu arasnda korelasyon olabilmesi iin, bu nokta bulutunun bir doru etrafnda gzlenmesi gerekir.

52

MATLAB/Grafik-Grafik yoluyla bilgi retme


Bir nceki rnekte kullanlan yb llerini, yb=2+3*ya+randn(1000,1)*1, biiminde ya llerine bal olarak retelim. Bu durumda, plot(ya,yb,'.') ile oluturulan grafikten ya ve yb lleri arasndaki korelasyonun varl hemen grlecektir.

53

MATLAB/Grafik-Grafik yoluyla bilgi retme


Mhendislik uygulamalarnda en ok karlalan problemlerden biri de F(x)=0 biimindeki bir denklemin ilgili aralktaki kkn (fonksiyonu sfr yapan x deerini) bulmaktr. Saysal analizde kullanlan Newton-Raphson gibi yntemlerde kkn yaklak deerine ihtiya vardr. Bu yaklak deeri bulmak iin grafik izimi olduka kullanl olmaktadr. rnein, F(x)=x3+x2-5=0 gibi bir denklemin -2 ile 2 arasndaki yaklak kkn bulmak iin, x=-2:0.1:2 biiminde x deerleri ve y=x.^3+x.^2-5 ile de bu xlere karlk y deerleri retilir. plot(x,y),grid on komutlaryla aadaki grafik izdirilir.(grid on komutu ekildeki grid an izer)
y=0 dorusunun eriyi kestii noktadan, x eksenine hayali bir dik inilirse, bu dikin gsterdii x deeri, F(x) denklemini salayan kk olacaktr. Buradan kkn yaklak deerinin 1.4 olduu sonucuna kolaylkla ulalr. y=x3+x2-5 erisi Not: Figure penceresindeki bytme zellii ile, ilgili kesiim noktasna zoom yaplarak, yaklak kk daha hassas biimde belirlenir.
54

MATLAB/Grafik-Basic Fitting Tool


Bir mhendis, bir olay gzler ve gzlem sonucunda elde ettii ller yoluyla olay matematiksel eitliklerle aklamaya alr. Bylesi eitliklere, ksaca model ad verilir. Figure penceresinde yer alan Tools mens iindeki Basic Fitting seenei grafik zerindeki x ve bunlara karlk gelen y deerlerini kullanarak, bunlara en iyi uyan y=f(x) polinomunu tanmlar. Bylece olduka pratik bir biimde model oluturulur. Burada hatrlatlmas gereken iki nokta vardr: (1) Eer nokta ifti (x,y) says uydurulan polinomun bilinmeyen saysna eitse, bulunan fonksiyon bir enterpolasyon polinomudur. (Not: n. dereceden bir polinomun n+1 adet bilinmeyeni olduunu hatrlaynz: rnein 4. dereceden bir polinom; y=ax4+bx3+cx2+dx+e dir ve bilinmeyen says 5dir) (2) Eer nokta ifti says, uydurulan polinomun bilinmeyen saysndan fazlaysa en uygun polinom bir en kk kareler kestirim yntemi sonucudur. y deerleri hatal byklklerse (yani l ise), basic fitting ile uydurulacak polinomun bilinmeyen says her zaman l saysndan kk olmaldr!

55

MATLAB/Grafik-Basic Fitting Tool


rnek: Aadaki tabloda f= 5, 10, 15 ve 20 deerlerine karlk t-dalmnn =%5 gven
snrlar (t, deerleri) verilmektedir. t=af3+bf2+cf+d polinomunu basic fitting zelliini kullanarak belirleyiniz. f=9 iin t=2.26 olduuna gre elde edilen enterpolasyon polinomun doruluunu test ediniz. f 5 10 15 20 t 2.57 2.23 2.13 2.09

zm: x=[5;10;15;20] ve y=[2.57;2.23;2.13;2.09] olsun. plot(x,y) ile ilgili eri izilir.


Figure penceresindeki Tools mensnden, Basic Fitting seenei seilir. Alan, Basic Fitting penceresinden ilgili polinom (burada, cubic, yani 3.derece) ve ardndan, show equations seenei iaretlenir. ekil zerinde gsterilen f(x) eitlii, bize enterpolasyon polinomunu vermektedir. Bu denklemde, x=9 girilirse, y=2.24 deeri elde edilir. f=9 iin t=2.26 olduu bilindiine gre, enterpolasyon polinomumuzun doruluu-bu aralk iin-%2dir.

56

MATLAB/Grafik-Basic Fitting Tool


uyan y=a+bx dorusunu belirleyiniz (En kk kareler kestirim yntemi) x y 0 10.06 1 9.36 2 16.69 3 22.28 4 25.44

rnek: Aadaki tabloda, x zamanlarna karlk y lleri elde edilmitir. llere en iyi
5 27.75

zm: Tablodaki deerler x ve y vektrlerine atanr. plot(x,y,'o')ile ilgili eri izilir.


Basic Fitting penceresinde, linear, show equation, plot residuals seenekleri iaretlendiinde, aadaki grafik oluturulur. En kk kareler yntemine gre belirlenen en uygun doru denklemi (model)* llerin, belirlenen doru denkleminden sapmasn (dzeltmeleriresiduals) gsterir. * Demirel H (2005), Dengeleme Hesab
Ders Notlar, YT, stanbul

57

MATLAB/Grafik-ubuk (bar) ve stem grafii


Matlabde farkl gsterimlere gre izim yapmak mmkndr. Bunlardan ikisi bar() ve stem() izim fonksiyonlardr. rnek: x=[5;10;100;20;2] vektr elemanlarnn bar ve stem grafik olarak gstermek isteyelim. bar(x) ve stem(x) aadaki grafikleri izdirecektir.

Bar grafii

Stem grafii

58

MATLAB/Grafik-Histogram
llerin hangi istatistiksel dalma uyduunu grebilmek iin, frekans (sklk) deerleri hesaplanr ve histogram grafikleri izilir. Elimizde, ayn dalmda olduu bilinen bir x l vektr varsa, hist(x) fonksiyonu otomatik olarak bir histogram grafii izer. rnein, x=randn(100,1)*3 biiminde normal dalm bir l grubu retelim. hist(x) ile aadaki histogram grafii oluturulur (Her bir barn st noktas birletirildiinde oluan erinin bir normal dalm erisi veya dier adyla an erisi biiminde olduu grlecektir.)

Sklk

x
59

MATLAB/Grafik-Vektr izimi
x ve y koordinat deerlerine sahip bir noktann dx ve dy kadar yer deitirdii dnlsn. Bu noktadaki (dx,dy) vektrn izdirmek istediimizde, quiver fonksiyonu kullanlr. rnein, bir jeodezik dik koordinat sisteminde iki noktann koordinatlar x=[1000;2000], y=[5000;1000] vektrleri, bu noktadaki deiimler ise dx=[1;2] ve dy=[-0.5;0.8] ile tanmlansn.
quiver(y,x,dy,dx) (Not: Bir jeodezik dik koordinat sisteminde x ve ynin yer deitirdiini hatrlaynz!)

komutu ile bir jeodezik dik koordinat sisteminde vektr izimi gerekletirilir.
Vektrleri leklendirmek iin, s lek faktr quiver fonksiyonuna beinci bir deiken olarak eklenmelidir; quiver(y,x,dy,dx,s)

60

MATLAB/Grafik-Kanava izimi
Bir jeodezik dik koordinat sistemindeki x ve y koordinatlar verilen jeodezik noktalar, nokta sembolleri gen olacak biimde izdiriniz.
Nokta x (m) y (m) P1 500.00 500.00 P2 550.00 750.00 P3 1000.00 1500.00 P4 1200.00 800.00

plot(y,x,'^') axis([200 1700 200 1500]) axis equal


axis([Xmin Xmax Ymin Ymax])

fonksiyonu, eksenlerin en kk ve en byk deerlerini ayarlar, axis equal ise x ve y eksenlerindeki lek faktrn (byme ve klme oranlarn) eitler.

61

MATLAB/Grafik-nterpolasyon
x ve y koordinatlar bilinen noktalara ilikin nc bir bilgi (rnein, ykseklik, ykseklik deiimi, scaklk, nem, basn, gelgit deformasyonu, anomali vb.) olduunda, noktalarn evreledii alann iindeki hayali noktalar iin bu bilgiler, eitli matematiksel yaklamlarla retilebilir: Bu ileme, ksaca, interpolasyon denir. Bylesi hayali noktalar, alann iindeki belirli byklkteki kareler ann ke noktalar olabilir. Bu noktalara grid noktalar denir. Matlabde, sonraki interpolasyon ilemlerinde kullanlmak zere, meshgrid fonksiyonu ile bu noktalarn x-y koordinatlar belirlenir. ncelikle, x ve y eksenleri, sz konusu karenin kenar bykl kadar paralara ayrlr. rnein, kenar bykl 10 m olsun: Bylece eksenler aadaki biimde 10 mlik paralara blnr; x1=xmin:10:xmax; y1=ymin:10:ymax

Daha sonra, [XI, YI]=meshgrid(x1,y1)ile gridlerin ke nokta koordinatlar XI ve YI matrislerine yazdrlr. HI=griddata(y,x,H,YI,XI,'v4') fonksiyonu ile x ve y koordinatlarna sahip jeodezik noktalardaki nc bilginin topland H, koordinatlar XI ve YIda tanmlanm grid noktalar iin v4 yntemiyle interpole edilir; grid noktalarna ilikin nc bilgi HI vektrnde toplanr. (Not: v4 ynteminden baka, cubic, linear gibi interpolasyon yntemleri de bulunur)

62

MATLAB/Grafik-nterpolasyon
rnek: Nokta koordinatlar, x=[1000;1200;4000;1000], y=[1500; 2000;3000;3500] ile ve bu noktalarn ykseklikleri, H=[100.0000;95.9850;50.5000;140.1200] ile tanmlansn. Blgeyi 10 mlik gridlere blerek, blgenin ykseklik deerlerini gsteren bir renk haritas hazrlaynz.
clear,clc x=[1000;1200;4000;1000]; y=[1500;2000;3000;3500]; H=[100.0000;95.9850;50.5000;140.1200]; x1=1000:10:4500; y1=1500:10:4000; [XI,YI]=meshgrid(x1,y1); HI=griddata(y,x,H,YI,XI,'v4'); hold on, pcolor(YI,XI,HI), shading interp colormap('jet') plot(y,x,'o','MarkerFacecolor','b') hold off Not: v4 interpolasyonu yerine, dier interpolasyon yntemlerini kullanarak aradaki farklar irdeleyiniz.

63

MATLAB/Grafik-Contour Haritas ve 3B izim


Contour (rnein, e ykselti erileri) haritas iin contour ve clabel fonksiyonlarna, boyutlu yzey izimleri iin mesh, surf, surfl ve surfc fonksiyonlarna baknz.

surfc fonksiyonu ile oluturulmu bir yzey grafii

64

MATLAB/Dosya Yazdrma-Okuma
Program sonularnn otomatik olarak farkl bir dosyaya yazdrlmas veya bir dosyadaki bilgilerin okunarak program ierisinde kullanlmas, programclkta olduka sk bavurulan kt alma ve veri girii yntemleridir. Dosya yazdrma, kt almaya; Dosya okuma ise veri giriine karlk olan ilemlerdir. Matlabde dosya yazdrma, en basit biimde, diary komutuyla gerekletirilir. Kullanm ise aadaki biimdedir; a=10; diary sonuc.txt disp('-----------------') disp(a) diary end
ki diary komutu arasndaki command window da yazdrlacak her trl bilgi, sonuc.txt dosyasna yazdrlr. sonuc.txt dosyas, mevcut klasrn iinde oluturulur, rnekteki, sonuc.txt dosyas yerine baka dosya tr ve isimleri kullanlabilir. Yazdrlacak olan dosya, daha nce oluturulmu bir dosya ise, kt dosyann iindeki metinin altna yazdrlr.

65

MATLAB/Dosya Yazdrma-Okuma
Daha gelimi dosya yazdrma, fopen, fprintf ve fclose fonksiyonlarnn kullanm ile gerekletirilir. Bu fonksiyonlar ile dosya yazdrmada, yazdrlacak olan metnin command window da gsterilmesine gerek yoktur. fopen, program ktlarnn yazdrlaca dosyay aar, fprintf yazdrr ve fclose ise yazdrma ilemini sonlandrr. rnein, bir a kenar programda hesaplatlm olsun. Bu programn a ktsn, kenar.txt isimli bir dosyaya yazdrmak iin, aadaki kodlar dnlr;
a=150.0234234; fid=fopen('kenar.txt','w'); fprintf(fid,'%s%1.4f','kenar uzunlugu=',a); fclose(fid);

w bu dosyann zerine yazlacan gsterir. (a mevcut metnin altna yaz demektir)

66

MATLAB/Dosya Yazdrma-Okuma
rnek: a=[3.12356 4.12456 1;5.8463 6.45111 2;4 5 6] biiminde verilen bir a matrisini, elemanlar virglden sonra 4 hane olacak biimde, mat.out dosyasna yazdran bir program yaznz.
a=[3.12356 4.12456 1;5.8463 6.45111 2;4 5 6] fid = fopen('mat.out','w'); fprintf(fid,'%1.4f%10.4f%10.4f\n',a); fclose(fid);

rnek: kenar=1500.123 m ve aciklik=103.3367 grad olan deikenleri, sonuc.out dosyasna alt alta yazdrnz.
kenar=1500.123; aciklik=103.3367; fid=fopen('sonuc.out','w') fprintf(fid,'%s%1.3f%s\r\n','kenar=',kenar,' m'); fprintf(fid,'%s%1.4f%s','aciklik=',aciklik,' grad'); fclose(fid)

67

MATLAB/Dosya Yazdrma-Okuma
Matlabde dosyalarn iindeki metnin okunmas iin textread fonksiyonu bulunmaktadr. rnein, aada koordinat.txt dosyasndaki verilerin okunmas istensin:
P1 P2 P3 P4 1000.1234 1300.5673 2000.1500 3500.3100 1300.23423 1450.98563 2000.11000 1000.12000 y koordinatlar

Nokta isimleri x koordinatlar

Bunun iin,
[nokta,x,y]=textread('koordinat.txt','%s%f%f')

fonksiyonu kullanlr. nokta, nokta isimlerini ieren bir hcre dizisi; x, x koordinat vektr ve y, y koordinat vektr olarak atanr.

68

MATLAB/Dosya Yazdrma-Okuma
rnek: Koordinat dosyas, aadaki gibi olan bir koordinat.txt dosyasndan, nokta isimlerini, x ve y koordinatlarn textread fonksiyonu kullanarak uygun deikenlere ataynz.
Nirengi koordinatlar NN x(m) y(m) P1 1000.1234 1300.23423 P2 1300.5673 1450.98563 P3 2000.1500 2000.11000 P4 3500.3100 1000.12000

[nokta,x,y]=textread('koordinat.txt','%s%f%f','headerlines',2) 'headerlines komutu ve ardndan gelen say, dosyann balangcndan itibaren ka tane satrn dikkate alnmayacan gsterir. koordinat.txt dosyasnda ilk iki satr alnmadan nokta isimleri, x ve y koordinatlar okunmutur.

69

MATLAB/Fonksiyon Dosyas Oluturma

Matlab fonksiyonlar (rnein, inv, disp, num2str,det, textread) kullancnn bir baka programa gerek duymakszn temel ilemleri kolayca yapabilmesini salar. Kullanclar kendi fonksiyonlarn gelitirebilirler. Fonksiyonlar, bir m-dosyas biiminde saklanr ve bu dosyalara, fonksiyon dosyalar ad verilir. Fonksiyon oluturmann iki nemli getirisi vardr:
Srekli olarak uygulanan bir ilem iin kod tekrarn nler (rnein, aklk as iin yazlm bir fonksiyon aciklik ise, programn ilgili yerinde aciklik(X1,Y1,X2,Y2) fonksiyonu (1-2) veya (2-1) aciklik acisini dorudan retecektir. Fonksiyonlarda kullanlan deikenler yereldir (local variables). Yani workspace iinde dier program trlerinin deikenleri (global variables) gibi yer igal etmezler.

70

MATLAB/Fonksiyon Dosyas Oluturma


rnek: Koordinatlar bilinen iki nokta arasndaki yatay uzunluu hesaplayan kenar isimli bir fonksiyon oluturunuz.

Fonksiyonlarn, biim olarak, dier programlardan tek fark,


function output=fonk_ismi(input)

ile balamas ve fonksiyon dosyasnn sonunda end ile bitmesidir. function komutunun bulunduu ilk satrdan hemen sonra gelen aklama (comment) satrlar, ilgili fonksiyonun yardm metinleridir. Fonksiyon ismiyle, fonksiyon dosyasnn ismi ayn olmaldr.

71

MATLAB/Fonksiyon Dosyas Oluturma


rnek: Hem aklk asn hem de kenar uzunluunu reten aci_kenar isimli bir fonksiyon oluturunuz.

Bir fonksiyonun birden fazla kts olabilir. Bu rnekte a ve S gibi iki kt bulunmaktadr. a, aklk asn, S ise kenar uzunluunu gstermektedir. aci_kenar(X1,Y1,X2,Y2) komutuyla, ilk output, yani aklk asn belirten a deikeni retilir.

72

Matlab Hzl Eriim Klavuzu Temel Komutlar


help y clear clear x pwd demo save load clc

Semboller
% [ ] ( ) = ;

Bir y fonksiyonu iin yardm Atanan tm deikenlerin silinmesi Bir x deikeninin silinmesi alma klasr yolu Matlab demo penceresi Matris kaydetme Matris geri arma alma penceresinin temizlenmesi

: ans

Matematiksel Operatrler
+ * / ^ .* ./ .^ sqrt abs

{ } x.adi

Toplama karma arpma Blme st alma Elemanter arpm Elemanter blme Elemanter st alma Kk alma Mutlak deer

Aklama getirme ifadesi Matris girme ifadesi ndis ve deer girme ifadesi Deiken atama ifadesi Matrislerde satr ayrac. Ayrca, iinde "=" bulunan bir ilemin gsterilmemesi Kolon ifadesi Deiken atanmam en son ilem iin varsaylan deiken ismi (answer) Hcre dizisi x yap dizisi

Sabit terimler
pi eps inf

says 2.2204e-016 says Sonsuz (belirsiz) ifadesi

Trigonometrik Fonksiyonlar
sin,cos,tan,cot asin,acos,atan,acot

Trig. Fonksiyonlar Ters Trig. ifadeler

Mantksal Operatrler
& | ~ /

Ve Veya Deil Blme

Logaritmik Fonksiyonlar
log exp

Doal logaritma Eksponansiyel

Karar Operatrleri
> < >= <= == ~=

Lineer Cebir Fonksiyonlar


det(x) inv(x) trace(x) diag(x) diag(y) zeros ones eye eig

Byktr Kktr Byk eittir Kk eittir Eittir Eit deildir

Bir x matrisinin determinant Bir x matrisinin tersi Bir x matrisinin izi Bir x matrisinin kegen elemanlar Kegenleri, bir y vektrnn elemanlar olan kegen matris Sfr matris Birler matrisi Birim matris zdeer ve zvektr bulma

Matlab Hzl Eriim Klavuzu Yazdrma Fonksiyonlar


fprintf sprintf disp

Baz matematiksel fonksiyonlar Bir x vektr elemanlarnn toplam diff(x) Bir x vektr elemanlarnn ardk farklandrlmas mean(x) Bir x vektr elemanlarnn ortalamas median(x) Bir x vektr elemanlarnn orta deeri (medyan) sort(x) Bir x vektr elemanlarnn kkten bye sralanmas max,min En byk ve en kk deer bulma sortrows lgili stuna gre kkten bye sralama
sum(x)

Bir ifadenin yazdrlmas Bir ifadenin bir karakter dizisine atanmas Bir ifadenin ekran kts olarak gsterilmesi

Karakter dizisi fonksiyonlar


num2str(x) str2num(x) char(a) char(s1,s2,) Bir x saysn bir karaktere atama Karakter olan bir x saysn say deerine atama a hcresini bir karaktere atama s1,s2, karakterlerinden yeni bir karakter dizisi oluturma Bir s karakter dizisinin tm elemanlarn kk harf yapma Bir s karakter dizisinin tm elemanlarn byk harf yapma Bir deikenin say olup olmadn sorgulama Bir deikenin karakter olup olmadn sorgulama Bir deikenin hcre olup olmadn sorgulama

Programlama
if/end for/next while/end input

lower(s)

upper(s)

Eer koulu Dng while dngs Deiken girdirme

isnumeric ischar iscell

izim 2 boyutlu grafik 3 boyutlu grafik Histogram ve bar grafikleri Yzey grafikleri izim penceresi oluturma (ki veya daha fazla saydaki grafikleri ayr pencerelerde gstermek iin) hold on, Farkl grafikleri ayn eksen hold off takmnda izdirme komutlar axis Eksen komutu axis equal Eksenleri eit lek katsays ile leklendirme stem ubuk grafik plotyy ift y eksenli grafik errorbar Hata bar grafii
plot plot3 hist,bar surf,mesh figure

Hazr GUI'ler leti penceresi Deer girme penceresi Soru diyalog penceresi Open file diyalog penceresi Open directory diyalog pen. Save file diyalog penceresi

msgbox inputdlg questdlg uigetfile uigetdir Uiputfile

Say yuvarlatma fonksiyonlar


fix floor ceil round

Sfra yuvarlatma Negatif sonsuza yuvarlatma Pozitif sonsuza yuvarlatma En yakn tam sayya yuvarlatma 2

You might also like