You are on page 1of 48

2010

TEMEL BLGSAYAR BLMLER MATLAB

ASAFA,YDoDr YILDIZTekniv,GMM

NDEKLER Sayfa 1. 1.1 2. 3. 4. 5. 5.1 5.2 5.3 5.4 5.5 5.6 5.7 6. 7. 8. 9. GR....................................................................................................................... 3 Algoritmann oluturulmas ..................................................................................... 3 GR: Matlab program ......................................................................................... 2 Format komutu ........................................................................................................ 8 M-Dosyalarnda Deiken Kullanm ................................................................... 10 Dizi (Matris Yaklam)......................................................................................... 11 Matlabde matris elemann indisleri ...................................................................... 11 Matris oluturma: .................................................................................................. 12 Matris lemleri ..................................................................................................... 14 Denklem sistemlerinin zm ............................................................................. 16 Dizi lemleri ......................................................................................................... 18 ok Boyutlu Diziler .............................................................................................. 19 Fonksiyonlar .......................................................................................................... 23 Yazdr .................................................................................................................... 26 Grafik Gsterim ..................................................................................................... 28 ki Boyutlu Grafik izimi ..................................................................................... 29 Dosyaya Yazdrma ve Dosyadan Okuma .............................................................. 35

Okunan Dosya Formatlar ........................................................................................................ 35 10. 10.1 11. 12. SIMULINK modl ........................................................................................... 40 Model Dzenleme (Model Editor) ........................................................................ 41 rnekler ............................................................ Hata! Yer iareti tanmlanmam. Sorular .............................................................. Hata! Yer iareti tanmlanmam.

3 1. GR

En temel olarak programlama, hesaplama ileminin makine (bilgisayar) kullanlarak yaplmas yntemidir. Programlama, ilem akn ierir. En temel bilgisayar programlama dili makine dilidir. 0 ve 1 deerlerinden oluur. st seviye programlama dillerine gidildike, dil daha kolaylar. Derleyici, yardm ile yazlan program makine diline evrilir. Program altrlr, hesaplanr. C, BASIC, PASCAL, vb diller rnek verilebilir. Programlama dilleri, metin tabanl (BASIC, VISUAL BASIC, DELPHI, vb.) ve grafik tabanl (SIMULINK, LABVIEW, vb.) olarak ayrlabilir. MATLABde metin tabanl ve SIMIULINK modlnde ise, grafik tabanl programlama yaplr.

1.1

Algoritmann oluturulmas

lem ak diyagramnda, yaplacak ilemler, hesaplamalar srasyla yer alr. rnein, kapy amak iin algoritma oluturalm: 1234Zil sesinin duyulmas. Kapya doru gidilmesi. Kap kolunun bulunmas. Kap kolunun evrilerek, kapnn almas.

2 2. MATLABde programlama

MATLAB (alm: MATrix LABoratory)

Tarihesi, Asl Cleve Moler tarafndan 1970lerde gelitirildi. Moler, matematik derslerinde FORTRAN olmakszn kimi FORTRAN ktphane programlarnn (LINPACK: Lineer denklem sistemini zer, EISPACK: zdeer vektrlerini hesaplar) kullanmna gereksimim grd. MATLAB bu programlar dardan kullanacak biimde gelitirdi. Resmi sat yaplmamasna karn, yaygnlamaya balad. 1980lerde C dilinde yeni batan yazld. izim gibi ilevler eklendi. 1984 tarihinde Mathworks irketi kuruldu. Bylelikle, MATLAB programnn gelitirilmesi, sat ve destek hizmetleri kurumsal bir yapya kavutu. MATLABde programlama konusunda, internet zerinde help documentation linkleri izlenir. http://www.mathworks.com/access/helpdesk/help/helpdesk.html Hazr rnekler ve video sunumlar iin yukardaki linkteki program sayfalar izlenir. Ya da MATLAB program arayznde sol alt kede yer alan Start butonuna baslr, demos yolu izlenir. MATLAB programn altrmak iin aadaki ikon tklanr:

Ya da Balat mens/altr izlenerek, matlab komutu yazlr.

MATLAB program ilk aldnda ekranda grnen pencereleri ile aada grlmektedir: Workspace: alma yeri Command History: altrlm komutlar Command Window: Komut Penceresi

