You are on page 1of 135

MATLAB DERS NOTU

Yrd. Do. Dr. Caner AKUNER

Marmara niversitesi
Teknik Eitim Fakltesi / Elektrik retmenlii

MATLAB
MATLAB; (MATrix LABoratory); ilk defa 1985de C.B
Moler tarafndan matematik ve zellikle de matris esasl
matematik ortamnda kullanlmak zere gelitirilmi
etkileimli bir paket programlama dilidir.
lk srmleri FORTRAN diliyle (Linpack ve Eispack
projeleri ile) hazrlanm olmakla beraber son srmleri
(1999 yl itibariyle 5.3 dr) C dilinde hazrlanmtr.
lk gelitirildii yllarda bilim adamlarnn problemlerinin
zmlerinde matris temelli teknikleri kullanarak
yardmc olmaktayd.

MATLAB
MATLAB
mhendislik
alannda
(hesaplamalarnda); saysal hesaplama, veri
zmleri ve grafik ilemlerinde kullanlabilecek
genel amal bir programdr.
Matlab; Mathworks firmas tarafndan gelitirilen
ve datlan komut temelli bir paket programdr.
(Web adresi: http://www.mathworks.com, E-mail:
info@mathworks.com )

MATLABIN KULLANIM AMACI VE YER


Matlab tm mhendislik alannda, saysal
hesaplamalar, veri zmlenmesi ve grafik
ilemlerinde
kolaylkla
kullanlabilen
bir
programlama dilidir.
FORTRAN ve C dili gibi yksek seviyeden
programlama dilleri ile yaplabilen hesaplamalarn
pek ounu Matlab ile yapmak mmkndr. Buna
karlk Matlabn fonksiyon ktphanesi sayesinde
FORTRAN ve dier programlama dillerine gre
Matlabta daha az sayda komutla zm retmek
mmkndr.

MATLABn kullanm yerleri


Matlabn kullanm yerleri ise aadaki gibi
sralanabilir.
1. Denklem takmlarnn zm, dorusal ve
dorusal olmayan diferansiyel denklemlerinin
zm,
integral
hesab
gibi
saysal
hesaplamalar,
2. Veri zmleme ilemleri,
3. statistiksel hesaplamalar ve zmlemeler,
4. Grafik izimi ve zmlemeler,
5. Bilgisayar destekli denetim sistemi tasarm.

MATLAB MASAST BRMLER


Matlabn masast birimleri;
1. Komut penceresi (Command Window)
2. Bulunulan dizin (Current Directory):
3. Dizin eriimi (Launch Pad):
4. alma Alan (Workspace):
5. Komut Tarihi (Command History):
6. Dizi editr (Array Editr)
7. Demolar (Demos) penceresi
8. Yardm (Help):

Komut penceresi (Command


Window):
Adndan da anlaslaca gibi bu pencere komut
penceresi olup Matlabn en nemli penceresidir.
Bu pencereden Matlab ile ilgili komutlar klavyeden
girer, komutun ilemesini salamak iin de enter
tuuna basarz.
Komutlar girdiimiz satr >> ile baslar ki bu satra
komut satr denir.

Bulunulan dizin
(CurrentDirectory):
Matlab dosyalarnn kaydedildii, yklendii
dosyalarn bulunduu klasr (dizin), varsaylan
klasr olarak belirlemeye yarar.
Aksi belirtilmedike bu klasr C:\Matlab\work
gibi bir klasrdr.

Dizin eriimi (Launch Pad):


Matlab ksayollarnn bulunduu penceredir.
Bu pencereden Matlab uygulamalarna, simulink
penceresine, ara kutularna ve blok setlerine
ulalabilir.
rnein;
Matlab
ile
ilgili
yaplabilecek olan ilemler hakknda bilgi sahibi
olmak iin bu pencereden yararlanabiliriz.

alma Alan (Workspace):


Komut satrndan ya da altrlan bir dosya ya da fonksiyon
ile hafzada oluturulan deikenlerin adlarnn, tiplerinin ve
zelliklerini grntlendii penceredir.
ekilde aklma alan grlmektedir.

Komut Tarihi (Command History):


MATLAB her aldnda, alan oturum iin bir
komut tarihi blm aar. Bu blmlerde oturum
alndan kapanncaya kadar iletilen komut
satrlarnn tm kaydedilir.
Bu komutlara baka oturumlarda ya da iinde
bulunulan oturumda tekrar ulalabilir. Bunun iin
MATLAB komut penceresinde yukar ve aa ok
tularn kullanmak yeterlidir.
Komut tarihi alannda bir komut satrnn fare ile iki
kere tklanmas sonucunda komut penceresinde o
komut iletilir.

Dizi editr (Array Editr) :


Kullanc workspace penceresindeki herhangi
bir deikenin zerinde ift tkladnda ekilde
grlen Array Editor penceresi ile karlar.

Bu pencere yardmyla seilen herhangi bir


deikenin ierii grlebilecei gibi yine ayn
deikenin ierii bu pencere yardmyla
deitirilebilir.
Ancak, baz farkl tipteki deikenlerin ieriini
deitirmek mmkn deildir. Bu durum komut
kullanlarak gerekletirilebilir.

Demolar (Demos) penceresi:


Help mensnden Demos veya Matlab ana
penceresi sol alt kede yer alan Start butonu
kullanlarak Demos komutunun verilmesi ile
Karmza ekilde grlen demos penceresi
gelir.
Kullanc bu pencere yardmyla Matlabin kendi
iinde yer alan hazr uygulamalar grebilir,
kodlara bakabilir veya konu ile ilgili bilgiler
edinebilir.

Yardm (Help):
MATLAB hem yeni balayanlara hem de
uzmanlam olanlara ok pratik bir yardm da
salamaktadr.
zel bir komut hakknda bilgi edinmek iin
ekrandan "help komut ad" komutu girilir;
burada "komut ad" ilgilendiiniz MATLAB
fonksiyonunu temsil eden komutlardr.
Kullanc, belirli bir konuda hangi komutlar
kullanabileceini bilmek isterse "lookfor kavram
ad" komutunu girmesi yeter.

Matlab temel yazm notasyonu:


Matlab programlama dilinde her ey bir dizi
(array) olarak iletilmektedir. Bir dizi, skaler,
vektr, matris veya metinsel dizge (karakter
dizisi) olabilmektedir. Bu gsterimler aadaki
gibi yaplmaktadr.
1. 1x1 dizisi skaler (scaler) veya metin dizgesi
(string) gsterir. rnek olarak; a=5, b=3,14,
c=3e-4, d=3+4*j e=Bir tamsay giriniz gibi

2. Nx1 veya 1xN dizisi bir vektr (vector) gsterir.


rnek olarak; x=[0, 2, 4, 6] ifadesinde x; 1x4
boyutunda bir vektrdr. [ ] keli parantezler
iindeki saylarn arasnda virgl (,) veya en az
bir veya daha fazla boluk olabilir.
3. nxm veya mxn dizisi bir matris (matrix)
gsterir. [ ] keli parantezler iindeki saylarn
arasnda virgl (,) veya en az bir yada daha fazla
boluk olabilir.

MATLABDA KULLANILAN FADELER


(EXPRESSIONS)
Matlab programlama dilinde de dier programlama
dillerinde (C++ , Foltran) olduu gibi bir giri
(input) olarak eitli matematiksel ve metinsel
ifadeler salar. Bu ifadeleri drt ana balk altnda
incelemek mmkndr.
1. Saylar (Numbers)
2. Deikenler (Variables)
3. leler (Operators)
4. Fonksiyonlar (Functions)
Matlab programlama dilinde ifadeler genellikle
deiken=ifade veya basite sadece ifade
formundadr. [4, 7]

Deiskenler:
MATLABda, herhangi bir tip tanmlamas veya boyut
ifadesine gerek yoktur.
MATLAB, yeni bir deiken ismi ile karlatnda,
otomatik olarak ans isminde bir deiken oluturur ve
uygun bir bellek miktar ayrr.
Eer deiken zaten varsa, MATLAB gerekli bir bellek
ayrdnda ierii deiir. rnein, ani_akim=5
ani_akim diye isimlendirilen 1x1 matrisi olutur ve 5i
ykle.
Deiken isimleri; bir harften, saydan veya alt izgiden
oluur. MATLAB, sadece deiken isminin ilk 31
karakterini kullanr. MATLAB, byk ve kk harfe
duyarldr, A ve a deikenleri ayn deildir.

Saylar:
MATLABda saylar yaygn olarak kullanlan onluk
tabanda ifade edilirler.
Bunun yan sra onluk tabanda stel olarak veya i
veya J olarak kompleks say biimlerinde de ifade
edilebilirler. rnek olarak, 3, -99, 0.0001,
9.6397238, 1.60210e-20, 6.02252e23, 1*i, 3.14159*j, 3e5*i, saylar gsterilebilir.
Saylarn duyarlln belirtmek iin kullanlan eps
says onluk tabanda 16 basamakl olarak
gsterilmekte ve yaklak olarak 10-308 den 10+308 e
kadar olan tm saylar kapsayabilmektedir.

Operatorler(saysal islemciler):
Matematiksel ifadeleri oluturmak iin operatrler
ve
nceden
tanmlanm
sembolleri
kullanabilirsiniz. Bir deyim aada olduu gibi
deer atanarak belli bir deer iinde saklanabilir.
>> x=a + b
Bu ifadede a ve b nin topland ve x deikeni
iinde sakland belirtilmektedir. Bu atama
ilemini; a iindeki bir deerin b iindeki bir deerle
toplanarak bu toplamn x deikenine atanaca
seklinde yorumlamak mmkndr. Eer bir atama
ilemi bu ekilde yorumlanacak olursa, aada
verilen bir MATLAB bildirimi de geerli olur.

Ack bir ekilde bu bildirim geerli bir cebirsel


bildirim olamaz, fakat MATLAB iindeki 1in say
iindeki bir deere ilave edileceini ve sonucun
tekrar say iinde saklanacan belirtir. Sonuta say
iindeki deerin her seferinde 1 artacann
belirtilmesine denktir.
Belli bir deiken tanmlamadan girilen deyimlerin
icrasnda ans isimli bir deiken iinde otomatik
olarak saklanr. Her defasnda ans iindeki deer
bir ncekinin yerini alr. Burada ans ingilizce
cevap anlamna gelen answer kelimesinin
ksaltlm seklidir.
Matrislerle yaplan ilemlerde blme ilemi iin iki
farkl sembol kullanlmaktadr. Bunun yannda eer
saylar skaler ise iki blme ileminin sonucu da ayn
deeri gsterecektir. rnein 5/2 ile 2\5 ifadelerinin
sonular ayn olup 2.5dir.

