You are on page 1of 106

Matlab Ders Notlar

MATLAB de
Programlama
MATLAB Ders Notlar
Dersin erii
1. HAFTA MATLAB programlama ortamnn tantm
Bilgi trleri, Sabitler, Deikenler
Deiken trlerinin programda tantlmas
Aritmetik ilemler, Aktarma deyimleri,
2. HAFTA Giri- k deyimleri
3. HAFTA evrim yaplar
5. HAFTA Kontrol deyimleri
6. HAFTA Kontrol deyimleri
7. HAFTA Dizin kavram
8. HAFTA Fonksiyonlar
9. HAFTA Dosya ynetimi
10. HAFTA Hazr fonksiyonlar ve kullanm
11. HAFTA Hazr fonksiyonlar ve kullanm
12. HAFTA Hazr fonksiyonlar ve kullanm
13. HAFTA Hazr fonksiyonlar ve kullanm
14. HAFTA Grafik izme
MATLAB Ders Notlar
Konular:
MATLAB ortamnn tantm
Matlab sistemi (ara yzey tantm)
a) Gelitirme ortam
b) Komut penceresi
c) Balatma penceresi (launch pad)
d) Workspace
e) History
f) Current directory
MATLAB Ders Notlar
MATLAB, bilim adamlar ve mhendislere, Fortran ve C gibi
geleneksellemi dillerde program yazmakszn, matrislere
dayal problemleri zmede kullanlmak zere bir saysal
hesaplama ktphanesi sunmak amacyla, MATris LABoratuvar
(MATrix LABoratory) program olarak tasarlanmtr. Fakat daha
sonra, Optimization Toolbox ve Control System Toolbox gibi baz
toolboxlar eklenerek gelitirilmitir.
MATLAB bir yorumlaycdr (interpreter); yani sonu, daha ziyade
eltipi hesap makinelerine benzer tarzda ekranda yazl bir metin
olarak alnabilir. Neticede dier dillerde olduu gibi derlemeye
(compiler) ihtiya yoktur; fakat programlamaya izin vermesinden
dolay da gl bir paket programdr.
MATLAB
MATLAB Ders Notlar
1. Temel Bilgiler
Komut Penceresi: MATLAB ile iletiim kurulan ana penceredir.
MATLAB yorumlaycs kullancdan gelecek komutlar kabul etmeye
hazr olduunu gsteren >> biiminde bir ileti grntler. rnein,
4*25+6*52+2*99 gibi basit matematiksel ilemi yapmak iin
>> 4*25+6*52+2*99 ifadesini yazp Enter tuuna baslnca,
ans=
610
Komut satrnda yanllarn dzeltilmesi: Klavyede yer alan ok tular
komut satrnda yaplan yanllklar dzeltilmesine olanak tanr. Bunlar
yukar aa sol sa . Yukar tuu kullanlarak bir
nceki satr tekrar grntlenerek sa ve sol tular ile yanl yazl yere
kursr tanarak dzenleme gerekletirilir.
Sonucun Ekranda Grntlenmesini Gizleme: bir deyim yazp, Enter
tuuna baslnca sonular ekranda otomatik olarak grntlenir. Buna
karlk, deyimin sonuna ; ilave edilecek olursa, bu deyim ile yaplan
hesaplamalar ekranda grntlenmez.
MATLAB Ders Notlar
2. MATLAB DEKENLER VE KURALLAR
Dier programlama dillerinin pek ounda olduu gibi MATLAB da
matematik deyimler art komakla beraber, dier pek ok programlama
dillerinden farkl olarak bu deyimler tmyle matrisleri kapsar.
rnein, >>x =50
yazldnda x ad altnda bir deiken oluturur ve 50 deerini bu
deikene atar.
Dier bilgisayar dillerinde olduu gibi MATLABn da deiken isimleri
konusunda baz kuralar vardr.
Deikenler: Deyimler ierisinde saysal deerlerin yerini alan ifadelerdir.
MATLAB bir deiken ile kar karya geldiinde, otomatik olarak bu
deikeni oluturulur ve yeteri kadar bellek ayrlr. Eer deiken daha
nceden tanml ise MATLAB onun ieriini deitirir ve gerekirse yeni
bellek ayrr.
Deyim oluturma guruplar: Deikenler, rakamlar, iletmenler ve
fonksiyonlardr. MATLAB deyimleri ise komut ortamnda yazlan her trl
komut satrlardr.
MATLAB Ders Notlar
Belli Bal Kurallar Aada Olduu Gibi zetlenebilir.
1- Deiken isimleri kk byk harf kullanmna duyarldr. Buna gre ayn
anlama gelen fakat farkl yazlan orta, Orta, orTa ve ORTA kelimeleri
MATLAB iin farkl deikenlerdir.
Rakamlar: MATLAB rakamlar iin art veya eksi iareti ve tercihli ondalk
noktas ile birlikte alagelmi ondalk iaretler sistemi kullanr. Bilimsel
iaretler sistemi 10 tabanna gre kuvvet belirlemek iin e harfi kullanr.
Sanal rakamlar son tak olarak i veya j harfi kullanr.
3, -100, 0.0005, 9.53564 1.456e10, 2.5e-5, 10i, -3.4j, 3e5i
3- Deiken isimleri daima bir harf ile balamal ve bunu herhangi bir sayda
harfler, rakamlar veya alt izgi _ izleyebilir. Noktalama iaretleri deiken
isminde kullanlmaz. nk bunlarn pek ounun MATLAB iin bir anlam
vardr.
2- Deiken isimleri en fazla 31 karakter ierebilir. Bundan fazla olanlar
dikkate alnmaz
MATLAB Ders Notlar
letmenler: MATLAB deyimler ierisinde alageldik aritmetik
iletmenler ve ncelik kurallar kullanr.
lem Sembol rnek
Toplama, a+b + 2+3
karma, a-b - 5-2
arpma, a*b * 3*4
Blme, a/b / 14/7
s alma, a
b
^ 2^3
Parantez a*(b+c) ( ) 2*(3+5)
Matematik ilemlerde ncelik hakk: Tek bir matematiksel deyim iinde
birden fazla ilem bir arada bulunabildiine gre hangi ilemin ncelik
hakkna sahip olduunun bilinmesi yerinde olacaktr. Aada MATLAB da
kullanlan ilemlerde, ilemlerin ncelik listesi verilmitir.
MATLAB Ders Notlar
ncelik lem
1. Parantez
2. st alma, soldan saa doru
3. arpma ve blme, soldan saa doru
4. Toplama ve karma, soldan saa doru
Fonksiyon: MATLAB sin, abs, sqrt, ve Log gibi ok nemli fonksiyonlar da
iine alan ok sayda elemansal matematik fonksiyon salar. Bu fonksiyonlarn
bazlar aadaki Tabloda listelenmitir.
Fonksiyon Sembol rnek
Sins, sin() sin sin(pi)
Cosins, cos() cos cos(pi)
Tanjant, tan() tan tan(pi)
Arksins, arcsin() asin asin(0)
Arkkosins, arccos() acos acos(0)
Arktanjant, arctan() atan atan(1)
Fonksiyon Sembol rnek
Eksponensiyal, e
x
exp exp(2)
Doal logaritma ln(x) log log(10)
10 tabanl logaritma log10 log10(10)
Kare kk, x sqrt sqrt(25)
Mutlak deer, |x| abs abs(3)
MATLAB Ders Notlar
MATLAB DE DEKEN TPLER
Double:
Skaler veya vektrlerden oluan saysal deikenleri ifade eder.
Char:
Tek bir karakter veya karakter grubundan oluan skaler veya dizinleri ifade
eder.
MATLAB DE DEKEN ATAMALARI
Eitlik fadeleri ile Deiken Atamalar
Bu ekildeki bir deiken atamasnn genel hali,
>> deiken = deer
eklindedir. Burada "deiken", herhangi bir karakter veya karakter grubu olabilir.
"deer" ise, herhangi bir matematiksel ifade, bir karakter dizisi, bir sabit, bir
matris veya bunlarn birden fazlasnn matematiksel ilemler ile oluturulmu
kombinasyonlar olabilir.
MATLAB Ders Notlar
Skaler atama
X = 3
A = 5-5i
B = A / 5
Bir deikene bir deer atadktan sonra ayn deikene farkl bir deer
atamak, o deikenin ilk deerinin silinmesine, sz konusu deikenin
bundan sonraki ilemlerde yeni deeri ile ilem grmesine neden olmaktadr.
rnek: >> a=5
>>b=a+2
b =
7
>>a=10
>>b=a+2
b =
12
rnek:
Matematiksel yazlm Bilgisayarda yazlm
ab-c+d-6+da a*b-c+d-6+d*a
b+c
3
-d/8-b
2
c b+c^3-d/8-b^2*c
???
rnekler:
ac b
ab
bd c
b
a
4
2
2
2 3


) * * 4 2 /( ) * * 2 ( 2 * ) 2 / 3 ( / c a b b a d b c b a

a
f e
d
f c b
a
3
3 ). (
3 2

dev:
a a
a
ac
cd b
b a c
a b
c
a
x
2
) (
1
4
3
3
5 3
4 2

lemini bilgisayar dilinde kodlaynz


MATLAB Ders Notlar
ZEL DEERLER VE KALICI DEKENLER
MATLAB'n yapsnda nceden tanmlanm, kullanlacaklar zaman tekrar
tanmlanmalarna gerek olmayan ve herhangi bir anda kullanlmaya hazr
baz zel deerler bulunur.
rnein:
yarap 2 birim olan bir krenin alann
>> r=2;
>> alan = 4 * pi * r^2
>> alan =
50.2655
>> date
ans =
19-Mar-2003
>> clock
ans =
2003 3 19 18 47 7.828
MATLAB Ders Notlar
BR DEKENE DIARIDAN BR DEER ATANMASINI STEMEK
input " fonksiyonu, komut penceresinde kullancdan bir deikene bir
deer girmesini isteyen bir komut grntler ve kullancnn bu deeri
girmesini bekler,
X=input('Bir deer giriniz= ');
>> x=input('x deerini giriniz= ')
x deerini giriniz=
10
x =
10
MATLAB Ders Notlari
Uygulama Sorusu:
Dardan girilen 3 saynn ortalamasn bulan bir MATLAB program
yaznz.
Matlab Ders Notlar
MATLAB de
Programlama
III
MATLAB Ders Notlar
MATEMATKSEL VE MANTIKSAL OPERATRLER
Program dallandran bir ok yapda, ilemler, sonucun "doru" (1) veya
"yanl" (0) olmas durumlar ile kontrol edilir. MATLAB' da 'doru' veya 'yanl'
ifadeleri ile sonular reten iki eit operatr vardr. Bunlar matematiksel ve
mantksal operatrlerdir.
Matematiksel Karlatrma Operatrleri
Bu operatrler iki deikenin deer bakmndan karlatrmasn yaparlar ve retilen
sonucun doru (1) veya yanl (0) durumuna gre sonular retirler.
Genel kullanmlar a1 ilem a2 eklindedir. Burada a1 ve a2, aritmetik deerler,
deikenler veya karakter dizileri olabilir, "ilem" ise, sz ettiimiz matematiksel
kyaslama operatrlerinden biri olabilir. Eer a1 ve a2 arasndaki iliki operatrn
belirttii ekilde ise sonu, 1 deerini alr. Eer operatrn belirttii durumdan farkl bir
durum sz konusu ise sonu, 0 deerini alr.
== Eittir
~= Eit deildir
> Byktr
>= Byk veya eittir
< Kktr
<= Kk veya eittir
5<6 1
5<=6
1
5==6
0
5>6
0
6<=6
1
MATLAB Ders Notlar
Eitlik durumlarnda verilen iaret iki adet eittir "==" iaretinden oluur. Oysa deiken
atamalarnda kullandmz eittir "=", bir tanedir. Bu ikisi birbirlerinden farkl
operatrlerdir. "==" operatr, kyaslama durumlarnda kullanlr ve mantksal bir
sonu retir. "Eit ise", "eit midir?" eklindeki durumlarda kullanlr. "=" iareti ise, bir
deikene bir deer atamada kullanlr, rnein MATLAB komut penceresinde; 3=5
yazdmzda; program hata retir. Oysa 3==5 yazdmzda bu 3, 5'e eit midir? "
anlamna gelir, kyaslama yanltr ve MATLAB bu durum iin 0 cevabn retir. Yeni
balayanlar iin bir karlatrma durumunda tek eittir "=" iareti kullanmak, sk
yaplan bir hatadr.
>> 3==5
ans =
0
>> 3 = 5
??? 3=5
! Error: Missing operator, comma, or semicolon.
>> x=0;
>> y=sin(pi);
eklinde yaplan iki deiken atamasn takiben yaplan x==y karlatrmasnn sonucu
olarak 1 cevab beklenirken, 0 cevab alnr. MATLAB, bu iki deeri farkl olarak
alglamtr. nk MATLAB'da sin (pi) deeri 0'a eit deildir, sin(pi), yuvarlamadaki
farkllktan tr 1.2246e-016 deerine sahiptir ve 0'a eit deildir. Yani teorik olarak
birbirine eit iki deer, aslnda farkl saylara tekabl etmektedir.
MATLAB Ders Notlar
>>x=0;
>>y=sin(pi);
>>x==y
ans = 0
Sk yaplabilecek dier bir hata da karlatrma operatrlerinin aritmetik
operatrlerden daha sonra deerlendirildikleri durumunu ihmal etmektir. Yani
parantezlerden yararlanlmad durumlarda bile aritmetik ilemler, ncelikle yaplr.
2+8 > 8+3
(2+8) > (8+3)
Bu iki durumda da MATLAB'n retecei cevap 0'dr.
Mantksal Operatrler
Bu operatrler, bir veya iki mantksal anlam olan ve mantksal bir sonu reten
operatrlerdir. tane iftli mantk operatr vardr. Bunlar; "AND", "OR" ve "XOR" dur.
Dier bir mantk operatr tekli yapya sahip olan "NOT" operatrdr. iftli yapdaki
operatrlerin genel kullanm a ilem b eklinde iken tekli bir operatr olan "NOT"
genel kullanm ilem a eklindedir. Burada a ve b deikenler iken ilem, aadaki
mantk operatrlerinden biridir, a ile b'nin arasndaki iliki, operatrn belirttii ekilde
ise sonu 1, eer deilse sonu 0 olur.
MATLAB Ders Notlar
Operatrler Komut karl levleri
&
AND VE
|
OR VEYA
xor
XOR zel Veya
~
NOT Deil
rnek:
>> k=4; m=5;
>> (k>6) and (m<8) HATALI YAZIM
??? (k>6) and (m<8)
|
Error: Missing operator, comma, or semicolon.
>> (k>6) & (m<8)
ans =
0
0<=x<9 ifadesinin
MATLABdeki karl:
(0<=x) & (x<9)
MATLAB Ders Notlar
MATLAB de
Programlama
M-dosyas
Genel t ant m :
Bir senaryo dosyas (script file) zel bir grevi yerine getirmek iin gerekli
MATLAB komutlarnn sakland bir metin programdr. Baka bir ifadeyle; bir
hesaplamay gerekletirmek iin yazlacak bir ok komutlar dizisi, komut
penceresinden tek tek girmek yerine bir dosyada saklanr daha sonra bu dosya
altrlarak bu komutlar icra edilir. Bu dosyalarn MATLABn alt birimde
"dosya_ad.m" uzantsyla saklanmalar gerekir.
Senaryo dosyalarnn ( M-dosyalarnn ) oluturulmas ve yazlmas iin
MATLAB bir metin hazrlaycs (text editor) sunmaktadr. Bu senaryo dosyalar
Windowsda Notepad gibi herhangi bir metin hazrlaycsnda da yazlabilirler.
MATLAB metin hazrlaycs ya komut penceresinin st ksmnda yer alan New M-file
dmesi tklanarak veya ksaca File mensnden New/M-file ibaresini seerek
etkin hale getirilebilir.
MATLAB Ders Notlar
Deiken says fazla olmas durumunda
Ak diyagramlarnn uygulanmasnda
Programdaki deiikliklerin kolayca yaplmasnda
rnek:
Dardan girilen dairenin yarapna gre alan ve evre hesaplayan program yaznz?
M-dosyalarnn Gereklilii:
R = input(' Dairenin yarapn giriniz = ');
Alan=pi*R^2;
Cevre=2*pi*R;
Alan,Cevre
MATLAB Ders Notlar
Uygulama :
Uygulama :
Dardan girilen x ve y deerlerine gre aadaki fonksiyonun deerini
hesaplayan bir program yaznz.
1 ile girilen herhangi bir say arasndaki saylarn toplamn ve arpmn
hesaplayan bir program yaznz.
) y x tan(
) ( log
1 ) ln(
y) - y/(1 x y) F(x,
10
2


y
x
MATLAB Ders Notlar
Kontrol
yaplar
IF
For Loop
MATLAB Ders Notlar
IF artnn ekli vardr
IF art
1. ilem
2. ilem
3. ilem
:
END
Bir mantksal ifadeyi kontrol ederek bunun sonucuna gre mmkn seeneklerden
birini icra edebilen bir komuttur.
if artl deyimi
IF art
1.ilem;
ELSE
2. ilem
END
IF art

ELSEIF

ELSE

END
MATLAB Ders Notlar
rnek: Girilen (okutulan) x ve y deerlerine gre aadaki
sonuc deerini bulan program yaznz
x>y ise sonuc= (x-y)
x=y ise sonuc=(x-y)
7
Deilse sonuc=x+y
x=input('x deeri=');
y=input('y deeri=');
if x>y sonuc=sqrt(x-y)
elseif x==y sonuc=(x-y)^7
else sonuc=x+y
end
ZM:
MATLAB Ders Notlar
dev:
Dardan girilen x deerlerine gre aadaki fonksiyonun deerini
hesaplayan bir program yaznz.
4
10
2
x
5 x 3
x tan(x)
) x ( log
1 ) x ln(
x x F(x)


5 4 3 2
x x x x x F(x)
1 < = x < 10
10 < = x
Hafta 4
Matlab Ders Notlar
MATLAB de Pr ogr am l am a
I V- V
Hafta 4
MATLAB Ders Notlar
rnek: Girilen iki saynn orann bulan ve
payda sfr girildiinde ekrana zgnm sfra blm
hatas var mesaj yazdran program
clear
N = input(pay giriniz: ');
D = input(payday giriniz: ');
if D==0
Disp(zgnm, sfra blm hatas var)
else
oran = N/D
end
payda
pay
oran
Disp: Ekrana mesaj veya deer yazdrmak iin kullanlan komuttur.
Disp(yazdrlacak mesaj);
Disp(deiken ad);
Hafta 4
MATLAB Ders Notlar
rnek: Girilen aya gre gn saysn hesaplayan
program
clear
ay = input( ' Kan ayn gn saysn renmek istiyorsunuz (1-12)= ' );
if ay==1 | ay==3 | ay ==5 | ay==7 | ay==8 | ay==10 | ay==12
disp(Bu Ay 31 gnden oluur)
elseif ay==2
disp(' Bu Ay 28 gnden oluur ')
else
disp(' Bu Ay 30 gnden oluur ')
end
Hafta 4
MATLAB Ders Notlar
Not:
art Harfli Not
--------- ------------
Ortalama >= 90 A
75 <= Ortalama < 90 B
60 <= Ortalama < 75 C
45 <= Ortalama < 60 D
Dier F
Uygulama:
Dardan girilen bir derse ait dev, quiz ve 1.vize notlarn alp ortalamasn
hesaplayan ve harfli sisteme gre GENEL VZE notunu bulan bir program
yaznz.
Hafta 4
MATLAB Ders Notlar
FOR DNGS
Bir ok uygulamada belirli ilemlerin tekrar tekrar gerekletirilmesi
gerekir. Programlamada bu ilemler grubunu ok sayda tekrar etmek
imkan salayan yaplara EVRM, DNG veya LOOP denir.
evrimdeki ilem saysn nceden belirleyerek ve bu sayya ulap
ulamadn bir saya ile denetleyerek gerekletirilen evrim
yaplar
evrimin sona ermesini bir koula bal olarak kontrol eden evrim
yaplar
evrim, bir tekrarl ilem yapsdr.
Hafta 4
MATLAB Ders Notlar
for dng deikeni = balang : biti
komutlar
end
for dngsnn genel yaps
clear
toplam = 0 ;
for x = 1:20
toplam = toplam + x ;
end
toplam
rnek: 1den 20ye kadar saylarn toplamn bulan program
Hafta 4
MATLAB Ders Notlar
clear
sayi=input(ltfen bir say giriniz=)
toplam=0 ;
carpim=1 ;
for i=1:sayi
toplam=toplam+i ;
carpim=carpim*i ;
end
toplam
carpim
rnek:1 ile girilen herhangi bir say arasndaki saylarn toplamn ve
arpmn hesaplayan bir program yaznz.
Hafta 4
MATLAB Ders Notlar
fprintf Fonksiyonu
Genel kullanm:
fprintf (ekrana baslacak aklama %f \n, deger)
Burada
%f : Deerin reel say olduunu gsterir
\n : Bir satr atlatr
deger : Ekrana yazlmas istenen saysal deikenin ad
Dier yazm biimleri:
%g : Tamsay deeri basar
%e : stel deer basar
Hafta 4
MATLAB Ders Notlar
Uygulama:
fprintf(For dngs testi\n');
for i = 4:-1:1
fprintf('For dngs testi. i = %g\n',i);
end
fprintf('\n Dngnn sonu.\n');
Hafta 4
MATLAB Ders Notlar
Break ifadesi
FOR dnglerine ilaveten bir program akn kontrol edebilmenin
dier bir yolu break ifadesini kullanmaktr. Break ifadesini dng
gvdesi ierisinde kullanmak, dngnn durmasn ve dngden
sonra gelen ilk ifade veya komutun iletilmesini salar.
rnek: for j=2:6
if j==4
break
end
end
fprintf(j= %g \n, j)
disp(dng sonlandrld)
Hafta 4
MATLAB Ders Notlar
clear
Toplam=0
for i = 1:5
Toplma = 0
for j = 1:5
toplam = toplam + j
end
Carpm = toplam * i
end
ie FOR dngleri
Hafta 4
MATLAB Ders Notlar
rnek:
for a=1:10
for b=1:10
carpim=a*b;
fprintf(%d * %d = %d\n, a, b, carpim)
end
end
arpm tablosunu veren bir program yaznz
Hafta 4
Matlab Ders Notlar
Uygulamalar
Uygulama 1:
Dardan girilen girilen iki saynn farkn ve blmn hesaplayan bir
MATLAB program yapnz.
Hafta 4
Matlab Ders Notlar
Uygulamalar
Uygulama 2: Kenar Uzunluklar dardan girilen bir ABC genini
kenarlarna gre inceleyen programn algoritmasn MATLABde kodlaynz
A1: Basla
A2: A,B,C deerlerini gir
A3: A=B ise A4e git deilse A5e git
A4: B=C ise A6ya git deilse A8e git
A5: A=C ise A8e git deilse A7e git
A6: gen Ekenardr
A7: B=C ise A10a git, deilse A9a git
A8: gen kizkenardr
A9: gen eitkenardr
A10: gen kizkenardr
A11: Son
Hafta 6-7
Matlab Ders Notlar
MATLAB de Programlama
VI-VII
Hafta 6-7
Matlab Ders Notlar
Uygulama: Ax
2
+Bx+C=0 ikinci derece denklemin kklerini hesaplayan
aadaki algoritmay MATLABde programlaynz
A1: Bala
A2: A,B,C deerlerini gir
A3: delta=B^2-4ac deerini hesapla
A4: delta<0 ise kkler kompleks yaz, deilse A5e git
A5: delta>0 ise kkler reel yaz, deilse katl kk hali yaz
A6:
A7:
A8: X1 deerini yaz
A9: X2 deerini yaz
A10: Son
a delta b X 2 / ) ( 1 + =
a delta b X 2 / ) ( 2 =
Hafta 6-7
MATLAB Ders Notlar
a=input(x^2 li terimin katsaysn giriniz=);
b=input(x li terimin katsaysn giriniz=);
c=input(Sabit terimi giriniz=);
delta=b^2-4*a*c;
if delta<0
disp(kkler kompleks);
elseif delta>0
disp(kkler Reel)
elseif delta ==0
disp(katli kk hali)
end
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
fprintf(1.kk:%f\n, x1);
fprintf(2.kk:%f\n, x2);
zm:
Hafta 6-7
MATLAB Ders Notlar
MATLABde Karakter Tipinde Deiken Girii:
Komutu ile k deikenine sadece saysal deerler girebiliriz. Bu k
deikeni bir karakter olduunda ve bu deikene komut
penceresinde bir karakter deer girmek istediimizde deeri iki trnak
iinde girmek zorundayz. Bu durumdan kurtulmak iin MATLABde
karakter tipindeki deikenin okutulmas iin u yap kullanlr:
Degisken_adi=input(Aklama: ', 's');
k=input(Aklama: ');
Deikenin karakter tipinde olduunu gsterir
Hafta 6-7
MATLAB Ders Notlar
rnek: Karakter deerler okuyan ve bir noktaya rastlaynca toplam
karakter saysn veren program MATLABde yaznz.
karakter=input('Karakteri giriniz: ', 's');
ksayi=0;
while karakter ~= . '
karakter=input('Karakteri giriniz:', 's');
ksayi=ksayi+1;
end
fprintf('Toplam karakter says=%g', ksayi)
Hafta 6-7
Matlab Ders Notlar
PROGRAMLAMADA DZ KAVRAMI
Bir deiken ierisinde birden ok veri numaralandrlarak tek bir isim
altnda saklanmasna DZ denir.
Dizi iinde ayn isim altnda ok sayda veri olduu iin bunlar
birbirinden ayrt etmek iin NDS ad verilen bir bilgiye ihtiya vardr.
rnek 1:
23 45 -1 1.24 78
A Dizisi
A(1) A(2) A(3) A(4) A(5)
Hafta 6-7
Matlab Ders Notlar
rnek 2: K BOYUTLU DZ
23 12 75 48
3 36 15 12
45 4 55 13
1
1
2 3
4
3
2
B DZS
B(1,1)=23, B(1,2)=12, B(1,3)=75, B(1,4)=48
B(2,1)=3, B(2,2)=36, B(2,3)=15, B(2,4)=12
B(3,1)=45, B(3,2)=4, B(3,3)=55, B(3,4)=13
Hafta 6-7
Matlab Ders Notlar
Tek boyutlu bir dizinin deerlerinin
girilmesi (okutulmas)
for i=1:5
fprintf('A(%d)=',i)
A(i)=input( ');
end
A
Aada 1x5 boyutunda (1 satr ve 5 stun) bir dizinin
elemanlarn giren MATLAB program aada verilmitir
Hafta 6-7
Matlab Ders Notlar
rnek:
N elemanl bir dizinin N deeri ve elemanlar okutulacak
(dardan girilecek) ve bu vektrn normunun karesi
(elemanlarnn karelerinin toplam) bulunacaktr
N=input('N deerini giriniz=');
toplam=0;
for i=1:N
fprintf('A(%d)=',i);
A(i)=input('');
end
for i=1:N
toplam=toplam+A(i)*A(i);
end
fprintf('A matrisinin normunun karesi=%f', toplam)
Hafta 6-7
Matlab Ders Notlar
K BOYUTLU BR DZNN DEERLERNN
GRLMES (OKUTULMASI)
for i=1:2
for j=1:3
fprintf('B(%d,%d)=',i,j)
B(i,j)=input('');
end
end
B
Aada 2x3 boyutunda (2 satr ve 3 stun) bir dizinin
elemanlarn giren MATLAB program aada verilmitir:
Hafta 6-7
Matlab Ders Notlar
Uygulama 1
Elemanlar dardan girilen iki boyutlu bir dizinin programn
yaznz (deerler aada verilmitir)
12 21
23 90
34 12
67 45
89 67
Uygulama 2
0 ile 50 arasnda 4 artml bir tek boyutlu A dizisi oluturunuz
Hafta 6-7
Matlab Ders Notlar
VEKTRLER (DZLER) ve MATRSLER
(
(
(
(

mn 1 n , m 2 m 1 m
n 2 1 n , 2 22 21
n 1 1 n , 1 12 11
a a a a
a a a a
a a a a
A

Byle dikdrtgen bir tabloya, mxn matrisidir denir. Burada, m saysna


matrisin satr says, n saysna matrisin stun says denir. Eer, m=n
ise matris kare matris olarak adlandrlr, ve A matrisi, n. mertebedendir
denir.
MATRSLE, iki boyutlu DZLER (VEKTRLER) olarak
dnlebilirler:
Hafta 6-7
Matlab Ders Notlar
(

=
0 5 1
2 3 1
A
(

=
4 3
2 1
B
rnek: Verilen A ve B matrislerini dnnz.
A matrisi 2x3 ve B matrisi ise 2x2 matristir.
a
22
=5 ve b
12
=2
Bir matrisin veya vektrn boyutlarn tespit etmek iin
aadaki MATLAB komutu kullanlr
[m,n]=size(A)
m =
3
n =
2
Burada m: satr saysn
n: stn saysn gstermektedir
Hafta 6-7
Matlab Ders Notlar
MATRSLERLE LEMLER
leri MATRS ilemleri iin MATLAB hazr fonksiyonlar kullanlacaktr
Matrislerin kendilerine ait bir cebirleri vardr. zellikle matrislerin
aada sralanan drt ilemleriyle ilgileneceiz.
Bir skalerle arpm
Matris toplama
Matris karma
Matris arpm
Matris transpozu
Hafta 6-7
Matlab Ders Notlar
Matrislerle Skaler arpm
Her hangi bir matris, bir c skaleriyle aplabilir. Sonuta,
matris cA,
) ca ( cA
ij
=
rnek:
Aada verilen Matrisin 2 ile arpm sonucunu veren
MATLAB program
(

=
4 1
3 2
A
A=[2 3 ; 1 4];
[m,n]=size(A);
for i=1:m
for j=1:n
C(i,j)=2*A(i,j);
end
end
C
Hafta 6-7
Matlab Ders Notlar
RNEK:
Elemanlar dardan girilen 2x2lik bir Matrisin 2. stununu 3
ile arpp yeni bir Matris elde eden bir MATLAB program
yaznz
A=[1 3; 4 2];
for i=1:2
for j=2:2
A(i,j)=3*A(i,j);
end
end
A
Hafta 6-7
Matlab Ders Notlar
3x3lk bir matris dardan girilerek (okutularak) bu matrisin ana kegen
elemanlarnn toplamn bulan program yaznz.
dev:
Hafta 6-7
Matlab Ders Notlar
Matrislerde Toplama ve karma lemi
ki matrisin toplanabilmesi veya karabilmesi iin boyutlarn yani satr
ve stn saysn eit olmaldr.
(

=
4 1
3 2
A
(

=
5 4
6 3
B
ki matrisin toplam
(

=
(

+
(

=
9 5
9 5
5 4
6 3
4 1
3 2
C
A=[2 3; 1 4];
B=[3 6; 4 5];
for i=1:2
for j=1:2
C(i,j)=A(i,j)+B(i,j);
end
end
C
MATLAB program
Hafta 6-7
Matlab Ders Notlar
Matrislerde arpma lemi
A ve B gibi iki matrisin arplabilmesi iin A matrisinin Stun
saysnn B matrisinin satr saysnn eit olmas gerekmektedir.
A matrisi mxn boyutunda, B matrisi nxk olmak zere Bu arpma
ilemi sonucunda elde edilecek C matrisinin boyutu mxk
olacaktr.
(

=
1 3 0
1 2 1
A
rnek
(
(
(

=
3 2
5 1
2 1
B
(

= =
12 1
15 5
B A C
clear
clc
A=[1 2 1;0 3 -1];
B=[1 2; 1 5;2 3];
for k=1:2
for i=1:2
C(i,k)=0;
for j=1:3
C(i,k)=C(i,k)+A(i,j)*B(j,k);
end
end
end
C
Hafta 8
Matlab Ders Notlar
MATLAB de Programlama
VIII
(Dizilerle ilgili rnekler)
Hafta 8
Matlab Ders Notlar
Transpoz, matrislerde satr ile stunun yer deitirilmesi ilemidir.
Yani A=3x2lik birmatrisin transpozu alnd zaman B=A
T
=2x3lk bir
matris elde edilir.
Matrislerde Tranzpoz lemi
A=[1 3 0; 4 2 -3];
for i=1:2
for j=1:3
B(j,i)=A(i,j);
end
end
B
A =
1 3 0
4 2 -3
B =A
T
1 4
3 2
0 -3
Hafta 8
Matlab Ders Notlar
5 rencinin 1 dersten aldklar vize ve final notlarn alarak
herbir rencinin ortalamalarn hesaplayan ve aadaki
formata gre yazdran program yaznz.
rnek
Sra Vize Final Ortalama
1. renci 35 40 37.5
2. renci 22 95 58.5
: : : :
Hafta 8
Matlab Ders Notlar
zm
for i=1:5
fprintf('%d. rencinin vize notu=', i); vize(i)=input(' ');
fprintf('%d. rencinin final notu=', i); final(i)=input(' ');
ort(i)=(vize(i)+final(i))/2;
end
fprintf( 'sra vize final ortalama\n');
fprintf('==== ==== ===== ========\n');
for i=1:5
fprintf('%d. renci %g %g %f\n', i, vize(i),
final(i),ort(i));
end
Hafta 8
Matlab Ders Notlar
rnek
2x3 boyutunda bir A (A=[-4 0 9 ; 16 -9 4]) matrisinin elemanlar
program ierisinde girilerek bu matrisdeki saylarn ortalamasn
ve pozitif saylarn karekkleri toplamn bulan program yaznz.
A=[-4 0 9 ; 16 -9 4];
koktoplam=0;
toplam=0;
for i=1:2
for j=1:3
toplam=toplam+A(i,j);
if A(i,j) > 0
koktoplam=koktoplam+sqrt(A(i,j));
end
end
end
ortalama = toplam / (i*j)
koktoplam
Hafta 8
Matlab Ders Notlar
rnek 5:
B=[-45 0 5 10 -91 2] dizisinin elemanlarn tersten
yazdrarak baka bir diziye aktaran program yaznz.
B=[-45 0 5 10 -91 2];
k=6;
for i=1:6
C(k)=B(i);
k=k-1;
end
C
Hafta 8
Matlab Ders Notlar
rnek 6:
K=[-4 3 0 ; 2 0 4 ] matrisindeki sfrlarn saysn ve yerini
(satr ve stun numaralarn) veren program yaznz.
K=[-4 3 0 ; 2 0 4 ];
adet=0;
for i=1:2
for j=1:3
if K(i,j)==0
adet=adet+1;
i,j
end
end
end
adet
Hafta 8
Matlab Ders Notlar
dev:
A=[0 -2 8 9 16 7] dizisi veriliyor. Bu dizinin en
kk ve en byk elemanlarn bulan program
yaznz.
Not: A dizisinin en byk ve en kk elemanlar iki
ayr FOR dngs iinde bulunacaktr.
Hafta 11
Matlab Ders Notlar
MATLAB de Programlama
IX
Hafta 11
Matlab Ders Notlar
MATLABde GRAFK LEMLER
MATLAB dier programlama dillerine nazaran olduka gl bir
grafik arakutusuna (toolbox)a sahip olmasdr.
MATLABde grafik izebilmenin en kolay yollarndan biri plot
komutunu kullanmaktr.
rnek
20 9
2
x x y
Fonksiyonun herhangi bir aralktaki grafii aada verilen
MATLAB komutlarn icras ile elde edilebilir
x=1:20;
y=x.^2-9*x-20;
plot(x,y)
Hafta 11
Matlab Ders Notlar
GRAFK DZENLEYEN KOMUTLAR
Bir grafikte aada verilen tanmlamalar mevcut olmaldr:
Grafiin bal
Eksen takmlarnn isimleri
Grafie bir isim, balk vermek iin title komutu kullanlr
X eksenine bir eksen ismi verilmesi iin xlabel
Y eksenine bir eksen ismi verilmesi iin ylabel komutu kullanlr
rnek
x=[1:1:20];
y=x.^2-9*x-20;
plot(x,y)
title('x.^2-9*x-20 fonksiyonun grafigi');
xlabel('x ekseni');
ylabel('y ekseni');
Hafta 11
Matlab Ders Notlar
OKLU GRAFKLER
MATLABde tek bir grafik penceresinde birden fazla graifk
izdirmek mmkndr.
rnek
8 5 3 ) (
2
t t t y
Fonksiyonu ile trevi olan
5 6 ) (

t t y
Fonksiyonun tye gre deiimlerini ayn
grafik zerinde gsterebilmek iin aada
verilen MATLAB program icra edilir:
t=[0:1:20];
y_1=t.^3-5*t+8;
y_2=6*t-5;
plot(t,y_1,t,y_2)
Hafta 11
Matlab Ders Notlar
uygulama
0 ila 2*pi arasndaki a deerleri iin sin(x) ve
cos(x) fonksiyonlarn ayn grafik penceresinde
izen bir MATLAB program yaznz
Hafta 11
Matlab Ders Notlar
GRAFKLERDE ETL DZENLEMELER
Elde edilen grafiklerde aada belirtilen dzenlemeler
yaplabilir:
izgi rengi ve tipini deitirmek
x deikeni ile fonksiyon deerinin kesiitii noktalarn
iaretlemek
Grafiklere aklama eklemek
Plot(x,y,r-) eklindeki bir komut ile x ve y vektrlerinin grafik
izgi renginin krmz ve dz bir izgi olmas salanmtr
Hafta 11
Matlab Ders Notlar
Renk aretleme Biimi izgi biimi
Y: sar . : nokta - : srekli izgi
M:magna o : yuvarlak : : nokta nokta
B:mavi x : x iareti -. : kesikli izgi ve
nokta
R:krmz + :art iareti -- : kesikli izgi
G:yeil * :yldz iareti
W:beyaz S : kare
D: elmas
V : aa gen
^ : yukar gen
<: sola gen
>: saa gen
P: begen
Hafta 11
Matlab Ders Notlar
Legend fonksiyonu ile hangi erinin hangi fonksiyona ait olduu
belirtilir.
rnek
x=[0:pi/10:4*pi];
y1=sin(x);
y2=cos(x);
plot(x,y1,'b.:',x,y2,'b<-')
xlabel('x degisimi');
ylabel('Fonksiyonun degisimi');
title('sinx ve trevinin deiimi')
legend('sin(x)','cos(x)',-1)
Hafta 11
Matlab Ders Notlar
Figure fonksiyonu ile oklu Grafikler
Birden fazla grafik penceresini amak iin figure(n) komutu kullanlr.
Burada n grafik penceresini belirtmektedir.
rnek
x=0:pi/30:2*pi;
y1=sin(x);
y2=cos(x);
figure(1),plot(x,y1,'bo:')
figure(2),plot(x,y2,'r*-')
Hafta 11
Matlab Ders Notlar
Subplot fonksiyonu ile Alt Grafikler
Ayn grafik penceresinde birden fazla grafik izmek iin
subplot (a,b,c) fonksiyonu icra edilir. Burada
a: grafik penceresinin satr says
b: grafik penceresinin stn says
c: alt pencere numaras
Hafta 11
Matlab Ders Notlar
rnek
subplot(2,2,2)
x=0:pi/30:2*pi;
y1=sin(x);
plot(x,y1)
title('f(x)=sin(x)')
subplot(2,2,2)
y2=cos(x);
plot(x,y2)
title('f(x)=cos(x)')
subplot(2,2,3)
y3=tan(x);
plot(x,y3)
title('f(x)=tan(x)')
subplot(2,2,4)
y4=cot(x);
plot(x,y4)
title('f(x)=cot(x)')
Hafta 11
Matlab Ders Notlar
Hold komutu
Ayn eksen takmnda birden fazla grafik izmek iin hold komutu
kullanlr. Figure fonksiyonu kullanlmad srece iletilen herbir
plot komutu ayn grafik penceresinde ilem grr.
rnek
x=0:pi/30:2*pi;
y1=sin(x);
plot(x,y1,'k*:')
hold
y2=exp(2*sin(x));
plot(x,y2,'ro--')
legend('sin(x)','\bf{e}^{2*sin(x)}')
Hafta 12
Matlab Ders Notlar
MATLAB de
Programlama
X
Hafta 12
Matlab Ders Notlar
Dizi ve Matrisler iin tanml baz fonsiyonlar
. max(x):x dizisinin en byk elemann bulur
min(x): x dizisinin en kk elemann bulur
mean(x): x dizisine ait elemanlarn ortalamasn bulur
sort(x): x dizisinin elemanlarn kkten bye doru sralar
sum(x): x dizisinin elemanlarnn seri toplamn bulur
prod(x): x dizisinin elemanlarnn seri arpmn bulur
Hafta 12
Matlab Ders Notlar
Dizi ve Matrisler iin Tanml baz fonsiyonlar
RNEK;
clear;
clc;
a=[10 -22 30 41 54 6];
b=sum(a)
c=max(a)
d=min(a)
e=mean(a)
h=sort(a)
i=prod(a)
Hafta 12
Matlab Ders Notlar
Dizi ve Matrisler iin Tanml baz fonsiyonlar
max(x)
clear;
clc;
x=[3,4,6,8,5,3,7,7,8];
ebsayi=max(x);
ebsayi
min(x)
clear;
clc;
x=[2,4,3;5,1,21;-1,0,6];
ebsayi=min(x);
ebsayi
mean(x)
clear;
clc;
x=[12,4,3 ; 5,11,21 ; -1,10,16];
ortsayi=mean(x);
ortsayi
sum(x)
clear;
clc;
x=[2,4,3 ; 5,11,21 ; -21,10,16];
seritop=sum(x);
seritop
Hafta 12
Matlab Ders Notlar
Matlabda polinomlar
POLNOMLAR, mhendislik problemlerinin zmlemesinde
kullanlr.
Deney ve gzlem sonucu ortaya karlan veriler arasndaki ilikiyi
temsil ederler.
POLNOMLAR: eitli derecelerdeki polinomlar, sabit katsayl
lineer diferansiyel denklemler ile bu tip denklemlerin zlm
sistemlerinin bir sonucu olabilirler.
sabit katsayl n. Dereceden bir polinomun genel hali:
a
n
x
n
+ a
n-1
x
n-1
++a
1
x+a
0
=0
Hafta 12
Matlab Ders Notlar
Polinom fonksiyonlar ve ilevleri
poly:Matris yada vektrn karakteristik denklemini verir.
polyval:Deikenin herhangi bir deeri iin
roots: katsaylar polinomunun kklerini verir
conv: iki matris arpmndan oluan katsaylar polinomunu verir
deconv: Bir polinomun arpanlarn verir
polyder: Polinomu trevini alr
polyint: polinomun integralini alr
residue:polinomun en basit bileen katsaylarn verir.
Hafta 12
Matlab Ders Notlar
Matlabda polinomlar
a
n
x
n
+ a
n-1
x
n-1
++a
1
x+a
0
=0
rnek: x
5
-2x
4
+2x
3
+3x
2
+x+4=0
p=[1,-2,2,3,1,4];
pkokler=roots(p);
Hafta 12
Matlab Ders Notlar
Matlabda polinomlar
rnek: ax
2
+bx+c=0
clear;
clc;
a=input('a katsayy gir=');
b=input('b katsayy gir=');
c=input('c sabit sayy gir=');
s='a*x^2+b*x+c';
iddkokleri=solve(s)
Hafta 12
Matlab Ders Notlar
Bir polinomun Trevi ve ntegrali
rnek: p = s
5
-2s
4
+2s
3
+3s
2
+s+4=0 gibi bir
polinomun trevi:
dp/ds=5*s
4
-8*s
3
+6*s
2
+6*s
clear;
clc;
p=[1 -2 2 3 1 4];
turev=polyder(p)
Hafta 12
Matlab Ders Notlar
Bir polinomun ntegrali
rnek: P(x)= x
5
-2x
4
+2x
3
+3x
2
+x+4 gibi bir
polinomun integrali:
Q(x)=P(x)dx dir.
clear;
clc;
p=[1 -2 2 3 1 4];
intpol=polyint(p);
Hafta 9-10
Matlab Ders Notlar
MATLAB de Programlama
XI-XII
Hafta 9-10
Matlab Ders Notlar
DOSYA YNETM
u ana kadar bir programda hesaplanan veya elde edilen
veriler RAMde saklanacak ekilde tanmlanmt. Yani,
bilgisayar kapatldnda veya MATLAB program sona
erdirildiinde veriler de kaybolmaktayd.
Oysa pek ok uygulamada elde edilen veriler daha sonra
kullanlmak zere saklanmas gerekir. Bunun iin verilerin bir
dosyaya yazlmas gerekmektedir.
Hafta 9-10
Matlab Ders Notlar
MATLAB de VER GR-IKI FONKSYONLARI
Dosya ama: fopen
fopen komutu bilgi kaydetmek iin veri dosyas aar veya
oluturur. Yazm format:
fade = fopen(dosya ad,izin)
Burada:
ifade-> dosya deikeni
dosya ad->verilerin kaydedilecei dosyann ad
izin-> dosyann kullanm izni : r,w,.., vs.
Hafta 9-10
Matlab Ders Notlar
zin Tipleri:
Tipler Aklama
r Dosyay sadece okumaya aar (yazmaya izin vermez)
r+ Dosyay yazmaya ve okumaya aar
w Varolan bir veri dosyasnn iindekini siler, dosya yoksa
oluturur ve dosyay yazmaya aar
w+ Varolan bir veri dosyasn yazmak iin aar, dosya yoksa
oluturur ve dosyay okumaya ve yazmaya aar
a Varolan bir veri dosyasn yazmak iin aar, dosya yoksa
oluturur ve girilecek bilgileri dosya sonuna ekler
a+ Varolan bir veri dosyasn okumak ve yazmak iin aar, dosya
yoksa oluturur ve girilecek bilgileri dosya sonuna ekler
Hafta 9-10
Matlab Ders Notlar
Dosya kapama: fclose
Dosya yazma ve/veya okumaya alan dosyann
MATLAB den ilikisini kesmeye (dosyay
kapamaya) yarayan komuttur.
Kullanm:
Sonuc=fclose(ifade)
Hafta 9-10
Matlab Ders Notlar
Dosyaya bilgilerin kaydedilmesi: fprintf
Verilerin ekrana yazlmasnda kullanlan fprintf fonksiyonu, ayn
zamanda fopen komutuyla alm dosyaya yazmakta da
kullanlr.
Kullanm:
fprintf (ifade=%format%format%format.%format,deiken1,
deiken2,deiken3, .)
Hafta 9-10
Matlab Ders Notlar
rnek
Aada verilen M dizisini (vektrn) bir dosyaya kaydeden bir
MATLAB program yaznz
M=[1 2 3 4];
a=fopen('veri.dat','w');
fprintf (a,'%d %d %d %d',M);
fclose(a);
M=[1 2 3 4];
a=fopen('veri.dat','w');
for i=1:4
fprintf(a,'%d ',M(i));
end
fclose(a);
For dngs ile:
Hafta 9-10
Matlab Ders Notlar
rnek
Aada verilen matrisi veri.dat dosyasna
kaydeden bir MATLAB program yaznz.
A=[1 5 11 ; 2 4 5];
a=fopen('veri.dat','w+');
for i=1:2
for j=1:3
fprintf(a,'%d ',A(i,j));
end
end
fclose(a);
veri.dat isimli dosyay
silmeden A dizisini bu
sonuna eklemek
iin hangi izin
kulanlmaldr?
Hafta 9-10
Matlab Ders Notlar
Dosyadan bilgilerin okunmas: fscanf
fscanf: Formatlanm verileri ieren dosyadan deerleri okuma
komutudur ve yazlm:
[deiken, sayi] = fscanf (ifade,format,alan)
Burada;
deiken: okunan deerlerin atand deiken
sayi : okunan data says
alan : inf ile verilerin tamamn okunmas salanr
rnek
Aada verilen vektr bir dosyadan
okuyup b deikenine atayan MATLAB
program
veri.dat
1 5 11 2 4 5
clear all
clc
a=fopen ('veri.dat', 'r' );
[b,sayi]=fscanf(a,'%d ',inf);
fclose(a);
b
Hafta 9-10
Matlab Ders Notlar
uygulama
Dardan girilen renci no ve dneme ait ald ders
isimlerini ve notunu kaydeden bir MATLAB program
yaznz
Hafta 9-10
Matlab Ders Notlar
M-Fonksiyon Yaps
function cikis_ifadesi1, 2,, n =fonksiyon_adi (giris_ifadesi1, 2, n)
M-Fonksiyonlar kullanlrken dikkat edilecek hususlar:
1- Kullanclar kendi fonksiyonlarn yazmak iin m-fonksiyonlarn
kullanabilirler.
2- Function alt program ve ana program eklinde iki program yazlarak bu iki
program ayr ayr kaydedilir.
3- Alt programdaki fonksiyon_ad, m-dosyasna verilen isimle ayn olmaldr.
4- Ana programdan alt program, function ad kullanlarak arlr.
5- Alt programdan da ana programa gei yaplabilir fakat genelde tercih
edileni tersidir.
6- Parametre aktarm olmas durumunda alt ve ana programda eit sayda
parametre ve giri deikeni olmaldr.
Hafta 9-10
Matlab Ders Notlar
rnek: ki nokta arasndaki uzakl bulan program m-fonksiyon
(alt program) kullanarak yaznz.
x1=1.noktann x koordinati; x2=2.noktann x koordinati
y1=1.noktann y koordinati; y2=2.noktann y koordinati
function uzaklik = uzak(x1,y1,x2,y2)
uzaklik=sqrt((x2-x1).^2+(y2-y1).^2);
function cikis_ifadesi1, 2,, n =fonksiyon_adi (giris_ifadesi1, 2, n)
Bu function alt program
uzak.m olarak kaydedilir.
FUNCTION ALT PROGRAMI (uzak.m):
ANA PROGRAM:
ax=3; ay=4; bx=1; by=2;
sonuc = uzak(ax,ay,bx,by); % uzak.m alt programn aryor
fprintf(iki nokta arasindaki uzaklk=%f,uzaklik);
Hafta 9-10
Matlab Ders Notlar
Ana program herhangi bir isimle kaydedilir ve koturulur.
Program, function adna (uzak) geldii zaman alt program arlr
ve ax, ay, bx, by parametreleri srasyla x1, y1, x2, y2 giri
deikenlerine aktarlr.
Function alt programnda hesaplama gerekletirilir.
Functiondaki k deikeni olan uzaklik alt programda kullalmakta
ana programda ayn deer sonuc deikeninde saklanr.
Alt programdan ana programa parametre aktarm zorunlu deildir.
stenirse deikenlerin deerleri alt programda da girilebilir ve sonu
alt programda yazdrlabilir.
Adm adm gerekletirilen ilemler:
Hafta 9-10
Matlab Ders Notlar
Uygulama: Yukardaki rnei ana programdan alt programa parametre
aktarm yapmadan yeniden yaznz.
(Deikenlerin girilmesi, sonucu hesaplama ve yazdrma ilemi alt
programda yaplacaktr)
function uzaklik = uzak
x1=3; y1=4; x2=1; y2=2;
uzaklik=sqrt((x2-x1).^2+(y2-y1).^2);
fprintf(iki nokta arasindaki uzaklk=%f, uzaklik);
FUNCTION ALT PROGRAMI:
ANA PROGRAM:
uzak; % uzak.m alt programn aryor
Hafta 9-10
Matlab Ders Notlar
Alt programdan ana programn arlmas:
function sonuc = sonuckiyasla
a=input( a =) ; b=input( b=) ; c=input( c=);
d=a*b;
e=a*c;
f=b*c;
kiyasla % kiyasla.m ana programn arr
rnek: a, b ve c deikenlerinin alt programda girilmek suretiyle alt programdan
ana programn arlmasna dair rnek (Sk kullanlmaz)
if d>e
sonuc=d, e den byktr
elseif d>f
sonuc=d, f den byktr
else sonuc=d, en kktr
end
Alt program
(sonuckiyasla.m)
Ana program
(kiyasla.m)
Hafta 9-10
Matlab Ders Notlar
DEV:
Dardan girilen x ve y deerlerine gre aadaki fonksiyonun deerini
hesaplayan bir program yaznz (M-fonksiyonu kullannz)
)
y
x
tan(
) ( log
1 ) ln(
x.y y x y) F(x,
10
2


y
x

You might also like