MATLAB programn kapatmak iin komut penceresinde exit ya da quit komutu girilir. Komut penceresinde basit hesaplamalar yaplabilir:

>> -5/(4.8+5.32)^2 ans = -0.048821 >> (3+4i)*(3-4i) ans = 25 >> cos(pi/2) ans =

Ayrca, hesaplamalar deikenlere atanp, deikenler kullanlarak hesaplamalar yaplabilir:

>> a = 2; >> b = 5; >> a^b ans = 32 >> x = 5/2*pi; >> y = sin(x) y =

Kar is true, the answer is 1; otherwise, it is 0. The following operators are available.
< - less than <= - less than or equal > - greater than >= - greater than or equal == - equal ~= - not equal

Yararl ksayollar: : Yukar ok tuu ile daha nce altrm olan komutlar arlr. Esc: Komut satr silinir. Ctrl+C: Yaplmakta olan ilemden klp, komut satrna dnlr.

Fonksiyon

Aklamas

cd/pwd, ls/dir Dizin ilemleri

5 Fonksiyon What ! (bang) Which Clear who, whos size Aklamas Dizinde yer alan klasrlerin grntlenmesi letim sisteminin uyarlmas lgili nesnenin tanmlanmas Foksiyon ve deikenin bellekten silinmesi alma yerinde tanml deikenlerin listelenmesi Matrisin boyutunun (eleman saylar, satr ve stun) bulunmas

Komutlar hakknda bilgi almak iin komut satrnda, help sin yazlrsa, sin fonksiyonu yardm sayfas ekrana gelir. helpwin sin yazlrsa, help sin ifadesinden farkl olarak, yardm sayfas ayr pencerede alr. doc sin yazlmas durumunda, yardm sayfasnn grntlenmesi iin program CDsi srcde bulunmaldr.

Bunlarn dnda, yardm belgelerine ulamak iin komut satrnda helpwin ya da doc yazlr. MATLAB Start butonu altndaki Help ile yardm menlerine ulalr. Ayrca, komut satrnda, helpbrowser yazlarak da yardm menlerine ulalr.

8 3. Format komutu
Aklama Varsaylanformat(formatshortileayndr) 5rakamlsabitnoktaskalaformat 15rakamlsabitnoktaskalaformat 5rakamlkayannoktaformat 15rakamlkayannoktaformat 5rakamlenuygunsabitveyakayannoktaformat 15rakamlenuygunsabitveyakayannoktaformat Dolarvesentiinsabitformat(kiondalklgsterimleriinkullanabilirsiniz) Enkktamsayoranyaklamylasayyondalklolarakgsterir

Komut format formatshort formatlong formatshorte formatlonge formatshortg formatlongg formatbank formatrat

Matlab fonksiyonlar,
Trigonometrik Fonksiyon Ad Sinus Kosins Tanjant Kotanjant Sekant Kosekant Hiperbolik Fonksiyon format sinh(x) cosh(x) tanh(x) coth(x) sech(x) csch(x)

Fonksiyon format sin(x) cos(x) tan(x) cot(x) sec(x) csc(x)

Ters Fonksiyon format asin(x) acos(x) atan(x) acot(x) asec(x) acsc(x)

Ters Fonksiyon format asinh(x) acosh(x) atanh(x) acoth(x) asech(x) acsch(x)

Not: MATLABde trigonometrik fonksiyonlarda derece yerine radyan kullanlr. Ksaca 2pi =360 dir. rnein, derece olarak sin(30)=0.5.

1. yol: x = pi/3; sin(4*x)-(2*cos(x))^3 ans = -2.83

2.yol: x = 45; sin(4*x*pi/180)-(2*cos(x*pi/180))^3 ans = -2.83

10 4. M-Dosyalarnda Deiken Kullanm Bir deikeni atamadan nce atamann sa tarafnda bir deeri olmaldr. Bir deikenin zerine baka bir deer atarsanz eski deikenin deeri atanan yeni deiken deeri olur. Deiken adlar bir harfle balamal, sonra herhangi bir harf rakam ve altizginin kombinasyonu gelebilir. Matlab byk kk harfleri ayrd eder yani A ile a ayr deikenlerdir. Deiken uzunluu herhangi bir uzunlukta olabilir ancak Matlab deiken adnn ilk 63 karaterini dikkate alr. Dier bir deyile maksimum deiken ad uzunluu 63 karakter olmaldr. Bir deikene vereceiniz adn daha once kullanlp kullanlmadn kontrol etmek iin isvarname fonksiyonu kullanlr. Eer verdiiniz ad geerli ise 1, deilse 0 deerini gsterir