Fonksiyonlar:
MATLABn ok gl ve ok kapsaml bir fonksiyon yaps vardr.
MATLABda baz fonksiyonlar daha nceden yerletirilmi bazlar
ise sonradan dardan yerletirilmi M-dosyalarndan oluan
MATLAB ktphanelerinde tanmlanmlardr. Bunun yannda zel
uygulamalar iin kullanclarn kendi fonksiyonlarn yazarak kendi
ktphanelerini oluturmas mmkndr. Kullanc tanml
fonksiyonlar da dier fonksiyonlar gibi kullanlabilirler.
MATLABda mevcut analitik fonksiyonlar genel olarak aadaki
kategorilere ayrabiliriz.
1. Temel matematiksel fonksiyonlar
2. zel fonksiyonlar
3. Temel matrisler ve matris ilemleri
4. Matrisleri arpanlarna ayrma
5. Veri analizleri
6. Polinomlar
7. Diferansiyel denklem zmleri

MATLABDA KULLANILAN ZEL


DEERLER VE SABTLER
Matlab programlama dilinde, matematikte kullanlan baz
zel deerler ve sabitler tanmlanmtr. Bunlar;
1. ans; bir ilemin son cevab (answer) veya bir ifadenin
deeridir.
2. pi; pi sabitidir. =3.14159265.
3. i veya j; imajiner birimdir. i2 =1
4. eps (epsilon yani ); kayan nokta bal doruluu
(relative precision), 2e-52
5. realmin; en kk kayan nokta (floating point) says 2e1022

6. realmax; en byk kayan nokta (floating point) says (2)e1024 yani 2e1024 den daha kk
7. inf, sonsuz (infinity) yani realmaxdan daha byk bir say
8. NaN; say deil (Not-a-Number)

FORMAT KOMUTU
Matlab programlama dili; deerlerin saysal
formatn format komutu ile kontrol
etmektedir. Bu komut saylarn ka hane yani
ka ondalkl veya dier bir deyile ka dijit
gsterileceini
belirler.
Matlabde
tm
hesaplamalar,
double
precision
da
yaplmaktadr. Temel format komutlar aada
aklanmtr.

1.
2.
3.
4.
5.
6.

format; Varsaylan format, format short ile ayndr.


Format short; 5 rakaml sabit nokta skala format
Format long; 15 rakaml sabit nokta skala format
Format short e; 5 rakaml kayan nokta format
Format long e; 15 rakaml kayan nokta format
Format short g; 5 rakaml en uygun sabit veya kayan nokta
format
7. Format long g; 15 rakaml en uygun sabit veya kayan nokta
format
8. Format bank; dolar ve sent iin sabit format (iki ondalkl
gsterimler iin kullanlabilmektedir.)
9. Format rat; en kk tam say oran yaklamyla sayy
ondalkl olarak gsterir.
10. Format compact; sonu gsteriminde ekstra satr boluklarn
kaldrr.
11. Format loose; ekstra satr boluklarnn tekrar ekrana getirir.

TRGONOMETRK VE HPERBOLK
FONKSYONLAR
Matlabda trigonometrik fonksiyonlarda derece yerine
radyan kullanlmaktadr. Ksaca 2=360 veya =180
derecedir. rnein; derece cinsinden sin(30)=0,5 tir.
Oysa bu ilemin sonucu matlabda
>>sin(30)
ans=
-0.99 eklinde verir.
Genel kullanm derece cinsinden olduundan ya radyan
(pi sabitini kullanarak) cinsinden belirtmemiz ya da
/180 ile arpmamz gerekmektedir. Programlama
blmnde rnein direkt girilen saynn derece olarak
alglanp deerini veren fonksiyonda radyan cinsinden
ay /180 ile arpmak daha pratik olacaktr.

KARMAIK (KOMPLEKS) SAYI LEMLER


Bilindii zere kompleks saylarn tipik genel format a+bi, a+bj veya a+ib,
a+jb eklindedir. Matlab dilinde bu notasyon a+bi, a+bj veya a+i*b, a+j*b
eklinde ifade edilmektedir. Bu gsterim ekli ayn zamanda Kartezyen
gsterim olarak da adlandrlmaktadr. Saylarda i ya da j kullanm
arasnda fark yoktur her iki durumda ayn durumu ifade eder. rnek
olarak; 3-4*j ifadesini ele alrsak;
>>3-4j
Ans=
3.0000 4.0000i
>>3-j4
??? Undefined function or variable i3.
>>3-j*4
Ans=
3.0000 4.0000i
ifadeleri gzlemlenir.

Temel kompleks say ilemleri aada


aklanmtr.
1. abs; kompleks saynn mutlak deerini verir.
2. angle; reel ve imajinel (sanal) bileen
arasndaki ay verir.
3. conj; kompleks saynn eleniini verir.
4. imag; kompleks imajinel ksm verir.
5. real; kompleks reel ksm verir.
6. isreal; reel dizi iin doru verir.

LOGARTMK VE STEL FONKSYONLAR


Matlab da matematik den bildiimiz doal logaritma
gsterimi ln olarak deil dorudan log olarak
gsterilmektedir. Yine bildiimiz gibi lnx=logex
demektir. Genel yazm format bir x deeri iin lnx,
matlabda log(x) eklindedir.
Matlab da e sabit says e=2.71828 veya ksaca e=2.71
olarak tanmlanmtr. Bunun yerine exp(1) fonksiyonu
kullanlabilir. Biliyoruz ki; lne=1dir ve bu matlabda
aadaki gibidir.
>>exp(1)
Ans=
2.7183
gibi gzlemlenir.

Matlabda normal logaritma on (10) tabanndadr ve bir x deeri iin


genel yazm format log10(x) eklindedir. Ayrca matlab, 2
tabannda logaritma iinde hazr bir fonksiyon salamaktadr. Bu
fonksiyonda bir x deeri iin genel yazm format log2(x)
eklindedir. Doal logaritmada da olduu gibi negatif saylarn
logaritmalar reel say deildir ve sfr iin deeri sonsuzdur. 0 ile 1
arasndaki (0 ve 1 dahil olmamak zere) deerleri negatiftir. [4, 7]
Log1 iin;
>>log10(1)
Ans=
0
Log10 iin;
>>log10(10)
Ans=
Log7 iin;
>>log10(7)
Ans=
1.9459
eklinde gzlemlenir.

Bu konu altnda ok kullanlan dier bir komut


ise karekk alma sqrt fonksiyonudur. Genel
yazm format bir x deeri iin sqrt(x)
eklindedir. rnek olarak;
>>sqrt(2),sqrt(23)
Ans=
1.4142
Ans=
4.7958
eklinde gzlemlenir.
e ifadesi ayrca bilimsel notasyonlar da on (10)
saysnn stelini belirtmek iin de kullanlr.
rnein; 380e+003=380*103 demektir.

Temel stel ve logaritmik fonksiyonlar aadaki


gibidir.
1. Log10(x); 10 tabannda logaritma (log10x)
ilemini verir.
2. Log2(x); 2 tabannda logaritma (log2x)
ilemini verir.
3. Log(x); doal logaritma ilemini verir.
4. Exp(x); stel (ex) ilemini verir.
5. Sqrt(x); karekk ilemini verir.
6. X^n; s alma (xn, n herhangi bir say)

YUVARLAMA LEMLER
Matlab programlama dilinde istatiksel ve matematiksel baz
uygulamalarda yuvarlatma ilemleri de kullanlmaktadr. Bu
ilemleri yapan fonksiyonlar aada verilmitir.
1. Fix; sfra doru yuvarlatma ilemi yapar.
2. Floor; - sonsuza doru en yakn tamsayya yuvarlama yapar.
3. Ceil; + sonsuza doru en yakn tamsayya yuvarlama yapar.
4. Round; en yakn tamsayya yuvarlama yapar.
Yuvarlama komutlar ile rnek olarak;
>>fix(-13.2)
ans=
-13
>>flor(-13.2)
ans=
-14
gibi gzlemlenir.

KALAN BULMA LEMLER


Matlabda blme ilemi sonucu kalan bulma ilemi
iki ekilde yaplmaktadr. Bunlardan birincisi;
mod yani modl (blme ileminde iaretli kalan)
dieri ise rem blme ileminde kalan ilemidir.
rnek olarak;
>>rem(15,2)
ans=
1
>>mod(15,2)
ans=
1
eklinde gzlemlenir.

TEMEL STATSLK LEMLER


Matlab dilinde istatiksel ilemlerin gerekletirilmesi iin
komutlar atanmtr. Bu komutlar aadaki gibi verilmitir.
1. Max; verilerin en byk deerini bulur.
2. Min; verilerin en kk deerini bulur.
3. Length; verilerin saysn bulur.
4. Sum; verilerin toplamn hesaplar.
5. Prod; verilerin arpmn hesaplar.
6. Median; verilerin ortanca deerini hesaplar.
7. Std; verilerin standart sapmasn hesaplar.
8. Mean; verilerin ortalama deerini (aritmetik ortalama)
hesaplar.
9. Geomean; verilerin geometrik ortalamasn hesaplar.
10. Harmmean; verilerin harmonik ortalamasn hesaplar.
11. Sort; verileri azalan srada hesaplar.

Temel istatiksel ilemler komutlar iin rnek verilecek


olursak;
>>d=[0.5 1 0.34 2.5 1.14 3.0 3.4 5 6.5 4.31 5.5] %%%veri
tanmlanr.
>>max(d)
Ans=
6.5000
>>min(d)
Ans=
0.3400
>>length(d)
Ans=
12
>>sum(d)
35.6900
eklinde gzlemlenir.

MATLABDA BULUNAN KOMUT


ARETLER
Matlab programlama dilinde gerek komut
penceresine komutlar girilirken gerekse m-file
dosyalar oluturulurken kullanlan belli bal
iaretler vardr. Bu iaretler aada sra ile
aklanmtr. Bunlar;

