Professional Documents
Culture Documents
help help
& Ve
<= Kk Mantk ve iliki Operatrleri:
eit | Veya
> Byk ~ Deil
~= Eit deil
NOT: cc MATLAB Kullanim Kilavuzu nda ilk 3 blm genel kullanimla alakali
bilgiler iermektedir. Son blm ise Bilgisayar Destekli Kontrol Sistemleri
dersi ieriine gre hazirlanmistir.
1
1.2 10 15
3 5.5 2
4 6.8 7
-- Matris
Balang olarak komut
tanimlamak satrnaA: matrisi verilmi olsun :
iin asagidaki
date
ans=
30-0ct-2002
-- MATLAB bir ilemin sonucunu ans= .... seklinde gsterir. ( ans = answer = cevap)
-- MATLAB programindan ikmak iin ise exit veya quit yazmak yeterli olacaktir.
-- En son tanmlanan herhangi bir x deeri iin yapilan ilemlerden sonra bu 4x deeri
komut satirina yazilip enter tuuna basilirsa daha nce neye karsilik olarak tanimlandigi
ekrana yazlacaktr.
yazilmalidir.
Yukaridaki iki yazim biiminden okuma kolayligi olmasi iin ilk yazilan tip
kullanilacaktir.
y=
1
2
3
-4
-5
32
23 10
M = 45 N=23
67 04
BuKompleks
-- matrisin transpozesini
matris tanimlamak
almak iin
iin asagidaki
: X matrisi verilmi olsun:
C = A yazilirsa
1 j ekranda grlecek transpoze deeri :
x=
-j5 2
C=
Komut satirina1ise4su ekilde
7 girilecektir :
Bu matrisi MATLABe
2 5 8 tanitmak iin su ekilde yazilmalidir :
X3= [1
6 i; 9
-j5 2]
A = [1.2 10 15; 3 5.5 2;4 6.8 7]
Bu durumda ekranda grlecek deer :
Yani her satirin sonunun neresi olduunu konulan noktali virgl iareti temsil
-- Kompleks sayilarin girilmesi iin ise i =-l denkleminin kk l veya j olarak
etmektedir.
tanimlanir. X =
1.0000+0
-- rnek olarak aadaki B matrisini tanitmak iin :0+1.0000
rnek olarak l+jv3 deerini 0-5.0000i
tanitmak iin : 2.0000+0
X = 1 +sqrt(3)*
i -0.02 veya
1 eB=1
Y
X== l+sqrt(3)*j
X komutu yazilirsa
olarak: yazilmalidir.
v2 3
Y=
1.0000+0
Bu kompleks ayi stel 0+5.0000
formatta da yazilabilmektedir : l+jv3 = 2 exp[(? /3)*j]
2.0000+0:
0-1.0000ifade yazilacaltir
Bu durumda komut satirina asagidaki
B = [1 exp(-0.02); sqrt(2) 3] seklinde yazilmalidir.
iletisi ekrandaxokunacaktir.
= 2 exp[p/3)*j]
iDaha
ve jnce
daha denceden deiken
belirtildii gibi olarak kullanilmissa
yukaridaki tanimlama
ilem konjge iin ii olarak
transpoze ve jj
Ekranda ise su ekilde
Eer gzkecektir:
kullanilacaktir.Yani:
algilanmaktadir. sadece transpoze alinacaksa (konjgesiz) komut su ekilde
yazilmalidir:
= sqrt(-l j
B
jj ==sqrt(-l)
1.0000 0.9802
Y. veya conj(Y!)
1.4142 3.0000
Dolayisiyla asagidaki yazim da mmkn olmaktadir :
BuApostrof
-- durumdaiareti
ekranda gzkecek
() matrisin deerler
konjge :
transpozesinin alnmasna yarar. Eer matris reel
bir matris ise basit
X = 1olarak transpoze alim ilemi olarak da tanmlanabilir.
+sqrt(3)*
ans =
Yeni bir A matrisi 1.0000+0 :
tanmlayalm
X = l+sqrt(3)*jj 0-1.0000i
0+5.0000 2.0000+0
A = [1 2 3; 4 5 6; 7 8 9]
Ekranda
-- grlecek
Toplama matris
ve ikarma su ekildeyapilmasi
ilemlerinin olacaktr:iin asagidaki M ve N matrisleri verilmi
olsun : A=
1 2 3
4 5 6
7 8 9
45
4 5 6
8 10 1
12 15 2
1
8
--
BuMatris arpimi
deerleri ekrana daha nce
girmek iin:de belirtildii gibi * arpma operatryle yapilmaktadir.
Asagidaki rnek incelenirse arpmanin da tanimi geregi arpilan matrislerin
boyutlarinin yusmasi
M = [2 3; gerekmektedir.
4 5 ; 6 7] M Aksi takdirde arpma ilemi yapilmayacak ve
hata mesaj i verilecektir.
=
x= [1 ; 2; 3]; y = [4; 5 ; 6]; A = [1 1 2; 3 4 0; 1 2 5] x ! *y ans
2 3 4
=5 6
7
32
N = [1 0; 2 3; 0 4]
x*y ! ans
M=
1 O
2 =3 O
4
5*A
=
Toplama ilemi iin:
ans
5 5 10 C = M+N
15 20 0 b = A*x
5 10 25 C=
3 b3 =6
8 6 9
11 11
20
Eer x vektr su aadaki gibi verilirse :
Bunlarin disinda matris bir skaler deerle de arpilabilir :
5
X= 4
6
X = [5 ; 4 ; 6]
T = X-1 T =
4
3
5
76
angle (A) ise faz alarn radyan cinsinden A kompleks matrisi iin
hesaplamaktadr. Burada tanm deerleri -? ve + ? arasnda kabul edilmektedir.
ans =
2.8284 3.1623
6.4031 6.0828
angle(A)
ans =
1. 7854 1.2490
1. 8961 -0.1651
z = x + iy = relT
r = abs(z)
theta = angle(z)
z = r*exp(*theta)
x = [1 2 3];
X.A2
ans=
1 49
98
2x2 bir kare matris olursa yine ayni ekilde :
A = [1 2; 3 4];
A A2
ans =
1 4
9 16
Eleman elemana arpma ilemi iin arpma operatrnn nne bir nokta iareti (.)
konmaktadir:
x = [1 2 3], y = [4 5 6] z =
[x.y] z = [4 10 18]
123 456
A= B=
198 765
C = A *B
C=
4 10 18 7
54 40
A=[l 2 3 4 ]
A.A2
ans =
1 4 9 16
10
0.2500 0.4000 0.4000
0.1429 1.5000 1.6000
ans =
- 1.8333 - 1.0000 - 0.1667
1.0000 0 0
0 1.0000 0
-- eitli komutlar ve durumlar tek bir sirada virgl (,) veya noktali virgl ile (;)
ayrilarak yazilabilir.
format
short
format long
x = [1/3 0.00002];
x
x=
0.3333 0.0000
format short; x x
0.3333 0.0000
format long; x x
11
2 3 2
5 4 1
2 6 8
-- Bir
lden 5e boyutlarini
matrisin kadar sayilari 0.5lik
renmek
zdegerlerini bulmak araliklarla
iin eig(A)
iin size(A) yazdirmak
komutu,
komutu : istersek
rankini bulmak
kullanilir iiniki noktayi (:)
rank(A)
kullanmak
kullanilir. yeterli olacaktir:
A = [0 1 ; -1 0] eig(A)
t=
2 3 2
1 2 3 4 5
5 4 1 ans =
2 6 8 0+1.0000i 0 -1.0000i
t= 1:0.5:3 t=
z vektrleriszebulmak
ansda= tek satirlik
(A)1.0000 bir ilem gerektirmektedir. Aslinda zvektrleri
1.50000 2.0000 2.50000 3.0000
bulmak iin verilen [X,D] = eig(A) komutu ayni zamanda z deerleri de bulduu iin
her iki bilgiye ayni
3 anda ulama imkani olmaktadir :
3 yazdirirsak
Dzgn azalan biimde : t = 5:-l :2 t = 5 432
Bir matrisin i. satirini veya j. stununu grntlemek iin asagida tanimlanan A
rank(A) ans
matrisini komutlariyla =
inceleyelim :
3
Asagidaki A matrisinin 2. satiri grntlemek iin : A(i, :)
-- Bir matrisin determinantini bulmak iin det(A) komutu kullanilir.
A = [0 1 0;0 0 1 ;-6 -11 -6]
A(2 , :)
ans =
1 01
A(:,3)
x = [2 3 6] norm(x)
ans =
7
A = [0 1 0 ; 0 0 1 ; -6 -11 -6]
[X,D] = eig(A) X =
D=
-1.0000 0 0
0 -2.0000 0
0 0 -3.0000
Kegen
Burada matrisisonu
grlen oluturmayla alakali
katsayilari asagidakidenklemin
karakteristik dier rnekler de
katsayilaridir. Yani :
ones(2,2)
3 2
sans+ =6s + lls +: diag(l:5)
incelenebilir 6=0 ans =
-- Bir polinomun2 kklerini
1 bulmak iin roots(a) komutu yazilmalidir. Yukaridaki
karakteristik denklemin 1 kklerini
1 bulmak istersek :
0 0 0
0 0 0 zeros(3,3)
r = roots(p)
0 0 0 ans =
r=
-3.0000
2.000
-
0
1.000
-- Birim matris de eye(n)
-
komutuyla istenilen boyutta oluturulabilir :
0
eye(5)
-- Polinomlarin arpimi
ans = iin conv(a,b) komutu kullanilir.
a(s) = s - 20.6
b(s) = s2 + 19.6s + 151.2
a(s) ve b(s) polinomlarini arpmak iin :
a = [1 0 -0.26]; b = [1 1.96 151.2] c =
conv(a,b)
Bir matrisin
c =kegenindeki elemanlari listelemek iin diag(A) komutu kullanilir :
1.0e+003
0.0010 0.0196 0.1306 -0.4038 -3.1147
Dolayisiyla arpim
A = [1sonucu
2 3; 4 5su6;ekilde
7 8 9] ;yazilabilir :
Burada X sonu matrisinin her bir stunu verilen A matrisinin bir z deerini
dag(A)
c(s) = s4 + 19.6s3 + 130.6s2 - 403.8s - 3114.7
gstermektedir.
ans =
1 0 0 matrisinin
D sonu 0 0 diyagonalindeki (kegenindeki) elemanlarin her biri de verilen A
0 1 0 0 0 1 gstermektedir.
matrisinin zdegerlerini
Bir 5
0 0 1 polinomda
0 0 herhangi bir tamsayi deerini hesaplatmak iin polyval(c) komutu
kullanilir 9
0 0 0 es: boyutlu
Verilen 1 0 farkli iki A ve B gibi matrisin genelletirilmi z deerlerini ve z
0 0 vektrlerini
0 0bulmak
1 iin ise [X,D] = eig(A,B) komutu yazilmalidir.
p(s) = 3s2 + 2s + 1
Kegenin elemanlari
-- Karakteristik haricindeki
denklemi matris
bulmak iin bileenleri
poly(A) komutu0 olarak gstermek istersek :
kullanilir.
p= [3 2 1]; polyval(p,5)
diag(diag(A))
A= [0 1 0; 0 0 ans
1 ;-6= -11 -6]
1 0 0
0
p = poly(A) 5 0
ans =
P= 0 86
0 9
1.0000 6.0000 11.0000 6.0000
-- 1 ve 0 sayilarinin istenilen matrisel boyutta abuk olarak retilebilmesi iin
ones(m,n) ve zeros(m,n) komutlari kullanilabilir :
1 0 0 0 0
0 2 0 0 0
0 0 3 0 0
15
16
14
0 0 0 4 0
0 0 0 0 5
0 0 0 0 0
0 1 0 0 0
0 0 2 0 0
0 0 0 3 0
0 0 0 0 4
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
diag(0:4
) ans =
[diag(l:5)-diag(0:4)]
ans =
ALITIRMALAR
1- Sin(x) i ilk 10 terim kullanarak bulan bir Matlab programi yaziniz. X ai deerinin
derece olarak kullanicidan alip sin(x)i bulunuz ?
2- Yerden V0 hiziyla ve T aisiyla frlatilan bir bir topun t = 0,1,2,... 10 saniye boyunca
hareket bilgilerini veren.Sema T, Vx, Vy bilgilerini her saniyede grntleyebilmelidir.
-- Bir matrisi rastgele olarak oluturmak iin rand(n) komutu kullanilir.O ile 1
arasindaki sayilari alir.
rand(4)
ans =
18
17
ylabel(\..)
BLM 2 : GRAFK ve EGRI IZIMLERI
izilen grafiin y-eksenine istenilen aiklamayi yazmak iin kullanilir.
x ve y vektrleri ayni boyutta ise bu vektrleri ekrana izdirmek iin plot(x,y)
text(X,Y/text)
komutu kullanilir.
Grafik, ekrani zerine istenilen koordinatlar dahilinde herhangi bir
aiklama
A =[ 7 2 yazmak
5]; iin kullanilir.
B =[5 4 8];
. + * O X plot(A,B);
istenildii takdirde izilen erinin dz izgi olarak deil de farkli
grid
karakterlerle izdirilebilir. Bunlar iin ise yukarida gsterilen nokta, ar ti,
yldz, yuvarlak ve x karakterleri kullanilir. Bu karakterleri plot() komutu
Bu durumda grafik ekrana
ierisinde +asagida
seklindegsterildii gibi otomatik
yazmak yeterli olacaktir.olarak izilecektir:
rAyrica
g b wplot(X,Y,x)
i komutu izilen eriyi x karakterini kullanarak izmektedir.
izilen erinin rengi de yukarida gsterilen kisaltmalarla deitirilebilir.
Burada V kirmizi renk (red), g yeil renk (green), ir mavi renk (blue),
w beyaz renk (white) ve i ise (invisible) olarak kisaltimistir.
Not: Bu zellikler ve daha farkli grnt zellikleri grafik ekrani zerindeki Insert
ve Tools menleri araciligiyla komut satirini kullanmadan da yaplabilmektedir.
-- Asagidaki rnekte ise y = x2 erisini 0 ve 3 araliginda izdirelim :
x= 0:0.1:3; y =
x.A2; plot (x,y,r);
title(y=x2 erisi);
xlabelf'x}; grid;
ylabelfy)
x=3:0.5:10
Seilen bir parametreye gre (burada x parametresi seilmi) izdirilmesi
planlanan erinin sinirlari yukaridaki gibi yazilir. 3 ve 10 deerleri izdirilmek istenen
araligi, ortadaki 0.5 deeri artis miktarini gstermektedir, grid
Grafik arka yznn lekli olarak gsterilmesini salar.
20
19
Asagidaki rnekte
Birden fazla isetek
eriyi 3 farkli eri izdirilmistir:
bir grafik ekrani zerinde grmek iin izdirilmesi istenen
eriler ayni plot(...) komutu iinde yazilmalidir.
1=0:0.5:10;
-- Birden fazla eriyi st ste izme uygulamasi olarak asagidaki rnekte sin(x) ve
x=fA2+5*t-3;
cos(x) erileriy=t.A2+3;
tek bir grafik ekrani zerinde izdirilmistir :
z=t;
plot^t/Gyd/g'^t/b');
t = 0:0.05:10; x =
grid;
sin (t); y = cos(t);
titie(3 Farkl Grafiin Czmi);
plot(t,x,x,t,y,!o);
xlabel(Giri Deerleri);
grid;
ylabel(Cks Deerleri);
title(Sin ve Cos Erileri);
text(x,t,x);
xlabel(Saniye);
text(y,t,V);
ylabel(x=sint;
text(z,t,z') y=cost);
text (3,0.45, sint );
text(0.8,-0.3,cost)
22
21
-- Kompleks vektrlerin iziminde plot(z) ifadesi kullanilir. izim ileminde ise reel ve
imaj iner kisimlar ayri ayn ikili noktalar olarak kabul edilir:
23
Ayrica
Bir A vektrn bar grafiklerim
grafik ekranndaki menlerden kullanarak
yararlanarak izdirmek iin bar(A)
eitli grnt komutu
deiiklikleri
kullanilir. rnek
yapilabilir. Basamak fonksiyonu
olarak Tools seklinde
mensndeizilecek ise stairs(A)
Rotate-3D komutuknllanilarak
seenei kullanilir.
Her ikiyardimiyla
mouse izime ait rnek grafikler
iki stteki barasagida a.yri grnts
grafiinin ayri verilmitir :
asagidaki gibi elde edilebilir.
A= [ 2 5 -5 6 1 ]
bar(A); grid;
xlabel(bar);
stairs (A);
xlabelf1 stairs)
G yesil(OlO) * yildiz
B mavi(OOl) 5 karekk
W beyaz(lll) D baklava
24
25
--
3-D
3 boyutlu
Lineag(3veBoyuttu
yzey izimlerinde
dz izgi) izimi
kullanilan
iin komutlardan
plot3(...) komutu
biri mesh(...)
kullanilir
komutudur.
.Asagida
Bu komut
heliks verilen
izimi giriiverilmitir
programi z bileeni: olarak algilar ve dikdrtgen x-y dzlemi zerinde z
ekseni boyunca izim yapar. surf(...) komutu be ayni isi yzey olarak yapar.Asagidaki
komut satirlarinint=0.01:0.01:20*pi;
izim grntleri yine alt tarafinda verilmitir.
x=cos(t);
mesh(eye(10));
y=sn(t);
grid
z=t.A3;
surf(eye(l 0));
plot3(x,y,z);
grid
xlabel('Helix');
grid
JS2
Window Help File Edit View Insert Tool;
27
26
z=exp(-x2-y2) fonksiyon yzeyini [2,2]x[-2,2] tanim araliginda 3 boyutlu olarak
izdirelim:
x=-2:0.2:2;
y=x;
[x,y]=meshgrid (x,y);
z=exp(-x.A2-y.A2);
mesh(z)
28
rnek olarak z=x +y2+xy yzeyini -2<x<2 ve -2<y<2 araliginda izdirelim :
-- Herhangi[X,Y]=me$hgrid(-2:0.5:2,-2:0.5:2);
bir yzey grafiinde tepe ve alt tepe (minimum ve maximum) deerlerini
gstererek yapilan
Z=X. Aizimlerde peaks(...)
2+Y. A 2+X. * Y; komutu kullanilir :
me$h(X,Y,Z}
[X,Y]=meshgrid (-
3:0.125:3); pecks(X,Y)
,=Jsi *J 0
/ J O 0 # >t A
Peaks
29
30
ALITIRMALAR
31
BLM 3 : MATLAB ile PROGRAMLAMA
ilk etapta rnek olarak oluturulmu olan bos bir M-File dosyasi asagida gsterilmitir:
32
B)
-- DEKEN
A) GENEL
dir komutu
AMALI
: Bellekte
ATAMA KOMUTLAR
kayitli olan dosyalari listeler.
(Not:
Bir
C programi
workspaceve komutudoru: alisma
PASCAL olarak alistirmak
gibi programlama iin, icra
dillerinde,
esnasinda alisma ettirmeden
programin
alaninda nce
ana
(bellein clear
gvdesinin
kullaniciya
komutuyla
ayrilan Msmi)mevcut
olusturulmasina mevcut deikenler
balamadan silinebilir.)
hemen
deikenler nce, programdaki
hakkindaki ayrintili bilgitm deikenlerin
asagida hangi
gsterildii tip
gibi bir
pencere
deiken iinde
olduklarini
verilir.
belirtmek
Pencereve iindeki
programin deikenlerin
bilgisayar belleinden
zerine iftuygun
tiklayarak
miktardao
deikenle ilgili bilgilere
alani bu deikenlerdr iinulasilip deiiklikler
tahsis etmesini yapilabilir.
salamak gerekir. MATLABde deikenler,
kendilerine ait bir isim ve onlara
Oy.matanacak deerler yardimiyla
saylar.mat oluturulurlar. nceden
smple-report.sgml
deiken tipini belirtmeksizin, deikene verilen
diary deere bagli olarak MATLAB, uygun
simple-report.html
deiken tipini belirler ve bilgisayar belleinden yeteri kadar yeri bu deikene tahsis
-- type komutu : Bir .m uzantili dosyanin ieriini komut satirinda grntler.
eder.
Birinci blmde temel atamalarla ilgili bazi bilgiler (sabit, deiken, matris,
edit komutu
dizi, vektr : Bir M-dosyasinin
tanimlama...) verilmiti. ieriinde deiiklik yapma imkani salar.
load komutu : Diskte sakli bir dosya iindeki deikenleri tekrar bellee
ykler.
B=lnspace(0,10,6)
B=
0 2 4 6 8 10
35
36
-- who komutu : alisma alanindaki o esnada mevcut olan deikenlerin isimlerini
listeler. Ayrica vvhos komutu deikenler hakkinda daha ayrintili bilgi verir.
who
Your variables are:
ABCV
A=[5 872596]
A=
5 8 7 2 5 9 6
>> length(A) ans =
7
sum( h mint k maxt k meant ) komutlari : Yandaki komutlar sirasiyla bir vektrn
elemanlarinin toplamini, en kk elemanini, en byk elemanini ve ortalamasini
bulur.
37
Bu program komut satirinda alistirilirsa asagida gsterildii gibi icra edilir ve grafik
de otomatik olarak yine asagida gsterildii gibi izdirilir.
doru
********* Noktas Bilinen Dorunun Ozm*********
1. Noktann apsisini giriniz :3
1. Noktann ordinatin giriniz :9
2. Noktann apsisini giriniz :-5
2. Noktann ordinatin giriniz :7
Not: Herhangi bir .m dosyasi penceresinde f butonuna mouse ile bir defa
dokunulduunda (yukaridaki ekilde de grlmektedir) work dizini altinda kayitli
olan btn fonksiyonlar listelenir.
A=[5 3 6 9 73 6 5];
>> ist(A) enk =
3
enb =
rnek Program: 73 farkli partinin yapilan genel seimler sonucu aldiklari oy oranlarini
pasta grafik dilimi zerinde gsteren grafiin izimi programi asagida gsterildii
3n
gibi Oy.m dosyasi adi altinda yazilmistir. izilmesi istenen pasta dilimi grafigi iin
=
kullanicidan bu partiye ait yzdelik oy orani rakam olarak istenmekte ve grafik
7
otomatik olarak izdirilmektedir.
ort =
15.2857
stsaprna =
23.6203
ans =
152857
40
38
Bu program komut satirinda alistirilirsa asagida gsterildii gibi icra edilir ve grafik
de otomatik
Bu olaraksatirinda
program komut yine asagida gsterildii
alistirilirsa asagidagibi izdirilir.
gsterildii gibi icra edilir
Oy sayiyi giriniz: 4
Birinci
kinci sayiyi giriniz: 2
Partilerin
K c=l 0 cOy= Oranlar Grafii
10
A
K>>Partisinin
return d =aldig oyun yzdelik dilimdeki rakamin giriniz: 50 B
80
Partisinin aldg oyun yzdelik dilimdeki rakamin giriniz: 20 C
Partisinin
K>> returnaldig oyun yzdelik dilimdeki rakamni giriniz: 30
rnek Program: iki nokta arasindaki uz ak ligi bulan basit bir programi, nce
fonksiyon yap isin i kullanarak sonra da ayni programi bu fonksiyon yap isini bellekten
agirma ilemini uygulayarak icra ettirelim :
41
42
b) Fonksiyon yapisini bellekten
agirarak :
uzaklik
-------ki nokta arasindaki uzaklik---------------
1 .noktanin x deerini giriniz : 2
1 .noktanin y deerini giriniz : 5
2.noktanin x deerini giriniz : 4
2.noktanin y deerini giriniz : 3 x =
2.8284
ki nokta arasindaki uzaklik:2.828427
1 .ARTLI FADELER :
Koul doru ise deyimi, deyimi, ... , deyim_n, ile belirtilen deyimler grubu icra edilir ve
programin kontrol endi izleyen deyime geer; koul yanlis ise bu durumda deyimi,
deyim2,..., deyimj ile belirtilen deyimler grubu icra edilmeden kontrol endi izleyen
deyime geecektir.
43
b) if koul
deyimi
deyim 2
deyim_n else
deyim_n-i-l
deyim_n+2
deyim_m end
Koul doru ise deyimi, deyimi, ... , deyim_n, ile belirtilen deyimler grubu icra edilir
ve programin kontrol endi izleyen deyime geer, koul yanlis ise bu durumda da
sadece else i izleyen, deyimljn+l, deyim_n+2, ... , deyim_m ile belirtilen deyimler
grubu icra edilecek ve kontrol end i izleyen deyime geecektir.
c) if kosull
deyimi
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. Kosullarin hepsi de yanlissa,
kontrol else i izleyen deyim_n+l e geer ve bu deyim de icra edildikten sonra kontrol
end i izleyen deyime geecektir.
rnek Program: Kullanici tarafndan bir ayi istenip bu s ayinin pozitif, negatif veya 0
mi olduunu sorgulayan ve ekrana yazdiran program a sag id a incelenebilir:
44
Komut satirindan icra edilirse :
Br say giriniz: 55
Saynz pozitiftir...
f_l
Br say giriniz: -9
Saynz negatiftir...
if_l
Br say giriniz: 0
Saynz sfrdr...
-- switch - case yapisi : ikiden fazla durumu kontrol etmek iin, if - elseif- else - end
yapisina alternatif olarak kullanilan bir kontrol yapisidir.
ifadenin deeri kontrol edilir \e buna gre farkli bir deyim veya deyimler grubu icra
edilir. rnein, ifadenin deeri deeri ise, deyimi icra edilir ve kontrol endi izleyen
deyime geer.
ifadenin deeri, deger2, dege*3 ya da deger4 e esitse bu durumd deyim2 icra edilir ve
kontol endi izleyen deyime geer.
ifadenin deeri, caselerle kontrol edilen deerlerden hi birine eit deilse bu durumda
da otherwise szcn izleyen deyim_n+l icr edilecektir.
switch(ifade)
case deeri
deyimi
case deger2,deger3,deger4
deyi m2
case degerjt
deyimn
otherwise
deyim_n+l
end
45
rnek Program: Haftanin kainci gnnn ne olduunu bulan basit bir program
asagida incelenebilir:
gun
Haftanin kacinci gunu ? : 5 gun
=
Cuma
2.DNG FADELER :
for parametre=baslangi:artim:son_deger
dey im 1 dey im2
deyim_n
end
46
Program: A=5
rnek Program Arkailkarkaya blmebalayarak
deerinden ilemlerinin
A<8yapildigi asagidaki
olduu srece Ayafor1 eklemek
dngs
iin asagidaki
programini program incelenebilir :
incelenebilir:
A = icra edilirse :
Komut satirindan
0/25=
A
0 =0/4 =
0 6
A
ic =evrim sonu
20/27 = 1 0 20/4 =
A = evrim sonu
5 ic
8
40/2 = 20 40/4 =
1 0 ic evrim
sonu 60/2 = 30
60/4 = 1 5 ic
evrim sonu 80/2
= 40 80/4 = 20 ic
evrim sonu di s
evrim sonu
while koul
deyimi
dey im 2
dey im_n
end
48
47
xl 0 1 xl ul
_ + 1 0
x2 2 3 x2 0 1 u2
ALITIRMALAR
BOLM 4 : KONTROL SSTEMLERNDE ZAMAN-FREKANS
ANALZ
1- Kenarlari kullanici tarafndan istenen bir genin eitkenar, ikizkenar \eya ekenar
gen mi olduunu bulan MATLAB programini yaziniz.
Matematiksel modeller lineer sistemlere veya baka sistemlere MATLAB
komutlari
2- vasitasiylakolaylikla
ax +bx+c dntrlebilir.
ikinci dereceden denkleminin kklerini bulduran MATLAB proramini
yaziniz.
Asagida kontrol sistemleri iin gerekli bazi dnmler aiklanmistir :
3- Bir otomobil,
Transfer durgun halden
fonksiyonundan harekete
durum balayarak
uzayina evirme :10 dakika boyunca hizlaniyor, hizi
60 km/saat oluyor. Sonra 15 dakika boyunca sabit hizla hareketine devam ediyor ve 10
dakika boyunca yavalayarak
[A B C D] hizi 0 komutu,
= tf2ss(num,den) oluyor. Disaridan girilen herhangi bir t aninda
otomobilin hizini veren bir MATLAB programi yaziniz.
F(s) num _, , . ._
=------ = C ( sI-A )
4- Kullanicidan doum gnn soran ve B + D sistemim,
bu kullanicin ka yil, ka ay ve ka yil
U(s) den
yasadigini bulan bir MATLAB programi yaziniz.
dy
[num,den] = ss2tf(A,B,C,D)
Eer sistemin birden fazla girii varsa asagidaki komut kullanilir :
[num,den] = ss2tf(A,B,C,D,u)
rnek olarak asagida verilen iki girili bir sistemin diferansiyel denklem takiminin
MATLAB komut satirindaki ilemleri ve ikislari incelenebilir. Ayrica sistemin iki
girii olduu iin Uj girii ele alindiginda u2 sifr, u2 girii ele alindiginda da uY girii si
fr olarak kabul edilmektedir.
49
ul
y = [i + [0 0] u2
50
r,p,k deerleri Command
srasyla rezid (n.inci basit kesrin pay i), kutup (n.inci basit
Window
kesrin paydas) ve sabit terimleri
A = [ 0 temsil
1 ; 2 etmektedir.
3];
B = [ 1 0 ; 0 1];
C = [ 1 0];
m = __ + _ g _+D, ....
=[0 0]; + _^+k(s)
A(s) s - p (\) s-p(2) s - p(n)
[num,den] =
rnek olarak asagidaki kesir ifadesini basit kesirlerine ayiralim.
ss2tf(A,B,C,D,1) num =
1 -3 -2
[num,den] =
ss2tf(A,B,C,D,2) num =
0 0 1
den =
1 -3 -2
C o m m a n d Win d o w |
num = [2 5 3 6];
den = [1 6 11 6 ] ; r e s i d u e ( n u a ,
[ r ,p , k ] =
Buradan elde edilen katsaylarla :
den)
E =
-6.0000 m ______________
-4.0000 Ul(s) 3s 2
3.0000
P =
-3.0000
-2.0000
-1.0000
k =
51
Bylece kesir ifadesi su ekilde basit kesirlerine ayrilmistir :
M = ^ + ^ + ^ + 2
./4(s) s+ 3 s+ 2 5+1
52
-- Srekli zaman sistemleri iin geici cevap analizi:
step(num,den) step(num,den,t)
step(A,B,C,D)
"0 0 '0
* h-
0 0 1 ;B= ~
0
1 0 2
Lrt 1
53
Yukarida A3>CJD durum uzay i matrisleri verilen bir sistemin birim basamak
fonksiyonunakarsi verecei cevabi izdiriniz.
54
rnek:iki farkli transfer fonksiyonuna ilikin deerler asagida verilmitir. Bu
rnek:
sistemlerin O ve 10. saniyeler arasinda frekans/ cevabini 0.1 araliklarla, ayni grafik
ekrani zerinde izdiriniz.
numl = [ 0 0 1 ] ; deni = [1 2 -1]
num2 = [O 1 4] ; den2 = [ 1 1 1 ]
Sistem denklemi:
mx(2) + bx(1) + kx = 0
0.1^A2 + 0.35^ _1
X(s)
^2+ 3*+ 2 S
56
55
Bylece X(s) transfer fonksiyonu
ALITIRMALAR
EKfTahloLMATLAB KOMUTLARI birim ve
basamak
MATRS fonksiyonu izimi iin G(s)
FONKSYONLARI
fonksiyonuna dntrlp asagidaki sonu elde edilir:
TABLOSU
1- iki farkli transfer fonksiyonuna ilikin deerler asagida verilmitir. Bu sistemlerin 0
3 1 1 1 0
ve 15. saniyeler arasinda birim basamak frekans cevabini 0.2 araliklarla, ayni grafik
3 0 1 ; B = 2A
A= 2 ekrani zerinde
G(s) = A
0. izdiriniz.
ls 2 + 0.35s
1 9 numl
5 3= [ 1 5 1s ] 52+
; denl
3s +2=[3 2 4]
0 7 num2
1 1 = [1 0 1] ;60 den2 = [1 0 2]
2- Asagida A,B,C,D durum uzayi matrisleri verilen bir sistemin birim basamak
fonksiyonuna karsi verecei frekans cevabini izdiriniz.
; C=[l 0 0 0] ; D = 0
3- Bir sisteme ait transfer fonksiyonuna ilikin matris deerleri asagida verilmitir. Bu
sistemin 0 ve 40. saniyeler arasinda birim basamak frekans cevabini 0.1 araliklarla,
Grevi
abs izdirinip inceleyiniz.
Mutlak Deer, kompleks byklk Faz Aisi
angle ilem sonucu aiklamasi olmadigi zamanki sonu ifadesi (cevap)
ans numl = [4 Arktanjant
8 9]; denl = [1 32]
atan Eksen lekleme
axis
bode Bode diyagramini izdirir
51
58
clear nceden tanimlanmis deikenleri bellekten siler
clc Komut satirini temizler
clg Grafik ekranini temizler
computer Kullanilan bilgisayar hakkinda bilgi verir
conj Kompleks konjge
conv Konvolsyon
corrcoef Korelasyon katsayisi
cos Kosins
cosh Hiperbolik kosins Kovaryans
cov
date Tarihi grntler Dekonvolsyon Determinant Kegen matris
deconv
det
diag
eig zdeger ve zvektrler Programi kapatir e tabanli sayisinin ss
exit Birim matris
exp
eye
length
log Vektr boyutu Logaritma
loglog logm log 10 Logaritmik x-y izimi Matris logaritmasi 10 tabaninda logaritma
max En byk deer Ortalama Orta deer En kk deer
mean
median
min
Komut Grevi
nyquist Nyquist frekans cevabi izimi
ones Sabit 1 veya 1 matrisi retme
Pi
plot
polar
poly Pi sayisi
Lineer x-y izimi Kutupsal izim Karakteristik polinom Polinomda
polyval deer hesaplama Matris polinomu hesabi
polyvalm
quit Pro gram i sonlandirir
rand Rastgele sayilar ve matrisler retir Matris ranki Gerel kiim
rank Parali kesir pay kismi katsayilari Polinom kkleri
real
residue
roots
59
sign
sin
sinh
size
sqrt
sqrtm Signum Fonksiyonu Sins
std Hiperbolik sins Satir ve stun boyutlari Karekk Matris kk
step Standart sapma
sum Birim basamak fonksiyonu izimi Eleman toplami
tan
tanh
text Tanjant
title Hiperbolik Tanjant Grafik zerine aiklama yazma Grafik basligi
trace Matris izi hesaplama
who Bellekteki tm deikenleri listeler
xlabel x-ekseni aiklamasi
ylabel y-ekseni aiklamasi
zeros Sifr veya sifir matrisi retme
KAYNAKLAR
[2] Solving Control Engineering Problems with MATLAB , Katsuhiko Ogata, 1994
[4] Lineer Cebir ve MATLAB Uygulamalari , Prof.Dr. Mithat Uysal, Prof.Dr. Aysenur
Uysal, Beta Yayinlari, 2000
[5] www.mathworks.com
[6] http://www.math.siu.edu/matlab/tutorial3.pdf
61
60