11 5. Dizi (Matris Yaklam)

5.1

MATLABde matris elemann indisleri

Diziler, matris biiminde ele alnabilir: Tek elemanl dizi, 11lik matris m elemanl dizi: m1lik stun matris ya da n elemanl dizi: 1nlik satr matris

n: Stun says m: Satr says

A kare matrisinin elemanlarnn indisleri: ! ekilde grld gibi, A(2,4) ile A(17) ayn eleman gsterir.

2
1

(n) 3
6

4
11

5
16

A=

1 2

4 8

10 1.2 5

1 9 7 4

6 4 1 5 0

2 25

21

A (2,4)

12

17

22

Rows (m) 3 4 5

7.2 3 0 23
4

13

18

11 23 56 24 10 25

A (17)

0.5 9

14

19

83 10 13 15

20

rnekler: A(1:5,5) A(:,5) A(21:25) A(1:end,end) A(:,end)

12 A(21:end) A(4:5,2:3) A([9 14; 10 15])

Matris elemanlar say, karakter ya da fonksiyon olabilir: w = [-2.8 sqrt(-7) (3+5+6)*3/4] w= -2.8000 0 + 2.6458i 10.5000

5.2

Matris oluturma:

Keli parantez kullanarak, aadaki rnekteki gibi matris oluturma: >> a = [1, 2; 3, 4] a= 1 3 2 4

Elemanlar arasnda boluk braklr ya da virgl konulur. Dier satra gemek iin noktal virgl konulur. A = [1 2 3; 4 5 6; 7 8 9] A=

1 4 7

2 5 8

3 6 9

13 ki nokta stste kullanarak, aadaki rnekteki gibi sabit aralkla matris oluturma: >> b = 2:-0.5:0 b= 2.0000 1.5000 1.0000 0.5000 Ya da 0:pi/4:pi 0

ans =

0.7854

1.5708

2.3562

3.1416

Ya da azalan biimde, Z = 6:-1:1

Z=

Fonksiyon yardm ile, yukardaki rnekteki gibi matris oluturma: c = rand(2,4)

X = [-1.3 sqrt(3) (1+3)*4/5]

X=

14 -1.3000 1.7321 3.2000

ie matris oluturma, >> a=[1 2;3 4] a= 1 3 2 4

>> cat_a=[a, 2*a; 3*a, 4*a; 5*a, 6*a] cat_a = 1 3 3 9 5 15 2 4 6 12 10 20 2 6 4 12 6 18 4 8 8 16 12 24

5.3

Matris lemleri Dizi/Elemanter Operatr Aklamas

Matris Operatr Aklamas ^ * / Devriini bulma s alma apma Blme

.^ .* ./

s alma apma Blme

15 \ + Ters blme Toplama karma

Matrislerin toplama ve karmas A = [1 2 3; 2 3 4] , B = [ 3 4 5; 6 1 4] ve C = A+B ise, ilemin sonucu C = [4 6 8;8 4 8] bulunur

Matris ve dizi ilemleri arasndaki fark iin rnek: w = [1 2;3 4] + 5 ileminin alm, w= 1 2 + 3 4 Sonucu, w= 6 7 8 9 Bulunur. 5 5 5 5

Matrislerin arpm, A=[1 2; 3 4], B= [3 4; 6 7], ve C=A*B ise, C=[15 18; 33 40] bulunur.

Matrislerin blm A*X = B iin X = A\B

16 X*A = B iin X = B/A yazlr.

Matris fonksiyonlar: inv det rank eig svd norm Matrisin devrii Determinant Matrisin rank zdeer ve zdeer vektrleri tekil deer ayrklatrma Matris/vektrn normu

rnek: stock_values=[17.01 17.08 15.02 15.23; 16.43 16.55 14.98 16.66; 17.09 17.17 15.47 16.56; 16.86 17.05 16.25 16.38; 17.15 18.02 17.05 17.07] whos openvals=stock_values(:,1) max_openvals=max(openvals) mean_openvals=mean(openvals) low_vals=stock_values(:,3)