Keli parantezler [ ] , vektrleri ve matrisleri


biimlendirmek iin kullanlr. rnein [6.9,9.64, sqrt(1) ] elemanlar virgllerle (veya boluklarla) ayrlm
elemanl bir vektrdr. Buna karlk [11 12 13;21 22 23],
iki satr ve stundan ibaret 2x3 lk bir matrisi
gsterir.
Burada
noktal
virgl
;matris
oluturulmasnda bir satr sona erdirip bunu izleyen
satrn olumasn salar. Bylece mxn boyutundaki bir
matrisi kolayca oluturmak mmkndr. Vektr ve
matrisler [ ] keli parantez iinde gsterilir. rnein
bir A matrisinin satr says B matrisinin satr saysna
eit ve Bnin satr says ve Ann stun says art Bnin
stun says Cnin stun saysna eit ise [A B; C]
biiminde yeni bir matris oluturmakta mmkndr.
A=[ ]
Biiminde bir bildirim bo bir matrisi A deikenine atar.

Normal parantez ( ); MATLAB iinde eitli


amalarla eitli yerlerde kullanlr. Olaan yoldan;
aritmetik deyimlerin stnln belirtmek ve
fonksiyon argmanlarn (arguments) kapatmak iin
kullanlr. Daha genel anlamda da vektr ve
matrislerin indislerini kapatmak iin kullanlr. Eer
X ve V bir vektr ise X(V) de bir vektrdr ve
[ X( V(1) ), X( V(2) ) , . . . . . , X( V(N) ) ]
eklinde gsterilir.
Vnin elemanlar en yakn tamsayya yuvarlatlarak
indisler olarak kullanlr. Eer bu tr bir indisin
deeri 1 den kk veya Xin boyutundan kk
olacak olursa hata ortaya kar.

Kesir ayrma iareti; 314/100, 3.14 ve .314e1


ayn anlama gelir. Nokta iareti ayn zamanda
eleman elemana arpma ve blme ileminde de
kullanlr. Kullanl biimleri; .*, .^, ./, .\ veya
.. eklindedir. rnein, C=A./B elemanlar
c(i,j)=a(i,j)/b(i,j) olan bir matristir.
nokta ; Bir tek satra smayan ifadelerin
bir alttaki satrda devam ettiini gsterir.
Virgl , ;
Matris indislerini ve fonksiyon
argmanlarn ayrmak iin kullanlr. Virgl
iareti ayn zamanda bir satra birden fazla
bildirim yazlmas halinde bildirim komutlarn
ayrmak iin de kullanlr.

Noktal virgl; Noktal virgl bir bildirimde


elde edilen sonularn program icras sonunda
ekranda
grntlenmesini
nlemek
iin
kullanlr. Ayrca keli parantezler iinde
matrislere ait satrlar sona erdirmek iin de
kullanlr.
Yzde iareti % ; Yzde iareti aklama
satrlar iin kullanlr. Banda % iareti
bulunan satrlar icra edilmez. Bir izgi zerinde
bulunan % iareti, izginin mantksal bir sonu
olduunu gsterir.

nlem iareti ! ; ! iaretini izleyen herhangi bir yaz


DOS komutu ilemi grr. Bylece MATLAB iinde DOS
komutlarn altrma imkan salanr.
ki nokta st ste : ; Stun iareti; indislerde, FOR
iterasyonlarnda
ve
muhtemelen
her
yerde
kullanlabilinir. Belli bal kullanm biimleri aada
olduu gibidir.
J:K, J den balayarak 1 er 1 er K ya kadar artan bir dizi
oluturur. Ve [ J, J+1 ... , K] ayn anlama gelir.
J:K da J>K ise bo bir vektr sonulandrr.
J:I:K J ile balayan I aralnda artarak K ya kadar giden
bir dizi oluturur ve
[ J, J+1, J+2I, . . ., K]
ifadesi ile ayn anlama gelir.

Trnak iareti ; Trnak iareti matrislerin


transpozesini almay salar. X , X matrisinin
karmak elenik transpozesini ve X. se elenik
olmayan transpozesini sonulandrr. Ayrca
ANY TEXT eklindeki aktarm ilemlerinde
karakterler iin elemanlar ASCII kodlarnda bir
vektr gstermek iin kullanlr.

DZLER
Matlabn en temel ilem eleman ve veri tipi
dizilerdir. (arrays). Dizi, en genel matematiksel
tanm ile nmerik ve metinsel deerler
topluluudur. Matlabda her ey bir dizi olarak ele
alndn daha nceden bahsetmitik. Matlab da
tip dizi ifadesi bulunmaktadr.Bunlar;
1. Reel ile kompleks saylar ifade eden ift kat veya
nmerik diziler (double or numeric array).
2. Nesneleri ve metinsel dizgileri ifade eden hcre
diziler (cell array)
3. Genelletirme ve eitli tipleri ifade eden nboyutlu dizilerdir (n-dimensional array).

VEKTR LEMLER
Vektrler; mx1 yada 1xn boyutlu dizilerdir. Mx1 boyutlu diziye
stun vektr denilir ve eleman says m tanedir. 1xn
boyutlu diziye ise satr vektr denir. Matlab da vektrleri
oluturmann yolu vardr.Bunlar ;
1. Daha nceden bahsedildii gibi keli parantez
kullanma
(direkt
olarak);
Vektr
elemanlar
birbirlerini, sabit miktarda artan yada azalan bir deerle
takip ederler. ki nokta st ste (:) ileci (colon operator) bu
tr ilem iin en temel yntemdir. Genel olarak format;
f=ilk deer : deiim miktar : son deer
gibidir. Deiim miktar belirtilmezse dizi ilk deerden son
deere birer olarak artarak oluturulur. Operatorden nce
yada sonra grnt netlii iin boluk verilebilir.

Eit aralkl elemanlar kullanarak (:) iareti yada


linspce, logspace komutlaryla); bu durumda balang
ve biti noktalarnda ka nokta olacan kullanc belirler.
Linspace komutu genel format;
linscape(x1, x2, n) eklindedir. x1, araln ilk deeri , x2, ise
araln son deeridir. N ise araln ilk ve son deeri
arasndaki nokta saysdr. Eer n belirtilmezse iki nokta aras
lineer olarak 100 eit paraya ayrlr ve lineer aralkl bir
vektr oluturulmu olur. Bu komut zellikle eri izimlerinde
ve eri uydurma uygulamalarnda kullanlr. Logspace ise
linspace ile ayn notasyona sahip ancak lineer olmayan
(logaritmik)
vektrlerin
oluturulmasnda
kullanlan
x1
komuttur. Bu komutta n belirtilmezse 10 ve 10x2 aras
logaritmik olarak 50 satr vektr retilir.

Utility fonksiyonlar kullanarak (rand, randn, ones,


zeros); zel komutlar kullanarak bir takm zel diziler
oluturmak mmkndr. Byle durumlar da kullanlan
fonksiyonlar utility fonksiyonlardr. rand fonksiyonu;
niform olarak dalm rastgele sayl vektrler oluturmak
iin kullanlr. Genel yazm format;
f=rand(m,n) eklindedir. Burada m ya da n deerlerinden
birisinin 1 olmas gerekmektedir. Sadece rand komutu ile 0
ile 1 arasnda rastgele saylar retmek mmkndr.
Ones fonksiyonu; elemanlar sadece 1(bir)lerden oluan ,
zeros ise ; elamanlar sadece sfrlardan oluan vektrler
retmek mmkndr. Genel yazm format;
f=ones(m,n) , f=zeros(m,n) eklindedir. ones komutu ile k
herhangi bir say olmak zere bir k*ones fonksiyonu
oluturulduu takdirde btn elemanlar k deerinden
oluan vektr retmek mmkndr.

MATRS LEMLER
Matlabda matris oluturmak iin vektrlerde
olduu gibi temel yol vardr. Bunlar;
1. Keli
parantez
kullanma
(direkt
olarak);
matris
elemanlar
kullanc
tarafndan keli parantez ierisinde satr
elemanlar arasnda boluk stnlar arasnda
ise noktal virgl ile olarak girilebilir. rnein;
>>a=[1 2 3 ; 4 5 6 ; 7 8 9] eklinde girilir. Bu
durumda a matrisi 3x3 boyutunda matristir.

2. Utility fonksiyonlar kullanarak (rand, randn, ones,


zeros, eye); zel komutlar kullanarak bir takm zel
matrisler oluturmak mmkndr. Byle durumlar da
kullanlan fonksiyonlar utility fonksiyonlardr. rand
fonksiyonu; niform olarak dalm rastgele sayl matrisler
oluturmak iin kullanlr. Genel yazm format;
f=rand(m,n) eklindedir. Burada m ya da n deerlerinden
birisinin 1 olmas gerekmektedir. Sadece rand komutu ile 0 ile
1 arasnda rastgele saylar retmek mmkndr.
ones fonksiyonu; elemanlar sadece 1(bir)lerden oluan ,
zeros ise ; elamanlar sadece sfrlardan oluan matrisler
retmek mmkndr. Genel yazm format;
f=ones(m,n) , f=zeros(m,n) eklindedir. Burada m ve n
deerleri matrise ait satr ve stun saylarn vermektedir.
ones komutu ile k herhangi bir say olmak zere bir
k*ones fonksiyonu oluturulduu takdirde btn elemanlar
k deerinden oluan vektr retmek mmkndr.