5.4

Denklem sistemlerinin zm

17 Blme ile [A] = m n [x] = n 1 [b] = m 1

-x1 + x2 + 2x3 = 2 3x1 - x2 + x3 = 6

Ax = B iin, x = A\B xA = B iin, x = B/A

Fonksiyon yardm ile, x = inv(A)*B

Aada rnekteki gibi >> A = [-1 1 2; 3 -1 1;-1 3 4]; >> b = [2;6;4]; >> x = inv(A)*b x= 1.0000 -1.0000 2.0000 >> x = A\b x= 1.0000 -1.0000 2.0000

18

5.5

Dizi lemleri

Dizi yaps ok sayda verinin hzl biimde deerlendirilmesi iin gereklidir. Dizi ilemlerinde noktal operatrler kullanlr. Matris ilemlerinden farkl olarak eleman elemana yaplan ilemlerdir. Toplama ve kartma ilemleri arasnda fark yoktur. rnein, x= [1 2 3] ; y = [4 5 6]; ise, z=x.*y ileminin sonucu, z=[4 10 18] olarak bulunur. Ayrca, arpm iin matris boyutlarnn uygun olmadna dikkat edilmelidir. Blme ilemi iin, Z= x.\y

Z=

4.0000

2.5000

2.0000

s alma, Z = x.^y ileminin sonucu, Z = [ 1 32 729]

ssn skaler olmas durumunda, Z = x.^2

19 Z = [ 1 4 9] Bulunur.

rnein, ktlesi (M), uzunluu (L) ve genilii (W) bilinen 10 000 rnek paradan ortalama younlu aadaki rneklerde hesaplanmtr:

Dizi elemanlar kullanlarak: >> for I = 1:10000 D(I) = M(I)/(L(I)*W(I)*H(I)); end; Dizi kullanlarak: >> D = M./(L.*W.*H);

5.6

ok Boyutlu Diziler

ndis says ikiden fazla olan diziler bu kapsama girer.


>> A = pascal(4); >> A = pascal(4); >> A = pascal(4); >> >> A = pascal(4); >> A(:,:,2) = magic(4) A(:,:,2) = magic(4) >> A(:,:,2) = magic(4) >> A(:,:,2) = magic(4) A(:,:,1) = A(:,:,1) = A(:,:,1) = A(:,:,1) 1 = 1 1 1 1 1 1 1 1 1 2 1 3 1 4 1 1 1 2 1 3 1 4 1 1 2 3 10 4 1 1 3 2 6 3 10 4 1 3 6 1 1 4 3 10 6 2010 1 1 4 3 10 6 2010 1 4 10 20 1 4 10 20 A(:,:,2) = A(:,:,2) = A(:,:,2) = A(:,:,2) 2 = 16 3 13 16 2 3 13 516 11 2 10 3 813 516 11 2 10 3 813 5 11 10 12 8 9 5 711 610 12 8 9 7 6 4 9 14 7 15 6 112 4 9 14 7 15 6 112 4 14 15 1 4 14 15 1 >> A(:,:,9) = diag(ones(1,4)); >> A(:,:,9) = diag(ones(1,4)); >> A(:,:,9) = diag(ones(1,4)); >> A(:,:,9) = diag(ones(1,4));

Page N Page N 1 0 0

0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0

0 0 0 1

e1 e1

0 0 0 0 0 16 20 30 130 0 0 130 0 0 5 16110 2100 3 80 1 1 1 1 0 0 060 120 80 0 0 9 5 7 11 10 1 1 2 1 3 1 4 1 0 0 0 0 4 914 715 6 1 12 1 1 3 2 6 310 4 4 14 15 1 1 1 4 310 620 10 1 4 10 20

rnein, bir levha zerindeki s dalm boyutlu bir dizi ile ifade edilebilir. Levhay kk dikdrtgen paralara ayralm. Her keyi, x ve y koordinatlarn birer indisle gsterelim. nc indis ile de scaklk deerlerini gsterelim.

20

Matlab komutlar, IF koulu

if mantksal ifade-1 deyim takm-1 elseif mantksal ifade-2 deyim takm-2 else deyim takm-3 end eklindedir. Eer mantksal ifade-1 doru ise deyim takm-1de belirtilen ilem, daha sonra baka bir mantksal ifade-2 verilir ve eer bu ikinci art doru ise deyim takm-2de belirtilen ilem yanl ise deyim takm-3de belirtilen ilem yaplr ve end ile ilem sona erdirilir.

a=input('Bir a degeri giriniz: '); if a < 50 s = 5*a; elseif a < 100 s = 2*a; else s = a/2; end s

21 FOR dngs,
for dngdeikeni=ifade deyimler end eklindedir. rnein ifade dngdeikeni=m:j:n eklinde ise burada m:j:n , j artm miktarl ilk deeri m son deeri n olan bir say araldr. Her for dngs end ile kapatlmaldr.

for i = 1:5 x(i)= i^2 ; end x orfor x= 1 4 9 16 25 11

WHILE dngs

while ifade deyimler end

eklindedir. *** Her while dngs de if dngs gibi end ile kapatlmaldr.

x=2; while x<50

22
disp(x); x=x^3-x^2;

Program kararsz almaya geebilir. Continue ve break komutlar ile kullanlmas nerilir.

t=[-5,5,-4,4,-3,3-2,2,-1,1]; for k=1:length(t) if t(k)<0 continue end t(k)= log10(t(k)) end

t Test: >> devam t= -5.0000 0.6990 -4.0000 0.6021 -3.0000 0 0.3010 -1.0000 0

for t=1:10 m=100-t^3 if m<0 break end n=sqrt(m) end

23
m Test: >> kes m= 99 n= 9.9499 .... m= -25

switch giri ifadesi (skaler veya karakter dizgesi) case ifadesi deyim grubu-1 case ifadesi deyim grubu-2 .. otherwise deyim grubu-n end

INPUT fonksiyonu,
x=input('Herhangi bir sayi giriniz: ');

sayfa 14

5.7

Fonksiyonlar

Fonksiyonlarn genel yazm formatfunction [out1,out2,... ,outN] = fonksiyon_ad

24 (in1,in2,...,inM) r: function [Anapara,faiz] = kredi(P,oran,sre) veya function P = fm_mod(V,T) verilebilir. Kullancdan belirli bir formatta bir A matrisini girmesini ve kta girilen bu A matrisinin transpozesini (devriini) gsteren ve her bir adm ve aamay aklayan bir program yaznz.

1. Adm: Matlabi altrnz. Sonra Matlab ekrannda File*New*M file komutuyla veya komut satrndan edit komutunu yazp Entera basarak etkileimli m dosyas yazmak iin Editor/Debugger ekranna geiniz. Tekrar belirtmeliyim ki herhangi bir metin (text) editrnde de (rnein Windowsun Notepad-Not Defteri metin editrn veya Word programn da kullanabilirsiniz) Matlab m dosya kodunuzu yazabilirsiniz. Ancak programn eitli aamalarn test etmek ve hatalar annda dzeltip yeni sonular grmek iin Matlabn kendi editrn kullanmak daha etkin ve verimli bir yoldur.

2. Adm: Program kodunu yazalm. % ***** Bu program bir matrisin transpozesini bulur. % Kullanici bir A matrisini girer ve sonuta bu matrisin % transpozesi gsterilir. disp('Asagidaki formatta istediginiz bir kare matrisi giriniz.') disp(' ') disp(' [x x x; x x x; ... ] Burada x numerik bir sayi olmalidir.' )disp(' ')

A = input('A matrisini giriniz: ') B = zeros(size(A)); % B matrisinin her elemanini % A ile ayni boyutta sifira ayarlanr. M = size(A,1); % A'nin satir sayisini bulur

25 N = size(A,2); % A'nin stun sayisini bulur

% Matrisin transpoze alma islemi if N ~= M disp('Satir sayisi stun sayisina esit degildir. Baska bir matris giriniz') break end

for i = 1:M for j = 1:N B(j,i) = A(i,j); end end

26 6. Yazdr