eye
fonksiyonu
ile
birim
matrisler
oluturulabilir. Bilindii gibi birim matris birinci
diyagoneli bir (1) olan dier tm elemanlar sfr
(0) olan matristir. Genelde I ile ifade edilir.
Genel yazm format ;
F=eye(m,n) yada f=eye([m,n] eklindedir.
Burada m ve n deerleri daha nceden de
belirtildii gibi matrise ait satr ve stun
saylarn temsil etmektedir. eye(t) ise boyutu
txt olan kare matris retir. Birim matris genelde
kare matris olarak kullanlr.

3. zel matrisler oluturma(pascal, magic,


hilbert);
matlabda tanmlanm baz zel
matrisler vardr. Bunlardan pascal; pascal
geninin elemanlarndan oluan matrisler retmek
iin kullanlr. Magic; kxk boyutunda 1den kya
kadar saylardan oluan (k=2 hari) eit satr, stun
ve diagonal toplamna sahip bir kare matris
oluturmak iin kullanlr. Hilbert ise; kxk
boyutunda her bir eleman 1/(i+j-1) ile belirlenen
hilbert matrisi olarak adlandrlan kare matris
oluturmak iin kullanlr. Burada matrisin genel
eleman hilb(ij) olup i satr j ise stun
numarasn belirtmektedir.

TEMEL VEKTR VE MATRS LEMLER


Matlabda vektr ve matris ilemlerini gerekletirmek iin
komut iaretleri vardr. Bunlar;
1. Toplama (+), X+Y iki matrisin toplamn alr. Bu toplamn
gereklenebilmesi iin matrislerin ayn boyutlarda olmas
gerekir. Yalnzca matrislerden birisi skaler olduunda
toplam gereklenebilir. Bir skaler herhangi bir eye eklenir.
2. karma (-); X-Y X matrisinden Y matrisini karr.
Burada da toplama ilemindeki benzer koullarn
gereklenmesi gerekir.
3. Matrisyel arpm ilemcisi; X*Y X ve Y matrislerinin
matris arpmn gsterir. Herhangi bir skaler (1x1 elemanl
matris) her ey ile arplabilinir. Aksi takdirde X matrisinin
stun says Y matrisinin satr saysna eit olmaldr.

4.

Eleman elemana arpm ilemcisi; X.*Y eleman


elemana arpma ilemini gsterir. Birisi skaler olmadka,
X ve Y matrislerinin eleman saylar eit olmaldr. Yalnz
bir skaler her ey ile arplabilinir.
5.
Matrisyel soldan blme ilemcisi (\); A\B B
matrisinin A matrisine blmn gsterir ki bu da hemen
hemen inv(A)*B ilemi ile ayndr. Yalnz hesaplama
biimleri farkldr. Eer A NxN elemanl bir matris ve B de
N elemanl Stun vektr ise X=A\B ifadesi Gaussian
eliminasyonu yoluyla hesaplanan A*X=B denklemi iin bir
zmdr. Eer A matrisi kt bir ekilde leklendirilmi
veya hemen hemen tekil ise bir uyar mesaj alnr. A\eye(A)
ifadesi Ann tersini sonulandrr. Eer A mxn olacak
ekilde m x n elemanl bir matris ve B de m elemanl stun
vektr ise X=A\B en kk kareler cinsinden altnda ve
stnde saptanan sistem denklemlerinin, A*X=B bir
zmdr.

6.Skalar veya eleman elemana soldan blme ilemcisi


(.\); A.\B deyimi; elemanlar B( i, J)\A(i, J) olan bir
matrisdir. Yalnz burada A ve B nin ayn boyutta olmas
gerekir.
7.Matrisyel sa blme ilemcisi (/) ; B/A B matrisinin A
matrisine blmn gsterir ki bu da hemen hemen B*inv(A)
ile ayndr. Yalnz hesaplama yntemleri bakmndan farkllk
gsterir. Dier bir biimi ile B/A=(A\B) dr
8.Eleman elemana blme ilemcisi (./); B./A eleman
elemana blme ilemini gsterir. Bu durumda A ve B
matrisinin ayn boyutta olmas gerekir. Yalnz birini skalar
olmas halinde buna gerek yoktur. nk bir skalar her ey ile
blnebilir. 3./A ile 3 ./A ayn ilem olmadna dikkat etmek
gerekir. nk birinci ifadede nokta 3 rakamnn kesir
iaretini gsterdiinden matris blme ilemini yaptrr ve
ikinci ifade de ise nokta eleman elemana blme ilemini iaret
eder.

VEKTR VE MATRS BLG ALMA


KOMUTLARI
Matlab programnda baz durumlarda oluturulmu olan
vektr ve matrislerden programn iletilmesi iin bilgiler
almak gerekebilir. Matlabda yerleik baz matrisler ilgili
fonksiyonlar ile bilgi alabiliriz. Bunlar;
1. Size(f); bu komut bir vektrn 1xn veya nx1 olarak ka n
boyutunda olduunu verir. Bu komutun ilk deeri satr, son
deeri ise stun bilgisini verir.
2. Length(f); bu komut vektrn uzunluunu dier bir
deyile vektrn ka elemandan olutuunu gsterir. Bu
komut yerine max(size(x)) komutu da kullanlabilir.
3. F(n); komutu bir vektrn n. elemann gsterir.
rnein; f(5), f vektrnn 5. elemann verir.
4. F(1:5); komutu bir vektrn ilk be elemann gsterir.

5. F(length(f)); bir vektrn son elemann verir.


6. Deikenlerin ve matrislerin durumu (who,
whos, what, size); Kullanc tarafndan program
iinde tanmlanan deikenlerin ve matrislerin
durumunu gzden geirmek iin who, whos, what, size
gibi kullanl komutlar bulunmaktadr. Who komutu
kullanc tarafndan tanmlanan deikenlerin listesini
grntler. whos komutu bu deikenleri boyutlar ile
birlikte ve bu deikenlerin sfr olmayan sanal ksmlar
olup olmadn da grntler. what komutu kullanc
diskinin halihazr dizininde mevcut M-dosyalar listesini
verir.
7. Matrisin transpozesi (); matlabda tanmlanm bir
matrisin transpozesi rnein A matrisi iin, A ile
bulunur. Transpoze operatr ile matrisin satr ve
stunlar yer deitirilir.

8. Matrisin determinant (det(A)); bir


matrisin determinat det(A) fonksiyonu ile
bulunur. Burada tanml matris kare matris
olmaldr.
>>detA=det(A)
detA=
-224
9. Matrisin tersi (inv(A)); bir matrisin tersi
inv(A) fonksiyonu ile bulunur. Matris, tekil
(singular) ve kare (square) matris olmaldr.
Kare matris olmayan matrislerin tersini almak
iin pinv komutu kullanlr.

10. Matrisin rank (rank(A)); bir matrisin rank rank(A)


fonksiyonu ile bulunur.
>>rankA=rank(A)
rankA=
3
11. Matrisin diagonel elemanlar (diag(A)); bir matrisin
ana diagonal elemanlar diag(A) fonksiyonlar ile bulunur.
>>ana-diag=diag(A)
ana_diag=
1
5
1
12. Matrisin z deerleri ve z vektrleri (eig(A));
matrisin z deerleri ve z vektrleri eig(A) fonksiyonu ile
bulunur. Hem z deerleri hem de z vektrleri bulmak iin
ise [v,d]=eig(A) fonksiyonu kullanlr.

MATLABDA PROGRAMLARIN
HAZIRLANMASI
Matlabta algoritmalar bilinen programlar
hazrlamak ve altrmak ok kolaydr. Ayrca
FORTRAN, BASIC, C ve PASCAL gibi
programlama dillerinde hazrlanm programlar
MATLAB iin uyarlamak da mmkndr. Bu
durumda ounlukla ayn program iin daha az
sayda satr kullanmak yeterlidir. Matlabta
oluturulan M-dosya paketlerini kullanmak
suretiyle programlamay ok ksa tutmak
mmkndr.

M- DOSYALARI
Matlabn kendisi byk oranda herhangi bir program iinde
arlp kullanlabilen altprogramlardan ibaret hazr Mdosyalarndan olumutur. Matlabta M-dosyalar okunabilir
ve yazlabilir TEXT dosyalardr. Bu nedenle Matlaba ait Mdosyalarnn yanllkla deitirilmemesi gerekir. Aksi
takdirde orijinal grevini yerine getiremez. Bu nedenle de bir
programc kendi hazrlad M-dosyalarn kendine ait bir alt
dizinde saklanmas tavsiye olunur.
Matlabta altrlmak zere programlarn yazlp sakland
M-dosyalar iki biimde hazrlanabilir. Birincisi, uzun
komutlar dizisi biiminde yazlan dz yaz (script) Mdosyalardr. kincisi ise Matlabn kendi M-dosyalarna
benzer biimde hazrlanan fonksiyon dosyalar herhangi bir
ana program iinde bir altprogram gibi kullanlabilirler.

Dz yaz dosyalar:
Bir dizi komutlardan ibaret dz yaz dosyalar, Matlab
iinde arldnda dosya iinde bulunan komutlar
otomatik olarak altrlr. Bylece her seferinde
klavyeden komutlar tekrar girmeye gerek kalmaz. Bir
dz yaz dosyas iinde yer alan bildirimler Matlab
alma ortamnda yer alan verileri iletir ve
sonulandrr.
Dz yaz dosyalar, Matlab ortamnda etkileimli biimde
allmayacak uzun komutlar dizisi gerektiren
analizlerin icras, problemlerin zm veya tasarm
yaplmasnda kullanl olmaktadr.
Dz yaz dosyalarnn yazm iin Matlabn dahili
editr kullanlabilir. Bu editr altrmak iin Matlab
komut satrnda edit komutunu yazmak gerekir.

Fonksiyon dosyalar:
Fonksiyon dosyalar ilk satrda function kelimesi
bulunan .m uzantl dosyalardr. Matlab iinde
bulunan tm M-dosyalar fonksiyon biiminde olup
bunlar hazrlanan herhangi bir program iin
altprogram grevi grrler. Dier bir deyile Pascal
ve benzeri programlama dillerinde kullanlan
altprogramlar (subroutines) gibi ilem grrler.
Fonksiyon dosyalarnda yer alan tm deikenler,
dz yaz dosyalarnda olduu gibi Matlab alma
ortamnda grntlenemez ve gerektiinde baka
bir bildirimde kullanlamazlar.

FONKSYON FONKSYONLARI
Matlabta normal fonksiyon dosyalar yannda
kullanc tarafndan hazrlanan fonksiyonlar
zmek amac ile kullanlan fonksiyonlar da
mevcuttur. Bunlar fonksiyonlar aran ve zen
fonksiyonlar olduundan fonksiyon fonksiyonu
adn alr. Dier taraftan dorusal olmayan saysal
hesaplama yntemleri olarak da bilinirler.
Matlab iinde yer alan fonksiyon fonksiyonlar ve
kullanm amalar aada verilmitir. Ayrca
OPTIM toolbox iinde zel fonksiyon fonksiyonlar
da mevcuttur. Bunlar;

1.
2.
3.
4.

fmin; Tek deikenli bir fonksiyonu sadeletirir.


fmins; Birka deikenli bir fonksiyonu sadeletirir.
fplot; Fonksiyonun grafiini izer.
fzero; Tek deikenli bir fonksiyonu sfr yapan deeri
bulur.
5. ode23; Diferansiyel denklemleri zer (dk derece
yntemi)
6. ode45; Diferansiyel denklemleri zer (yksek derece
yntemi)
7. quad; Saysal integral zm yntemi (dk derece
yntemi)
8. quad8; Saysal integral zm yntemi (yksek
derece yntemi)
9. feval; bir fonksiyonun verilen bir deerini bulur.
Dizge ile tanmlanm fonksiyonu iletir.
10. Ezplot; matematiksel ifadelerin kolaylatrlm
izimini yapar.

M-DOSYALARININ HATA GSTERM


Matlabda
program
iletilmesi
srasnda
oluacak durum yada hatalarn gsterimi iin
baz fonksiyonlar vardr. Bunlar;
1. disp; bu fonksiyon, program ileyiinde yada
veri girii hata uygulamalarnda genel olarak
metinsel dizgi olarak grev yapar. Gsterilecek
olan metinsel dizgi trnak iareti ierisinde
belirtilir. Genel yazm disp(metinsel dizge)
eklindedir.

2. input; kullanc tarafndan veri girii istenildiinde kullanlr.


Genel
yazm
kullanc_giris=input(prompt)
yada
kullanc_giris=input(prompt,s) eklindedir. Burada kullanlan
s taks giri olarak bir karakter dizge girii yani genelde metinsel
bir ifade gerektiinde kullanlr. prompt, geerli alma
ortamnda deikenler kullanarak ileme konacak olan herhangi bir
ifade olabilir. Kullancnn klavyeden yapaca bir giri iin bekler ve
girilen deeri kullanc_giris deikenine atar. rnein;
>>x=input(kaynak gerilimini giriniz);
kaynak gerilimini giriniz
3. error; display fonksiyonundan tek fark error satr iermesidir.
Genel yazm error(metinsel dizge) eklindedir. rnein;
Error(Faz as 0 ile 6.28 radyan arasnda olmaldr)
4. warning; matlabda ok eitli uygulama alanlar bulan bu komut
warning satr iermektedir. Genel yazm warning(metinsel dizge)
eklindedir. rnein;
warning(Faz as 0 ile 6.28 radyan arasnda olmaldr)

KARAKTER DZGE (STRING) LEMLER


Matlab programlama dilinde, karakter dizgileri veya
sadece dizge (string), iki trnak arasnda ifade edilen
gerekte ASCII kod tablosunda saysal kodlarla
belirtilen ilk 127 karakterden oluan dizilerdir
(character array). Dizgenin uzunluu, dizgedeki
karakter saysdr. ASCII karakterleri 32 ile 127
arasnda olanlar yani 0:255 blgesi tamsay ve
baslabilir karakterlerdir. rnein;
>>yb=bara admintans matrisi
>>yb
yb=
bara admintans matrisi

double fonksiyonunu kullanarak karakter veri


tipinde double veri tipine dntrlebilir.
Tam tersi ASCII karl verilen bir dizinin
karakter karln bulmak iin ise char
komutu kullanlmaktadr.
>>char(yb)
ans=
bara admintans matrisi
Birden fazla karakter dizgisini bir arada
gstermek iin dizgileri vektrler gibi bir arada
kullanmak mmkndr. Bu ilem iin strcat
komutu kullanlmaktadr.

MATRS LELER
Matlabda en temel olarak 3 eit ile vardr.
Bunlar;
1. Aritmetik ileler
2. likisel ileler
3. Mantksal ileler
Bunlardan aritmetik ilelerden daha nce
matris ilemleri srasnda bahsetmitik. Bundan
dolaydr ki dier eit ilelerden bahsedeceiz.

likisel ileler:
Matlab diziler ve matrisler arasnda karlatrma
yapmak iin 6 tane ilikisel ilece sahiptir. nemli olan
bir nokta = ve == ileleridir. = ileci, deiken
atama (assignment) ve yerletirme (replacement) ilevi
grr oysa == ileci, matematiksel olarak eittir
anlamndadr. Bu ileler;
1. <; kktr (less than)
2. <=; kk eittir (less than or equal)
3. >, byktr (greater than)
4. >=; byk eittir (greater than or equal)
5. ==; eittir (equal)
6. ~=; eit deildir (not equal)

Mantksal ileler:
Matlab da matris ve dizileri mantksal olarak
karlatrmak iin kullanlan ilelerdir. Bunlar;
1. ~ (not) ; p bir dizi ise ~p,p ile ayn boyutlu, yeni bir
dizi retir. Bu yeni dizi p sfr deilse sfrlardan oluur,
p sfr ise birlerden oluur.
2. & (and); p ve q birer dizi ise p&q, p ve q ayn boyutlu,
yeni bir dizi retir. Bu yeni dizi p ve q her ikisi de sfr
olmayan elemanlara sahip ise birlerden oluur. p veya
q sfr ise sfrlardan oluur.
3. | (or); p ve q birer dizi ise p|q, p ve q ile ayn boyutta,
yeni dizi retir. Bu yeni dizi p veya qda en az bir
eleman sfr deilse birlerden oluur, p ve q sfr ise
sfrlardan oluur.

MATLABDA KULLANILAN ART


DEYMLER (CONDITIONAL
STATEMENTS):
Matlabda dier yazlm dillerinde olduu gibi
bir takm art deyimleri kullanmaktadr. Bu
deyimler aracl ile m-dosyalar olutururken
art durumlar ve birbirlerini tekrarlayan
(dng)
ilemleri
gerekletirilir.
Bunlar
srasyla;

if yapisi :
if komutunun Matlabda 3 farkl ekli mevcuttur;
1. if kosul
deyim1
deyim 2
deyim_n
end
Koul doru ise, deyim1, deyim1, ... , deyim_n, ile
belirtilen deyimler grubu icra edilir ve programn
kontrol endi izleyen deyime geer; koul yanl ise
bu durumda deyim1, deyim2, ..., deyim_n ile
belirtilen deyimler grubu icra edilmeden kontrol
endi izleyen deyime geecektir.

2. if kosul
deyim1
deyim 2
deyim_n
else deyim_n+1
deyim_n+2
deyim_m
end
Koul doru ise deyim1, deyim1, ... , deyim_n, ile
belirtilen deyimler grubu icra edilir ve programn
kontrol endi izleyen deyime geer; koul yanl ise bu
durumda da sadece else i izleyen, deyim1_n+1,
deyim_n+2, ... , deyim_m ile belirtilen deyimler grubu
icra edilecek ve kontrol end i izleyen deyime geecektir.

3. if kosul1
deyim1
elseif kosul2
deyim2
elseif kosul3
deyim3
...
elseif kosul_n
deyim_n
else
deyim_n+1
end
Bu yap ierisinde kontrol edilen koullardan herhangi biri doru ise
onunla ilikili deyim icra edilir ve kontrol end i izleyen deyime
geer. Koullarn hepsi de yanlsa, kontrol else i izleyen
deyim_n+1e geer ve bu deyim de icra edildikten sonra kontrol
endi izleyen deyime geecektir.

Switch case yaps:


kiden fazla durumu kontrol etmek iin, if elseif else end yapsna alternatif olarak
kullanlan bir kontrol yapsdr. fadenin deeri kontrol edilir ve buna gre farkl bir deyim
veya deyimler grubu icra edilir. rnein, ifadenin deeri deger1 ise, deyim1 icra edilir ve
kontrol endi izleyen deyime geer. fadenin deeri, deger2, deger3 ya da deger4 e eitse bu
durumda deyim2 icra edilir ve kontrol endi izleyen deyime geer.
fadenin deeri, caselerle kontrol edilen deerlerden hi birine eit deilse bu durumda da
otherwise szcn izleyen deyim_n+1 icra edilecektir.
switch(ifade)
case deger1
deyim1
case deger2,deger3,deger4
deyim2
...
case deger_n
deyim_n
otherwise
deyim_n+1
end

For dngs:
Parametre deeri balang deerinden balayarak ve her
seferinde artm deeri kadar arttrlarak son deere erisene
kadar deitirilir. Parametrenin her deeri iin, deyim1,
deyim2, deyim_n seklinde belirtilen ve for-end szckleri
arasnda yer alan deyimler grubu icra edilir. Parametrenin
deeri son deeri anca, programn kontrol endi izleyen
deyime yani evrimin dna kacaktr.
for parametre=baslangi:artim:son_deger
deyim1
deyim2
...
deyim_n
end

While dngs:
Belirli bir st snra kadar istenilen ilemleri tekrarlayarak yapar. Koul
doru olduu srece, deyim1, deyim2, ... , deyim_n seklinde belirtilen
deyimler grubunu icra eder. Koul yanl olduu anda, endi izleyen deyime
yani evrim dna kar.
while kosul
deyim1
deyim2
...
deyim_n
end
A=5 ilk deerinden balayarak A<8 olduu srece Aya 1 eklemek iin
aadaki program incelenebilir;
A=5
while A<8
A=A+1
end
eklindedir.

VERLERN M-DOSYLAR EKLNDE


OLUMASI
Matlab ortamna dardan arlabilecek tm programlar
.m uzantl dosyalar (M-file) olarak bilinir. Matlabn kendi
hazr program algoritmalar M-dosyalar eklinde olabilecei
gibi Matlab iin yazlan programlar da M-dosyalar eklinde
saklanp Matlab iinde arlabilir. Benzer ekilde veriler de
M-dosyalar eklinde oluturup saklanarak daha sonra Matlab
iinde kullanlabilir. rnein 1. stundaki verileri;
X=dat(:,1);
Komutu ile x ve 2. stundaki verileri de
Y=dat(:2);
Komutu ile y ye atayabiliriz. Benzer ekilde,
A=dat(2,3);
Komutu ile dat matrisinin 2. satr ve 3. stunundaki bir veriyi
a ya atamak mmkndr.

MATLAB DIINDA OLUTURULAN VER


DOSYALARININ YKLENMES
Matlab ortamndan veriler; Mat-dosyalar ve TEXT dosyalar
biiminde iki ekilde arlabilir. TEXT-dosyas, bahsedildii gibi
TEXT karakterleri cinsinden saklanan bilgileri ierir ve bellekte
fazla zaman kayb yaratmayan dosyalardr. MAT-dosyalar Matlab
iinde save komutu ile saklanan ve Matlabta hzl ilem yapmak
iin tercih edilen dosyalardr. rnein
Save dat1 x y;
Komutu ile x ve y matrisleri dat.mat isimli dosyada saklanr.
Burada .mat uzants Matlab tarafndan otomatik bir ekilde
oluturulur. Bu matrisler Matlab iinde
Load dat1;
Komutu ile arlabilir. Benzer ekilde Matlab iinde oluturulan
veriler ASCII karakterleri cinsinden de saklanabilir. rnein,
Save dat1.m z /ascii

Komutu ile z matrisi dat1.m dosyas iinde ASCII


karakterleri (herhangi bir TEXT editr altnda
okunabilir ve yazlabilir karakterler) cinsinde
saklanabilir.
TEXT dosyalar Matlab programlar dndaki
programlar (C, FORTRAN, BASIC vb. gibi)
tarafndan kullanlmas gereken veriler iin
gereklidir. Matlab iinde tekrar tekrar kullanlan
verilerin ise .MAT (binary-ikili saylar) uzantl
saklanmas tercih edilmemelidir. (Burada binary
saklanmasnda anlatlmak istenen ey; Matlabn bu
dosyalar yazarken kendi yazm algoritmasn
kullanmasdr, bu yzden de kt anlamsz,
okunamaz olmaktadr).

PROGRAM IKIINI GSTERME


KOMUTLARI
Matlabda bir program sonucunu yani k verilerini yazdrmak veya
ekranda belirli bir formatta grntlemek iin temel komut vardr.
Bunlar ;
1. disp komutu; bir dizi veya metini ekranda grntler. Dizi
grntlemede dizinin ad yazlmaz ve bo bir dizi grntlenemez. Bir
dizi karakter dizgesi ise metin olarak grntlenir. Genel yazm format;
disp(x) eklindedir.
rnek olarak bir g dizisini ele alrsak;
>> g=[1 2 3 4 5]
g=
1 2 3 4 5
>> disp(g)
1 2 3 4 5
eklinde grntlenir. Disp( ) komutu kendisinden nce ve sonra gelecek
satr arasnda boluk salar. trnaklar arasndaki boluk saysnn nemi
yoktur.

2. Sprintf komutu; formatl bir veriyi bir dizgeye yazmak iin


kullanlr. Belirlenmi format dizgesinin kontrol altnda onu
s dizge deikenine dntrr. errnsg istee bal olarak
bir k argumandr ve bir hata olutuunda veya bo bir
matris girildiinde bir hata mesajna dnr. sprintf k
bir dosyaya yazma ilevi dnda fprintf komutunun
kullanm ile ayndr. fprintf komutu ya bir dosyaya yada
ekran k verir oysa sprintf veriyi ve sonucu bir
deikenine dntrr. Genel yazm format;
Sprintf(format,A,)
eklindedir. Aada rnek verilmitir;
>> sprintf('%0.5g',(1+sqrt(5))/2)
ans =
1.618
eklindedir.

Fprintf komutu: formatl program k ekranda gstermek veya elde


etmek ve bunu bir dosyaya yazdrmak iin kullanlr. Genel yazm format;
fprintf(format,A,)
eklindedir. format stringinde belirtilen formatta A dizisi veya ek dizi
argumannda elemann gsterir.
Daha basit bir gsterim ile; fprintf(format,liste,) eklindedir. burada liste
virglle ayrlan deiken adlarn listeler. Komuttaki format stringini genel
format ise ;
%[-/+/0][say1,say2] kod eklindedir.
Burada % iareti sabittir ve mutlaka bulunmaldr. Keli parantez iindeki
ksmlar istee baldr. Bayrak (flag) olarak adlandrlan [-/+/0]
gsteriminde kn sola hizal olacan, + nnde srekli + iaretinin
olacan ve 0(sfr) da say alann boluktan ziyada 0la doldurulacan
gsterir. Say alan ve kesinlii yani ondal olarak adlandrlan ikinci
ksmdaki say2; ondalk gstergesi olan noktann sandaki rakam saysn,
say1 yazdralacak rakamlarn minimum alan geniliini gsterir. Kod,
kontrol ve biim kodlarn daha dorusu dnm karakterlerini
iermektedir. % iaretinden sonra yazlacak ifadelerin arasnda boluk
braklmamaldr. Ka (kontrol) ve dnm (biim) kodlar tablo halinde
verilmitir.

Ka (Kontrol) kodlar
1. \n
Yeni bir satra balar. (return or
enter)
2. \r
Yeni satrn ba (linefeed)
3. \b
Geri boluk karakteri (backspace)
4. \t
Yatay sekme karakteri (Tab)
5. \f
Formfeed karakteri
6.
Apostrof karakteri (iki tek trnak)
7. \\
Ters bl karakteri (backslash)
8. %%
Yzde iareti karakteri

Dnm (Biim) kodlar


1. %e
Kk harfle bilimsel notasyon
2. %E
Byk harfle bilimsel notasyon
3. %f
Sabit nokta (ondalk) notasyon
4. %g
En ksa olmasna gre %e veya %f
5. %G
%g ile ayn
6. %s
karakter dizgesi tanmlar
7. %c
Tekil karakter
8. %d
aretli ondalk notasyon

4. Tic, toc fonksiyonu: bu fonksiyon bir


ilemin ne kadar sre aldn lmek iin
kullanlan bir kronometre gibi alr. lemin
banda sanki kronometreye baslr ve ilem
sonunda tekrar baslr aradaki sre llm
olur. tic kronometreyi balatr. toc ise tic
fonksiyonunun kullanld andan itibaren geen
sreyi yazdrr. Genel yazm format ;
tic
eitli ifadeler
toc
eklindedir.

MATLABDA GRAFKLER
MATLAB grafik sistemi, verilerin hazrlanmasnda ve
grselletirilmesinde ok deiik ve kendine has
zellikleriyle
bir
kullanclara
byk
kolaylk
salamaktadr.
MATLAB 3.5 ve daha altndaki srmlerinde; x-y
grafikleri, kutupsal grafikler, ubuk grafikler, yzey
grafikleri 3-D yzey network meshi oluturmak
mmkndr.
Bunun yannda MATLAB 4.0 ve daha yukar
srmlerinde grafiksel zellikler ok daha fazla artrlm
ve yukardaki bahsedilen zelliklere ilaveten x-y-z
grafikleri de dahil olmak zere her turlu 3 boyutlu izgi
ve yzey grafikleri oluturmak mmkn hale gelmitir.

Boyutlu(2D) Grafikler:
Matlabta verilerin 2 boyutlu olarak izdirilmesi ve
bu grafiklerin dzenlenmesi ile ilgili bir takm hazr
fonksiyonlar mevcuttur.
x-y dzleminde oluturulan pek ok grafikte x ve y
eksenlerinin eit aralklarla blnd varsaylr. Ve
bu tr grafiklerde lineer grafik adn alr. Baz
istisnai durumlarda ya tek eksen zerinde ya da her
iki eksen (x,y) zerinde de logaritmik leklendirme
kullanlabilir. x ve y vektrlerinin lineer ve
logaritmik
fonksiyonlar
aada
verilmitir
(eksenler veri saysna gre leklendirilirler).

1. Plot; x ve y eksenlerini lineer olarak


leklendirir ve verilerin grafiini izer.
Burada xler bamsz deiken yler ise baml
deikeni gstermektedir.
2. Xlabel(metin); grafiin x-eksenini
adlandrlr. Genelde metin, data ad veya
birimi olmaktadr.
3. Ylabel(metin); grafiin y-eksenini
adlandrlr. Genelde metin, data ad veya
birimi olmaktadr.
4. Title(metin); grafii adlandrr. Dier bir
deyile grafie isim verir.

5. Grid on; baz durumlarda izgi grafiin daha


anlalr olmas iin klavuz izgilerine ihtiya
duyulmaktadr. Bu klavuz izgilerini zgara eklinde
grafik ekranna getirmek iin kullanlan komuttur.
6. Grid off; eklenmi klavuz izgilerini kaldrmak
iin kullanlr.
7. Text; Hali hazr grafikten alnan eksenleri
kullanarak (x,y) koordinatlar yolu ile belirlenen
grafik ekseni zerine bir etiket yazdrr. Yazm
format gtext ile ayndr. rnein;
>> plot(0:pi/20:2*pi,sin(0:pi/20:2*pi))
text(pi,0,' \leftarrow sin(\pi)','FontSize',18)

Plot ekrannda etiket grnm

8. Gtext; Bu komut grafik ekran zerinde fare veya ok tular ile gsterilen
noktada bir metin veya metinler yazar. Genel yazm format;
gtext(metin) eklindedir. rnein;
gtext(bu noktaya dikkat)
9. Legend; gsterge eklemek iin kullanlan komuttur. Genel yazm format;
Legend(string1,string2,.,pos) eklindedir.
Burada pos ise gsterge kutusunu belirli bir yere yerletirmek iin
kullanlan deerin yazld ksmdr. Eer bu deer sfr(0) girilecek olursa
kutu olabilecek en iyi yere, bir(1) girilecek olursa sa st ke (varsaylan)
eksi bir (-1) ise hemen grafiin sa tarafna yerletirlecektir.
10. Legend off; gsterge kutusunu yerletirilen yerden kaldrr.
loglog; Hem x ekseni hem de y ekseni iin logaritmik leklendirme
kullanarak x ve y deerlerinin grafiini oluturur. Genel kullanm;
loglog(x) eklindedir. rnein;
>>x = logspace(-1,2);
loglog(x,exp(x),'-s')

leklendirilmi bir plot ekran

11. semilogx ve semilogy; semilogx, x eksenini logaritmik y


eksenini lineer olarak leklendirir ve verilerin grafiini izer.
semilogy, x eksenini lineer y eksenini dorusal olarak
leklendirir ve verilerin grafiini izer. Genel yazm format
loglog komutu ile ayndr.
12. Subplot; ayn dzlem zerinde ve ayn eksen takmn kullanarak
tek bir grafik penceresinde birden fazla ilikiyi (grafik) grup halinde
gstermek iin kullanlr. Genel yazm format;
Subplot(m,n,p) eklindedir. Burada m satr, n ise stun saysn
gsterir ve m*n tane matris dzeninde grafik izilebilir. Dier bir
deile dikdrtgen eklinde m*n tane grafik dzeni oluturur.
13. Axis; komutu ile var olan grafik zerinde hem x-ekseninde hem
de y-ekseninde geerli snrlarn zerinde deiiklik yaplabilir. Yani
istediimiz bir eksen lei belirleyebiliriz. Genel yazm format;
Axis([xmin xmax ymin ymax]) eklindedir.

13. Axis equal; eksenlerin entik artmlarn her iki eksen zerinde
de eit olacak ekilde ayarlar.
14. Axis square; dikdrtgen bir grafik alan yerine kare grnml
bir grafik kutusu olacak ekilde ayarlar.
15. Axis normal; orijinal eksen takmna dndrr.
16. Hold on; dzlem zerideki grafii dondurmak iin kullanlr.
17. Hold off; dondurulan grafii yada grafikleri serbest brakr.
18. Plotyy; grafikte y ekseninin hem sa tarafn hem de sol tarafn
leklemek iin kullanr. Genel yazm format;
Plotyy(x1,y1,x2,y2) eklindedir. Burada x1e kar y1 grafiini yeksenininin sol tarafna, x2e kar y2 grafiini y-ekseninin sa
tarafna izilir.
19. Ezplot; bir fonksiyon yada karakter dizgesinin grafik olarak
izdirmek iin kullanlr. Genel yazm format;
Ezplot(fun,xmin,xmax) eklindedir.
20. Fplot; ezplot komutu ile hemen hemen ayndr. Ancak bir takm
stnlkleri vardr. Y-ekseni iinde snrlar vermemizi bylece daha
doru bir grafik elde etmemizi salar. Genel yazm format ezplot
ile ayndr.

Bir plotun oluturulmas:


Eer y bir vektr ise plot(y) fonksiyonu ynin
elemanlarn indislerine gre lineer olarak izdirir.
Argman olarak iki vektr belirtilirse plot(x,y)
fonksiyonu xe gre ynin lineer fonksiyonunu izer. Bu
fonksiyon ile oklu veri kmelerini izimin zelliklerini
belirterek izdirmek mmkndr.
Plot(x,y) komutu x ve y vektrleri ile temsil edilen
noktalar izgi dilimleri ile birletirerek bir izgi grafii
oluturur. Kesikli, noktal, noktal kesikli gibi dier
izgi trlerini de semek mmkndr. Dier taraftan bir
izgi grafii yerine bir nokta grafii de izdirmek
mmkndr.
izgi ve iaret tiplerinin bir listesi verilmitir

izgi ve iaret tipleri


Mavi (Blue)
b
Yeil (Green)
g
Krmz (Red)
r
Turkuaz (Cyan)
c
Mor (Magenta)
m
Sar (Yellow)
y
Siyah (Black)
k
Beyaz (White)
w
Dz izgi (Solid)
Kesikli izgi (Dashed)
Noktal izgi (dotted) -.
kesikli noktal izgi (Dash-dot)-.

aretleyici sembol (Marker symbol)


Nokta (Point)
Art (Plus)
Yldz (Star)
Daire (Circle)
X iareti (x-mark)
Kare (Square)
Elmas (Dianmond)
Aa bakan gen (triangle down)
Yukar bakan gen (triangle up)
Sola bakan gen (triangle left)
Saa bakan gen (triangle right)
Begen (pentagram)
Altgen (Hexagram)

.
+
*
o
x
s
d
v

<
>
p
h

Boyulu (3D) Grafikler:


Matlabda bahsettiimiz zere 2 boyutlu
grafikler oluturulabildii gibi 3 boyutlu
grafikler de oluturulabilmektedir. Verilerin 2
boyutlu olarak izdirilmesi ve bu grafiklerin
dzenlenmesi ile ilgili bir takm hazr
fonksiyonlar mevcuttur.Bu fonksiyonlar
aklanarak rnekler verilmitir.

Plot3; 3 boyutlu uzayda noktalarn ve izgilerin grafiini


oluturur plot(x,y,z) komutu 3 boyutlu uzayda
koordinatlar x,z ve znin elemanlar olan noktalardan
gecen tek bir izgi grafii oluturur. Burada x,y ve znin
ayn boyutta vektrler olmas gerekir. Genel yazm
format;
Plot3(x1,y1,z1,izgi tr, . ) eklindedir. rnein;
>> t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
grid on; axis square
eklindeki komut dizisi iin oluacak helezon grafii
verilmitir.

Plo3 komutu ile oluturulmu rnee


ait helezon grafii

1. Mesh, meshc, meshz; matris elemanlarnn 3


boyutlu olarak bir perspektifinin izdirirler. Genel
yazm format;
2. Mesh(x,y,z) eklindedir.
3. Pcolor; pseudocolor izimi , C tarafndan belirlenmi
renkler ile hcrelerin dikdrtgen biiminde
sralanmasdr. Genel yazm format;
4. pcolor(x) yada pcolor(x,y,z) eklindedir.
5. surface, yzey nesnesi oluturmak iin dk seviyeli
bir grafik fonksiyonudur. Genel yazm format;
6. surface(x,y,z) eklindedir.
7. view; fonksiyonu, kresel koordinatlarda eksenlerin
merkezine gre
8. (orjine) alk ve ykselti aclar belirtilerek bak
noktasn ayarlar.

DENKLEM TAKIMLARININ ZM
Mhendislik problemlerinde dorusal ve dorusal
olmayan eitli denklem ve denklem takmlar ile
karlalr. Herhangi bir denklem en basitinden bir
doru veya bir eriyi tanmlar. n. Dereceden tek
deikenli bir polinom biimindeki bir denklemde,
denklemin kklerini bulmak esastr. Birden fazla
deikeni bulunan denklem takmlarnda ise
denklemleri tekil eden bilinmeyenlerin zm
salanr.
Dorusal denklemlerin zm dorusal olmayan
denklemlere gre daha kolaydr.

Dorusal denklem zmleri:


Tek deikenli bir dorusal sistemin denklemi, n.
dereceden bir polinom aadaki ekilde tanmlanr.
Burada f(x)=0 biiminde denklemin kklerini bulmak
iin Matlab iinde yer alan roots fonksiyonu veya
fzero fonksiyon fonksiyonu kullanlabilir. Fzero
fonksiyon fonksiyonu daha ok dorusal olmayan
denklemlerin
zmnde
kullanlr.
Roots
fonksiyonunun kullanl, aada verildii gibi ok
basittir.

roots( [an, an-1,..., a2, a1, a0]) eklindedir. Burada roots fonksiyonu iin
giri argmanlarn, an, an-1, ......,a2, a1, a0 biiminde polinomun en yksek
dereceden balayarak azalan kuvvetlerinin katsaylar olarak tanmlamak
yeterlidir. Sonuta k olarak denklemin kkleri bulunur.
rnein;3x6+4x5+13x4-2x3+1.5x2-10.5x-5 eklindeki dorusal bir 6.
dereceden denklem iin komut dizini,
>> a=[3 4 13 -2 1.5 -10.5 -5]
>> yp=roots(a)
eklindeki bir komut dizini sonucu
yp =
-0.7494 + 1.8819i
-0.7494 - 1.8819i
0.9409
-0.1837 + 1.0120i
-0.1837 - 1.0120i
-0.4081
sonular elde edilir. Burada yukarda aa olmak zere her bir satr bir
kk temsil etmektedir.

Dorusal denklem takmlarnn


zmleri

n. dereceden dorusal denklem takm ekildeki gibi verilir.


Bu tr istenen denklem takmlarnn zm iin, iinde yer
alan zel fonksiyonlar yoktur. Bu denklemlerin zmnde
matris ilemlerinden yararlanlabilir. AX=B biiminde verilen
denklem takmnn zmnde A\B biiminde soldan (blen
blme iaretinin solunda yer almakta) matris blme ilemi ile
yerine getirilir. XA=B biiminde tanmlanan matris
denklemin zmnde B/A eklinde sadan matris blme
ilemi kullanlr. Sadan ve soldan matris blme ileminde
saysal Gauss eliminasyon teknii kullanlr.

Dorusal olmayan denklemlerin


zm
Dorusal olmayan denklemlerin dorusal
denklemlerde olduu gibi tek bir standart biimi
yoktur.
Gerek
Matlab
iinde
gerekse
Optimatization Toolbox iinde, gerek tek
deikenli
ve
gerekse
ok
deikenli
denklemlerin zmnde kullanlan eitli
zm fonksiyonlar vardr. Dorusal olmayan
denklemlerin zm, dorusal denklem
zm kadar basit olmayp bunlarn zm
iin ayrca bir fonksiyon dosyas hazrlanmas
gerekir.

Burada, MATLAB iinde yer alan fzero fonksiyon


fonksiyonu ile Optimatization Toolbox iinde yer
alan fsolve fonksiyon fonksiyonu ayrntl bir
biimde ele alnacaktr. Ayrca dier dorusal
olmayan fonksiyon fonksiyonlarnn ksaca tanmlar
gzden geirilecektir.
Fzero; Fonksiyon fonksiyonu; tek deikenli bir
fonksiyonun sfrn hesaplar. Genel kullanm
biimleri aada olduu gibidir.
z=fzero(function,X0);
z=fzero(function,X0,tol);
z=fzero(function,X0,tol, trace);
fun(x) biimindeki bir fonksiyonun, X0 ile
tanmlanan deere yakn olan tek bir sfrn
hesaplar. Burada, fonksiyonu sfr yapan, yani x
eksenini kesen bir sfr deeri hesaplanr.

Dorusal olmayan denklem


takmlarnn zmleri
Dorusal olmayan denklem takmlarnn zmnde, Optimization
Toolbox iinde yer alan fsolve fonksiyon fonksiyonu kullanlr.
fsolve fonksiyonu dorusal olmayan denklem takmnn zmn
salar.
fsolve fonksiyonunun belli bal kullanm biimleri aada olduu
gibidir.
x=fsolve(fun,x0)
x=fsolve(fun,x0,options)
x=fsolve(fun,x0,options,grad)
x=fsolve(fun,x0,options,grad,p1,p2, ...)
[x,options]=fsolve(fun,x0, ...)
fsolve dorusal olmayan denklemlerin kklerini hesaplar. k
argman olan X deerleri; F(x)=0 eklinde hesaplanr. Burada F(x)
ve X skaler, vektr veya matrislerden ibaret olabilir.

kinci bildirimde yer alan seimli argman


options
seimli
parametreler
vektrn
tanmlar. options iin pek ok seenek
mevcuttur. Bunlar ile ilgili bilgiler help fsolve
yolu ile salanabilir.
nc bildirimde yer alan grad, X noktasnda
fonksiyonlarn ksmi trevlerini (Jacobianlarn)
df/dx, df=grad(x) elde etmek iin kullanlr. dfin
iinci stunu fdeki fonksiyonun iinci ksm
trevine karlk gelir.

Optimization Toolbox iinde, dorusal olmayan


denklemlerin, deiik ekilde zmnde
kullanlan dier pek ok fonksiyon vardr.
Bunlarn tanmlar aada kullanlan dier pek
ok fonksiyon vardr. Bunlarn tanmlar aada
olduu gibidir. Genel kullanm biimleri Matlab
ortamnda help komutu ile elde edilebilir.
Bunlar;

1. Attgoal; oklu-amal hedefe ulama problemi


zm
2. Constr; kstl minimizasyon zm
3. Fmin; skalar kstsz minimizasyon zm.
4. fminu, fmins; kstsz minimizasyon zm.
5. Fsolve; dorusal olmayan denklem zm.
6. Leastssq; dorusal olmayan en kk kareler
zm.
7. Minimax; minimum-maksimum zm.
8. Seminf; yar mutlak minimizasyon
9. Lp; dorusal programlama
10.Nnls; negatif olmayan en kk kareler zm.
11. qp ; erisel programlama.

Matlabda diferansiyel denklem


zmleri
Bir diferansiyel denklemin zm genellikle bir
fonksiyonlar ailesi biimindedir. Tek bir zel
zmn
hesaplanabilmesi
iin
snr
koullarnn (x=a, x=b) tanmlanmas gerekir.

Matlabda diferansiyel denklemlerin


saysal zmleri
Matlabta diferansiyel denklemlerin saysal
zmnde kullanlan; ode23 ve ede45 adnda
iki adet Ruge-Kutta fonksiyonu mevcuttur.
Bunlardan; ode23 fonksiyonu ikinci ve nc
dereceden
Runge-Kutta
integrasyon
denklemlerini, ode45 fonksiyonu da drdnc
ve beinci dereceden Runge-Kutta integrasyon
denklemlerini kullanr. ode23 ve ode45
fonksiyonlarnda ayn trden giri ve k
argmanlar kullanlr.

Giri argmanlarnn aklamas ise aada olduu gibidir.


1. t0: ntegrasyon iin balama zaman veya y=f(x) eklinde herhangi bir
fonksiyonun integre edilmesi halinde integrasyon aralnn balang
deeri, a.
2. tfinal: ntegrasyon zamannn nihai deeri veya y=f(x) eklinde herhangi
bir fonksiyonun integre edilmesi halinde integrasyon aralnn sona
erme deeri, b.
3. y0: Bamsz deikenin veya snr deerleri. Bir diferansiyel denklem
takmnn zm halinde balang koullar bir satr vektr biiminde
olur.
4. tol:Seime bal bir argman olup zmde integrasyon ileminin hata
snrlarn belirler. Eer bu argman arlan fonksiyonda yer almazsa
ode23 fonksiyonunda hata snr deeri 1.0e-3 ve ode45 ile hata snr
deeri 1.0e-6 olarak otomatik belirlenir.
5. trace: stee bal bir argman olup hesaplama srasnda elde edilen ara
deerlerin saklanp saklanmayacan belirleyen bir bayrak (flag) tr. 0
deeri saklanmayacan ve 1 deeri saklanacan gsterir.
Kullanlmamas halinde otomatik olarak 0 kabul edilir.

Matlabda diferansiyel denklemlerin


sembolik zmleri
Matlab program her ne kadar sembolik zmler
gerekletirmek zere gelitirilmi bir paket
program olmasa da, Matlaba 4.0 srmnden sonra
The Symbolic Math Toolbox ad altnda bir paketin
eklenmesiyle bu i iinde kullanlmaya balanmtr.
Sembolik zmlemenin anlam; bir saysal zm
elde etmek yerine, saysal zmn bir basamak
gerisinde kalan, saysal zm verebilecek bir
fonksiyon elde etmektir. Matlabta diferansiyel
denklem zm iin kullanlan fonksiyon
fonksiyonu dsolve (differantial solve: diferansiyel
zmle)dur.

Dsolve;Dsolve fonksiyonu sradan diferansiyel


eitliklerin sembolik zmn bulur.
dsolve('eitlik1','eitlik2', ... , bsart1,bsart2,...)
eklinde balang artlarn ve sradan
diferansiyel eitlikleri parametre olarak alr. Bu
ekilde birok balang art ve eitlik beraberce
kullanlabilir. Dsolve fonksiyon fonksiyonu
sunucu default olarak, bamsz deiken t
ye gre hesaplar. Bu t varsaylan, fonksiyonun
sonuna eklenecek bir baka bamsz deiken
ile deitirilebilir

dsolve fonksiyonunda, y baml deikenlerden


biri ve a ve b sabitler olduunda y(a)=b veya
Dy(a)=b eklinde balang artlar belirtilebilir.
Eer
balang
artlarnn
says
baml
deikenlerin saysndan az verilirse, meydana gelen
zmler rastgele sabitler (C1,C2,C3,...gibi) ierir.
dsolve fonksiyonu eer, belirgin bir zm
bulduysa bunu ekrana basar, eer belirgin bir zm
bulunamazsa bir uyar verilir ve bo bir
sym(symbolic) deeri geri dndrlr. Ayrca
dsolve fonksiyonu baz durumlarda diferansiyel
eitlik veya integral ieren ifadeler ieren zmler
bulabilir.

Matlabta bunu normal, matematiksel tarzda


ifade etmeye yarayan bir fonksiyon vardr. Bu
fonksiyon aadaki gibidir.
pretty(symbolic)
symbolic ifadesi normal matematiksel tarzda
yazlmas
istenen
fonksiyona
karlk
gelmektedir.
pretty
fonksiyonun
ile
kullanlacak parametre mutlaka sembolik
olmaldr.

SIMULINK (SMULASYON):
Simulink, modelcilik, simle etme ve zmleyi dinamik
sistemler iin yazlm paketidir. Srekli zamanda
modellenilen dorusal ve dorusal olmayan sistemleri
destekler. Sistemler, ayn zamanda ok dereceli olabilirler,
farkl dereceli denilen veya gncelletirilen farkl paralara
sahip olabilirler. Modelcilik iin, simulink, blok izimleri,
kullanma tkla ve tas fare operasyonlar ile modelleri ina
etmek iin grafiksel kullanc arabirimi salar.
Simulink modellerinin benzetimi diferansiyel denklem
takmlarnn saysal integrasyonu ile ilgilidir. Simulink iinde
bu tur denklemlerin simlasyonun da kullanlan eitli
integrasyon yordamlar mevcuttur. Aada simulink bloklar
verilmitir.
(Kullanmlar
ve
zellikleri
iin
Bkz.
MATLAB/HELP)

Simulink Bloklar:
Simulinkte modeller oluturulurken temel
bloklar vardr. Ancak paket programn
gelitirilmesi ve her geen gn gncellenmesi ile
bir ok bloklar oluturulmutur. Aadaki
ekilde
bunlardan
sadece
bir
ka
gzkmektedir.

Simulink modellerin oluturulmas ve


altrlmas
Simulink, bir dinamik sistemin modellenmesi iin blok
semalar sunar. Bir sistemin modellenmesinde kullanlan blok
elemanlar dorudan simulink blok ktphanelerinden
seilir. Bunun iin MATLAB alma ortamnda
>>simulink
komutu girmek yeterlidir. Bu durumda ilk karsmza kan
eitli blok ktphanelerini temsil eden kutu seklindeki
semalardr. Daha sonra simulink Fileden New seilerek yeni
ve bos bir sitem penceresi alr Bu pencere simulink
alma ve dinamik model oluturma ortamdr ve ayn
zamanda isimlendirilmemi (untitled) bir dosyadr.
Modelimiz iin gerekli bloklar, blok ktphanelerinden
srkle brak ya da kopyalama ile tanr.

Bir blok ktphanesinde ne trden blok elemanlar olduunu


anlamak iin fare ile ift tklamak sureti ile bu ktphaneyi
amak yeterlidir. Bu elamanlardan modelimiz iin gerekli
olanlar fare ile srklenerek alma ortamna tanr.
alma ortamna yaplmak istenen model iin gerekli
elemanlar tandktan sonra bu elemanlar uygun bicimde
balant yerlerinden birbirlerine balanr. aret verici kaynak
(source) bloklar yalnzca k balant ucuna, iaret gsterici
bloklar yalnzca giri balant ucuna ve dier bloklar ise hem
giri hem de k balant ucuna sahiptir. Arzu edilen bicimde
model oluturulduktan sonra .m uzantl bir isim verilerek
(rnein modelim.m) uygun bir dizin altnda saklanabilir.
Model oluturma penceresindeki menden simulation/start
komutu seilmek suretiyle modelin simulasyonu altrlr.
Scope gibi iaret alc bloklar kullanmak sureti ile sonular
annda alnabilir. Ayrca zm sonular bir dosyada
saklanarak Matlab ortamnda grafikleri elde edilebilir.

Simulink alma penceresi

Adm adm bir modelin oluturulmas


ve altrlmas:
1. Yeni bir alma ortam yukarda anlatld
gibi oluturulur.

2. Modelimizde kullanacamz elemanlar ilgili


bloklardan bulunur.

3. Eleman, bulunduu pencereden alma


ortamna fare ile srklenerek yerletirilir.

4. Ve ayn metotla modelin dier elemanlar da


alma ortamn tanr.

Modelde bulunan multiplexirin giri ularndan


sadece 2sini kullanacamzdan u girii ikiye
indirebilmek iin Mux. zerine ift ekilde
tklayarak parametre penceresine erimeliyiz.

Artk balant ilemine geerek uygun adm


adm balantlar yaplr.

Ve son ilem modeli altrmaktr. Bunun iin


penceredeki mende bulunan simulasyon/start
vermeliyiz.

TEEKKRLER

You might also like