Gsterim Aklamas %c %d %e %E %f %g %G %o %s %u %x %X Tek karakter Ondalk gsterim (iaretli) stel gsterim (kk e harfiyle, rn: 3.1415e+00) stel gsterim (byk E harfiyle , rn: 3.1415E+00) Fixed-point notation %e ya da %f benzeri daha ksas, fazladan sfrlar konmaz. Ayn %g benzeri, ancak E byk harfi ile Sekizlik dzen (unsigned) String of characters Decimal notation (unsigned) Hexadecimal notation (using lowercase letters a-f) Hexadecimal notation (using uppercase letters A-F)

on.

Karakter Aklamas

27 \b \f \n \r \t \\ \'' or '' %% Backspace Form feed Yeni satr Yeni satr Tab boluk Ters bl ift trnak Yzde iareti

28 7. Grafik Gsterim

Matlab, sonularn sunumu iin yararl grafik gsterim elerine sahiptir. eitli eri ve yzey grafikleri bulunmaktadr. izim iin kullanlan komutlardan bazlar:

plot Satr ya da stun matrislerden oluan verilerin grafiini izer loglog izilen grafikte eksenler logaritmik skala ile verilir

Grafik zerine ekil Ad, Eksen Adlar, Izgara izgileri ve dier yazlar aadaki komutlar yardmyla eklenir:

title ekil Ad yazs eklenir. xlabel X Ekseni yazs eklenir. ylabel Y Ekseni yazs eklenir. text Istenilen konuma yaz yazlr. gtext Fare kullanldnda ekil zerine yaz kar. grid Izgara izgileri gsterilir.

y vektr, bir dizi veriyi iermektedir. Grafii izdirilirse, yatay eksen deerleri y dizisinin indislerinden oluur: plot(y)

29 8. ki Boyutlu Grafik izimi

x ve y vektrleri, yatay ve dey eksen deerlerini iermekte olan grafiin izimi iin plot(x,y) kullanlr.

Tek eri iin, rnein plot(xdata, ydata, 'clm')

Birden ok eri iin, rnein plot(x1, y1, 'clm1', x2, y2, 'clm2', ...)

Plot komutu ile programa girilen iki boyutlu veriler (x ve y, veri iftleri) yardm ile iki boyutlu eriler izdirilir. Aada, x ve y deerlerinden oluan ikili verilerin grafii, krmz, noktal izgi stili ve kutu iaretli biimde gsterilmektedir. >> x = -5:5; >> y = x.^2; >> plot(x,y,r:s)

30

25

20

15

10

0 -5

-4

-3

-2

-1

Aada, iki eriden oluan grafiin, ad Faz Deiimi, x ekseni x=sin(t) ve y ekseni y=sin(t+) olarak adlandrlr. lk eri, krmz dz izgi ile ve ikinci eri yeil kesikli izgi ile gsterilir.
t=0:pi/100:2*pi; x=sin(t); y1=sin(t+.25); y2=sin(t+.5); plot(x,y1,'r-',x,y2,'g--') title('Faz Degisimi') xlabel('x=sin(t)') ylabel('y=sin(t+)')

31

Faz Degisimi 1 0.8 0.6 0.4 0.2 y=sin(t+) 0 -0.2 -0.4 -0.6 -0.8 -1 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 x=sin(t) 0.4 0.6 0.8 1

% Grafik izimi: zgara izgili x = pi/100:pi/100:10*pi; y =sin(x)./x; plot(x,y) grid

32

0.8

0.6

0.4

0.2

-0.2

-0.4

10

15

20

25

30

35

RGB deeri Ksaltmas Ak ad Aklamas [1 1 0] [1 0 1] [0 1 1] [1 0 0] [0 1 0] [0 0 1] [1 1 1] [0 0 0] y m c r g b w k yellow sar

magenta Koyu yeil cyan red green blue white black Ak sar krmz yeil mavi beyaz siyah

33

izgi trleri, Sembol izgi stili -: -. None Dz (default) Kesikli noktal eksen izgi yok

Marker Specifier Description + O * . X 'square' or s 'diamond' or d ^ V > < 'pentagram' or p Plus sign Circle Asterisk Point Cross Square Diamond Upward-pointing triangle Downward-pointing triangle Right-pointing triangle Left-pointing triangle Five-pointed star (pentagram)

34 'hexagram' or h None Six-pointed star (hexagram) No marker (default)

Fonksiyonlarn y=f(x) izdirilmesi, x=(0:1/2000:1); plot(x,cos(tan(pi*x)))

1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

35 9. Dosyaya Yazdrma ve Dosyadan Okuma

Herhangi bir (x, y) deerlerini dosyaya yazmak iin aadaki program (kaydet_xy) rnek verilebilir. Burada, dosyaadi stringdir.

function kaydet_xy(dosyaadi,x,y) % kaydet_xy (x,y) biimindeki verileri kaydetmek iin kullanlr % x ve y vektorleri esit boyutta ise, kaydeder fd=fopen(dosyaadi,'w'); A(1,:)=x; A(2,:)=y; fprintf(fd,'%g %g\n',A); fclose(fd);

(x, y) deerlerini dosyadan okumak iin aadaki program (yukle_xy) rnek verilebilir.

function [x,y]=yukle_xy(dosyaadi) % dosyaadi icindeki (x y) biciminde kaydedilmis verileri yukler, cagirir. fd=fopen(dosyaadi); A=fscanf(fd,'%g %g\n',[2,inf]); x=A(1,:); y=A(2,:); fclose(fd);

OkunanDosyaFormatlar

36 Format Aklamas Veri formatlar MAT MATLAB alma load yeri CSV DAT DLM Virglle ayrlm Formatl metin Snrlandrlm metin TAB Tab ile ayrlm dlmread double hassasiyetli dizi csvread double hassasiyetli dizi Deikenleri dosyaya Komutu kts

importdata double hassasiyetli dizi dlmread double hassasiyetli dizi

Tablolama formatlar XLS Excel sayfas WK1 Lotus 123 wk1read double hassasiyetli dizi ya da hcre dizisi alma xlsread double hassasiyetli dizi ya da hcre dizisi

Bilimsel veri formatlar CDF Common Format FITS Flexible Transport HDF Hierarchical Format Video format AVI Video (film) aviread MATLAB video dosyas Data hdfread hdf ya da hdf-eos dosyas Image fitsread Ana ya da uzant tablo verileri Data cdfread cdf kaytlar hcre dizisi

Resim formatlar TIFF TIFF resmi imread Gerek renklere sahip, gri tonlamal ya da indeks (ya da daha kaliteli) resim dosyalar

37 PNG PNG resmi imread Gerek renklere sahip, gri tonlamal ya da indeks (ya da daha kaliteli) resim dosyas HDF HDF resmi imread Gerek renklere sahip (ya da daha kaliteli) resim dosyas Ses format AU SND WAV NeXT/Sun tr NeXT/Sun tr auread auread Ses verisi ve rnekleme hz (Sample rate) Ses verisi ve rnekleme hz (Sample rate) Ses verisi ve rnekleme hz (Sample rate)

Microsoft wave tr wavread

Daha fazla bilgi iin: help iofun help fileformats

38

39 KAYNAKLAR 1. 2. 3. 4. 5. 6. A NAN, Ders Notlar, 2007. ml01_01_introduction.ppt ml01_02 basics.ppt ml01_03_graphics.ppt ml01_04_programming.ppt ml01_05_ fileio.ppt

40 10. SIMULINK modl SIMULINK yazlm ile dinamik sistemler incelenir. Bunun iin, szkonusu sistem modellenir, simle edilir ve analizi yaplr. Model tabanl programlamann merkezide model bulunur. Simlasyon ile model altrlr ve sonular elde edilir. SIMULINK ile taslaktan dorudan programlama geilebilir. Bir ok endstri dalnda mhendislik problemlerinin zmnde kullanlr: Havaclk, savunma, otomotiv, haberleme, elektronik, tbbi cihazlar tasarm. Simulink, programlama iin blok diyagramlar kullanr. Bunun oluturulmasnda grafik arayzden yararlanlr.

Modelin oluturulmas, 1) Sistemin tanmlanmas Sistemin ayrlabilirse, alt bileenleri ile oluturulmas. 2) Sistemin alt bileenlerinin tanmlanmas a. Parametreler: Sabit deerler b. Durum deikenleri: Zaman ile deien deerler c. Sinyaller: Simlasyon sresince Girdi/kt deerleri 3) Sistemin denklemler yardmyla matematik modelinin kurulmas Analitik, mantk, diferansiyel, diferansiyel fark denklemleri ile.

41 4) SIMULINK blok diyagramnn oluturulmas (Buradan balayarak, SIMULINK ierisinde yaplr.) Sistem ve alt bileenlerin SIMULINK blok diyagramlar ile oluturulmas. 5) Simlasyonun altrlmas Sistem girdilerinin etkileimli deitirilmesi ile simlasyonun farkl deerler iin altrlmas. 6) Simlasyon sonularnn doruluuna baklmas Sistemin zelliklerinin simlasyon sonular ile tanmlanmasnn kontrol.

10.1 Model Dzenleme (Model Editor) Dinamik sistemin SIMULINKde hesaplanmas iki aamadan oluur: Blok diyagram ile sistemin modellenmesi ve kullanc tarafndan belirlenen balang ve biti sreleri iin simlasyonun altrlmas.

SIMULINK ktphane taraycsnn (Library Browser), altrlmas iin, MATLAB komut penceresinde, simulink girilir. Ya da Ara ubuundaki ikonuna baslr. Ya da

MATLAB Start butonu, Simulink ve Library Browser yolu izlenir.

SIMULINKde model dosyas .mdl uzantldr.

SIMULINK Model Penceresi (Model Window),

42 Simulink modeli yer alr. Blok diyagram bu arayzde oluturulur. Dinamik sistemin modellendii blok diyagram esas olarak, bloklar ve izgilerden (sinyaller) oluur. Blok diyagram modellerinin temelleri Geri Beslemeli Kontrol Teorsi ve Sinyal leme (Feedback Control Theory and Signal Processing) mhendislik alanlarna dayanr.

Model grnm ksayollar Modelin grntlenmesi iin kullanlan klavye ksayollar, Yaplan Ksayol (MicrosoftWindows) Yaklatr Uzaklatr Normal Boyut Sola kaydr Saa kaydr Yukarya kaydr Aaya kaydr Seimi ekrana uydur Diyagram ekrana uydur Fare basl kaydr Kaydr/Yaklatr gemiinde geri git Kaydr/Yaklatr gemiinde ileri git Seimi sil Seimi kaydr R V 1 D ya da Ctrl+sol ok G ya da Ctrl+sa ok E ya da Ctrl+yukar ok C ya da Ctrl+aa ok F Boluk tuu P ya da Q basl fare srklenir B ya da stKarakter+Sol ok T ya da stKarakter+Sa ok DEL ya da BACKSPACE Yn oklar

43 Blok dzenleme Ksayollar, Yaplan Bir blou se Birden fazla blou se Baka pencereden blou kopyala Blou kaydr Ksayolu Farenin sol tuu stKarakter+ Farenin sol tuu Blok srklenir Blok srklenir

SIMULINKde sistem blok diyagramlar ile modellenir. Ayrca, sistemler alt sistemlerden oluabilir. Byle bir yap, modelin tmnn daha kolay anlalmasna olanak verir.
odelpenceresindeyalnzcabasitsistemgrnr.Altsistemleristenilincealr. alnzca,balantlaltsistemlerinbalantskorunur. navealtsisteminblokhiyerarileriayrayrgrlebilir. A Y M

Modelin derlenmesi, Model Editor penceresinde, model ak durumda iken Start, Simulation yolu izlenir.

SIMULINKde yeni model oluturma, Library Browser penceresinde ara ubuundan New butonuna baslr ya da File, New, Model yolu izlenir. Bloklarn balanmas iin bir blok seilir. Dier bloa Ctrl basl iken sol tu tklanr.

44 Bylelikle, her iki blok birbirine balanm olur. Ya da bloun zerine gelince iareti art biimine gelir. Sol tu basl tutulur. Dier bloun giri portunda serbest braklr. Blok balantsndan yan balant oluturulmas iin balant hatt zerinde iken Ctrl basl iken sol tu basl tutularak hedef blokta serbest braklr. Ya da Ctrl tuuna baslmakszn srkleme sa tu ile yaplr.

Alt sistemin oluturmas iin Library Browser penceresinde Ports & Subsystems, Subsystems yolu izlenir. Ya da bloklar seilerek, Edit, Create Subsystem yolu izlenir.

45 rnek 1 F(z) = 0, biimdeki aadaki denklem sistemini SIMULINK ile znz. z2 + z1 - 1 = 0 z2 - z1 - 1 = 0

46

Kaynaka,
l_using.pdf,MATLABdocumentation s

You might also like