Professional Documents
Culture Documents
Klavuzu
Klavuzu
BLM 1
BLM 2
BLM 3
BLM 4
EK (Tablo)
:MATLAB
Tablosu
Komutlari
ve
Matris
Fonksiyonlari
yardim
istenilen
fonksiyon
hakkinda
detayli
bilgiye
help help
yazildiginda ise on-line olarak yardim kilavuzunun nasil kullanilacagi hakkinda
bilgilere ulasilabilmektedir.
-- Matris Operatrleri :
Asagida verilen simgeler matris islemlerinde kullanilmaktadir:
+
*
^
Toplama
ikarma
arpma
Kuvvet alma
Konjge transpozunu alma
Kk
Kk esit
Byk
Esit degil
&
|
~
Ve
Veya
Degil
y=
1
2
3
-4
-5
A=
1
B=
v2 3
1.0000
1.4142
0.9802
3.0000
2
5
8
3
6
9
4
5
6
7
8
9
veya
X = 1+sqrt(3)*j
olarak yazilmalidir.
-j5
X=
2]
0+1.0000i
2.0000+0
Y = X komutu yazilirsa :
Y=
1.0000+0
0-1.0000i
0+5.0000i
2.0000+0
veya
conj(Y)
0-1.0000i
2.0000+0
M=
2 3
4 5
6 7
N=
1 0
2 3
0 4
X=
5
4
6
y = [4 ; 5 ; 6];
A = [1 1 2 ; 3 4 0 ; 1 2 5]
x*y
ans =
32
x*y
ans =
4
5
8 10
12 15
6
12
18
b = A*x
b=
9
11
20
Bunlarin disinda matris bir skaler degerle de arpilabilir :
5*A
ans =
5
15
5
5 10
20 0
10 25
1+3*i ; 4+5*i
6-i];
ans =
2.8284
6.4031
3.1623
6.0828
angle(A)
ans =
0.7854
0.8961
1.2490
-0.1651
3+4*i
1-i]
ans =
-21.0000+20.0000i
-7.0000+24.0000i
0-2.0000i
2; 3
4];
ans =
1
9
4
16
-- Eleman elemana arpma islemi iin arpma operatrnn nne bir nokta isareti (.)
konmaktadir :
x = [1 2 3], y = [4 5 6]
z = [x.y]
z = [4 10 18]
Bir rnek daha verilirse :
1 2 3
4 5 6
A=
B=
1 9 8
7 6 5
C = A.*B
C=
4 10 18
7 54 40
16
10
u=
0.2500 0.4000 0.4000
0.1429 1.5000 1.6000
-1.0000
0
1.0000
-0.1667
0
0
-- esitli komutlar ve durumlar tek bir sirada virgl (,) veya noktali virgl ile (;)
ayrilar ak yazilabilir.
-- ikis formatini istedigimiz uzunlukta elde edebiliriz. Eger matris elemanlari tamsayi
ise bu durum sonuta bir degisiklik yapmayacaktir. Bunun iin asagidaki komutlari
kullanmak gerekmektedir :
format short
format long
x = [1/3
x
0.00002];
x=
0.3333
0.0000
format short; x
x=
0.3333
0.0000
format long; x
x=
0.3333333333333333
0.00002000000000000
11
-- 1den 5e kadar sayilari 0.5lik araliklarla yazdirmak istersek iki noktayi (:)
kullanmak yeterli olacaktir :
t=
1
t = 1:0.5:3
t=
1.0000
1.50000
2.0000
2.50000
3.0000
432
12
-- Bir matrisin boyutlarini grenmek iin size(A) komutu, rankini bulmak iin rank(A)
kullanilir.
A=
2
5
2
3
4
6
2
1
8
size(A)
ans =
3
rank(A)
ans =
3
-- Bir matrisin determinantini bulmak iin det(A) komutu kullanilir.
A=
2
5
2
3
4
6
2
1
8
det(A)
ans =
-18
-- Bir matrisin normunu bulmak iin ise norm(x) yazmak gerekmektedir. Matematiksel
norm ifadesini verecek olursak :
norm(x) = sum(abs(x).^2)^0.5
x = [2 3 6]
norm(x)
ans =
7
13
0.2182
-0.4364
0.8729
-0.1048
0.3145
-0.9435
-1.0000
0
0
0
-2.0000
0
0
0
-3.0000
D=
Burada X sonu matrisinin her bir stunu verilen A matrisinin bir z degerini
gstermektedir.
D sonu matrisinin diyagonalindeki (ksegenindeki) elemanlarin her biri de verilen A
matrisinin zdegerlerini gstermektedir.
Verilen es boyutlu farkli iki A ve B gibi matrisin genellestirilmis z degerlerini ve z
vektrlerini bulmak iin ise [X,D] = eig(A,B) komutu yazilmalidir.
-- Karakteristik denklemi bulmak iin poly(A) komutu kullanilir.
A = [0 1 0 ; 0 0 1 ; -6 -11 -6]
p = poly(A)
p=
1.0000
6.0000
11.0000
14
6.0000
b = [1 1.96 151.2]
c=
1.0e+003
0.0010
0.0196
0.1306
Dolayisiyla arpim sonucu su sekilde yazilabilir :
-0.4038
-3.1147
-- Bir polinomda herhangi bir tamsayi degerini hesaplatmak iin polyval(c) komutu
kullanilir :
p(s) = 3s 2 + 2s + 1
p = [3 2 1];
polyval(p,5)
ans =
86
-- 1 ve 0 sayilarinin istenilen matrisel boyutta abuk olarak retilebilmesi iin
ones(m,n) ve zeros(m,n) komutlari kullanilabilir :
15
ones(2,2)
ans =
1
1
1
1
zeros(3,3)
ans =
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
5
0
0
0
9
16
0
2
0
0
0
0
0
3
0
0
0
0
0
4
0
0
0
0
0
5
0
1
0
0
0
0
0
2
0
0
0
0
0
3
0
0
0
0
0
4
0
0
0
1
0
0
0
0
0
1
diag(0:4)
ans =
0
0
0
0
0
[diag(1:5) diag(0:4)]
ans =
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
-- Bir matrisi rastgele olarak olusturmak iin rand(n) komutu kullanilir.0 ile 1
arasindaki sayilari alir.
rand(4)
ans =
0.3654
0.1400
0.5668
0.8230
0.6739
0.9994
0.9616
0.0589
0.3603
0.5485
0.2618
0.5973
17
0.0493
0.5711
0.7009
0.9623
ALISTIRMALAR
1- Sin(x) i ilk 10 terim kullanarak bulan bir Matlab programi yaziniz. X ai degerinin
derece olarak kullanicidan alip sin(x)i bulunuz ?
Sin(x) = x x3/3! + x5/5! x7/7! + x9/9! ...
2- Yerden V0 hiziyla ve T aisiyla firlatilan bir bir topun t = 0,1,2,...10 saniye boyunca
hareket bilgilerini veren.Sema T, Vx, Vy bilgilerini her saniyede
grntleyebilmelidir.
Not1: Gerekli formller asagida siralanmistir.(g =10 m/s2, Yer ekimi ivmesi)
Vx = V0cos(T) ; Vy = V0sin(T) gt ; V = (Vx2 + Vy2)1/2
Not2: Topun tm harketi boyunca yerden yeterince yksekte oldugunu varsayiniz.
18
19
ylabel(...)
izilen grafigin y-eksenine istenilen aiklamayi yazmak iin kullanilir.
text(X,Y,text)
Grafik ekrani zerine istenilen koordinatlar dahilinde herhangi
aiklama yazmak iin kullanilir.
bir
. + * o x
Istenildigi takdirde izilen egrinin dz izgi olarak degil de farkli
karakterlerle izdirilebilir. Bunlar iin ise yukarida gsterilen nokta, arti,
yildiz, yuvarlak ve x karakterleri kullanilir. Bu karakterleri plot() komutu
ierisinde + seklinde yazmak yeterli olacaktir.
r
b w
20
-- Birden fazla egriyi tek bir grafik ekrani zerinde grmek iin izdirilmesi istenen
egriler ayni plot(...) komutu iinde yazilmalidir.
-- Birden fazla egriyi st ste izme uygulamasi olarak asagidaki rnekte sin(x) ve
cos(x) egrileri tek bir grafik ekrani zerinde izdirilmistir :
t = 0:0.05:10;
x = sin(t);
y = cos(t);
plot(t,x,x,t,y,o);
grid;
title(Sin ve Cos Egrileri);
xlabel(Saniye);
ylabel(x=sint ; y=cost);
text(3,0.45,sint);
text(0.8,-0.3,cost)
21
22
-- Kompleks vektrlerin iziminde plot(z) ifadesi kullanilir. izim isleminde ise reel
ve imajiner kisimlar ayri ayri ikili noktalar olarak kabul edilir :
C=[2+6i
plot(C)
grid
5-3i
4i
6-i ]
23
24
Sembol
Renk(RGB)
izgi stili
Sembol
Nokta stili
sari(110)
nokta
izgi
magenta(101) O
yuvarlak
Noktali
cyan(011)
arpi isareti
-.
izgili ve noktali
kirmizi(100)
arti isareti
--
kesik izgili
yesil(010)
yildiz
mavi(001)
karekk
beyaz(111)
baklava
25
-- 3-D Line (3 Boyutlu dz izgi) izimi iin plot3(...) komutu kullanilir .Asagida
heliks izimi programi verilmistir :
t=0.01:0.01:20*pi;
x=cos(t);
y=sin(t);
z=t.^3;
plot3(x,y,z);
xlabel('Helix');
grid
26
27
28
29
-- Herhangi bir yzey grafiginde tepe ve alt tepe (minimum ve maximum) degerlerini
gstererek yapilan izimlerde peaks(...) komutu kullanilir :
[X,Y]=meshgrid(-3:0.125:3);
peaks(X,Y)
30
ALISTIRMALAR
1- x = t 3-2t+9 , y = 6t5-t , z = t 2+7 egrilerini tek bir grafik ekraninda izdiriniz.
2- A = [ 5 8 -2 6 4 0 7 ] giris verilerini bar grafik ekraninda izdiriniz.
3- z=2x2+y yzeyini, 0.2 artim degeriyle x = (-2,2) ve y = (-2,2) araligini kullanarak
izdiriniz.
4- z = e -2x +4x3 grafigini (2,50) araliginda izdiriniz.
5- x=9sin(t) , y = 2tan(3t) + cos(t) grafiklerini (0,10) araliginda 0.05 artimla izdiriniz.
31
32
33
Oy.m
diary
sayilar.mat
simple-report.sgml
simple-report.html
Komutun Adi
Komutun Islevi
cd
dir
ls
delete
type
34
B) DEGISKEN ATAMA
C ve PASCAL gibi programlama dillerinde, programin ana gvdesinin
olusturulmasina baslamadan hemen nce, programdaki tm degiskenlerin hangi tip
degisken olduklarini belirtmek ve programin bilgisayar belleginden uygun miktarda
alani bu degiskenler iin tahsis etmesini saglamak gerekir. MATLABde degiskenler,
kendilerine ait bir isim ve onlara atanacak degerler yardimiyla olusturulurlar. nceden
degisken tipini belirtmeksizin, degiskene verilen degere bagli olarak MATLAB, uygun
degisken tipini belirler ve bilgisayar belleginden yeteri kadar yeri bu degiskene tahsis
eder.
Birinci blmde temel atamalarla ilgili bazi bilgiler (sabit, degisken, matris,
dizi, vektr tanimlama...) verilmisti.
-- Mantik ve Iliski Operatrleri :
==
~=
<
<=
>
>=
Esittir
Esit degil
Kk
Kk esit
Byk
Byk esit
&
&
~
and
and
not
Ve
Ve
Degil
35
30
Not: MATLABin yapisinda nceden tanimlanmis bazi zel sabit veya aiklama
degerler :
pi (Pi sayisi) ; i,j (Kompleks i sayisi) ; eps (Epsilon:Iki sayi arasindaki en kk fark) ;
Inf (Sayi/Sifir belirsizligi ve diger belirsizlikler karsisinda retilen tanimsizlik cevabi :
Infinite)
36
37
Not: Herhangi bir .m dosyasi penceresinde f butonuna mouse ile bir defa
dokunuldugunda (yukaridaki sekilde de grlmektedir) work dizini altinda kayitli
olan btn fonksiyonlar listelenir.
Simdi de programi komut satirindan icra ettirelim :
>> A=[5 3 6 9 73 6 5];
>> ist(A)
enk =
3
enb =
73
n=
7
ort =
15.2857
stsapma =
23.6203
ans =
15.2857
38
39
Bu program komut satirinda alistirilirsa asagida gsterildigi gibi icra edilir ve grafik
de otomatik olarak yine asagida gsterildigi gibi izdirilir.
>> dogru
*********Iki Noktasi Bilinen Dogrunun Cizimi*********
1. Noktanin apsisini giriniz :3
1. Noktanin ordinatini giriniz :9
2. Noktanin apsisini giriniz :-5
2. Noktanin ordinatini giriniz :7
>>
40
Bu program komut satirinda alistirilirsa asagida gsterildigi gibi icra edilir ve grafik
de otomatik olarak yine asagida gsterildigi gibi izdirilir.
>> Oy
<><><><><><><><><><><><><><><><><><>
Partilerin Oy Oranlari Grafigi
<><><><><><><><><><><><><><><><><><>
A Partisinin aldigi oyun yuzdelik dilimdeki rakamini giriniz: 50
B Partisinin aldigi oyun yuzdelik dilimdeki rakamini giriniz: 20
C Partisinin aldigi oyun yuzdelik dilimdeki rakamini giriniz: 30
41
42
43
b) if kosul
deyim1
deyim 2
deyim_n
else deyim_n+1
deyim_n+2
deyim_m
end
Kosul dogru ise deyim1, deyim1, ... , deyim_n, ile belirtilen deyimler grubu icra edilir
ve programin kontrol endi izleyen deyime geer; kosul yanlis 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.
c) if kosul1
deyim1
elseif kosul2
deyim2
elseif kosul3
deyim3
...
elseif kosul_n
deyim_n
else
deyim_n+1
end
Bu yapi ierisinde kontrol edilen kosullardan herhangi biri dogru ise onunla iliskili
deyim icra edilir ve kontrol end i izleyen deyime geer. Kosullarin hepsi de yanlissa,
kontrol else i izleyen deyim_n+1e geer ve bu deyim de icra edildikten sonra kontrol
endi izleyen deyime geecektir.
rnek Program: Kullanici tarafindan bir sayi istenip bu sayinin pozitif, negatif veya
0 mi oldugunu sorgulayan ve ekrana yazdiran program asagida incelenebilir :
44
45
rnek Program: Haftanin kainci gnnn ne oldugunu bulan basit bir program
asagida incelenebilir :
>> gun
Haftanin kacinci gunu ? : 5
gun =
Cuma
2.DNG IFADELERI :
-- for dngs : Parametre degeri baslangi degerinden baslayarak ve her
seferinde artim degeri kadar arttirilarak son degere erisene kadar degistirilir.
Parametrenin her degeri iin, deyim1, deyim2, deyim_n seklinde belirtilen ve for-end
szckleri arasinda yer alan deyimler grubu icra edilir. Parametrenin degeri son degeri
asinca, programin kontrol endi izleyen deyime yani evrimin disina ikacaktir.
for parametre=baslangi:artim:son_deger
deyim1
deyim2
...
deyim_n
end
46
rnek Program: Arka arkaya blme islemlerinin yapildigi asagidaki for dngs
programini incelenebilir :
47
rnek Program: A=5 ilk degerinden baslayarak A<8 oldugu srece Aya 1 eklemek
iin asagidaki program incelenebilir :
48
ALISTIRMALAR
1- Kenarlari kullanici tarafindan istenen bir genin esitkenar, ikizkenar veya eskenar
gen mi oldugunu bulan MATLAB programini yaziniz.
2- ax2+bx+c ikinci dereceden denkleminin kklerini bulduran MATLAB proramini
yaziniz.
3- Bir otomobil, durgun halden harekete baslayarak 10 dakika boyunca hizlaniyor,
hizi 60 km/saat oluyor. Sonra 15 dakika boyunca sabit hizla hareketine devam ediyor
ve 10 dakika boyunca yavaslayarak hizi 0 oluyor. Disaridan girilen herhangi bir t
aninda otomobilin hizini veren bir MATLAB programi yaziniz.
4- Kullanicidan dogum gnn soran ve bu kullanicin ka yil, ka ay ve ka yil
yasadigini bulan bir MATLAB programi yaziniz.
49
komutu,
Y (s)
num
=
= C ( sI-A )-1 B + D sistemini,
U (s)
den
dx
= Ax + Bu
dy
y = Cx + Du
d
dt
x1
0
x2 = 2
1 x1
1 0 u1
+
3 x2
0 1 u2
x1
u1
y = [1 0] + [0 0]
x2
u2
50
Y (s )
=
U1(s)
3s
51
r,p,k degerleri sirasiyla rezid (n.inci basit kesrin payi), kutup (n.inci basit
kesrin paydasi) ve sabit terimleri temsil etmektedir.
B ( s)
r1
r2
r (n )
=
+
+ ................... +
+ k(s)
A( s)
s p(1)
s p( 2)
s p( n)
52
step(num,den,t)
C (s)
25
=
R ( s)
s ^ 2 + 4 s + 25
53
rnek:
0 0 1
A = 0 0 1 ; B =
1 0 2
0
0 ; C = [ 1 0 0 ] ; D = 0
5
Yukarida A,B,C,D durum uzayi matrisleri verilen bir sistemin birim basamak
fonksiyonuna karsi verecegi cevabi izdiriniz.
54
55
rnek:
X(s) =
X(s) ifadesi
1
arpaniyla yeniden dze nlenirse :
s
X(s) =
0.1s ^ 2 + 0.35s 1
s ^ 2 + 3s + 2 s
56
Bylece X(s) transfer fonksiyonu birim basamak fonksiyonu izimi iin G(s)
fonksiyonuna dnstrlp asagidaki sonu elde edilir :
G(s) =
0.1s ^ 2 + 0.35s
s ^ 2 + 3s + 2
57
ALISTIRMALAR
1- Iki farkli transfer fonksiyonuna iliskin degerler asagida verilmistir. Bu sistemlerin 0
ve 15. saniyeler arasinda birim basamak frekans cevabini 0.2 araliklarla, ayni grafik
ekrani zerinde izdiriniz.
num1 = [1 5 1] ; den1 = [3 2 4]
num2 = [1 0 1] ; den2 = [1 0 2]
2- Asagida A,B,C,D durum uzayi matrisleri verilen bir sistemin birim basamak
fonksiyonuna karsi verecegi frekans cevabini izdiriniz.
3
2
A=
1
1
3
9
7
1
0
5
1
1
1
; B=
3
0
2
; C = [1 0 0 0] ; D = 0
5
60
3- Bir sisteme ait transfer fonksiyonuna iliskin matris degerleri asagida verilmistir. Bu
sistemin 0 ve 40. saniyeler arasinda birim basamak frekans cevabini 0.1 araliklarla,
izdirinip inceleyiniz.
num1 = [4 8 9] ; den1 = [1 3 2]
58
EK(Tablo):MATLAB
KOMUTLARI
FONKSIYONLARI TABLOSU
Komut
abs
angle
ans
atan
axis
bode
clear
clc
clg
computer
conj
conv
corrcoef
cos
cosh
cov
date
deconv
det
diag
eig
exit
exp
eye
format long
format short
freqs
freqz
grid
hold
i
j
length
log
loglog
logm
log10
max
mean
median
min
ve
MATRIS
Grevi
Mutlak Deger, kompleks byklk
Faz Aisi
Islem sonucu aiklamasi olmadigi zamanki sonu ifadesi (cevap)
Arktanjant
Eksen lekleme
Bode diyagramini izdirir
nceden tanimlanmis degiskenleri bellekten siler
Komut satirini temizler
Grafik ekranini temizler
Kullanilan bilgisayar hakkinda bilgi verir
Kompleks konjge
Konvolsyon
Korelasyon katsayisi
Kosins
Hiperbolik kosins
Kovaryans
Tarihi grntler
Dekonvolsyon
Determinant
Ksegen matris
zdeger ve zvektrler
Programi kapatir
e tabanli sayisinin ss
Birim matris
Islem sonularini virglden sonraki haneleri kisa olarak gsterir
Islem sonularini virglden sonraki haneleri uzun olarak gsterir
Laplace dnsm frekans sevabi
z-dnsm frekans cevabi
Grafik ekranini lekli olarak gsterir
Grafik ekranindaki son grafigi kaldirir
1
1
Vektr boyutu
Logaritma
Logaritmik x-y izimi
Matris logaritmasi
10 tabaninda logaritma
En byk deger
Ortalama
Orta deger
En kk deger
59
Komut
nyquist
ones
pi
plot
polar
poly
polyval
polyvalm
quit
rand
rank
real
residue
roots
sign
sin
sinh
size
sqrt
sqrtm
std
step
sum
tan
tanh
text
title
trace
who
xlabel
ylabel
zeros
Grevi
Nyquist frekans cevabi izimi
Sabit 1 veya 1 matrisi retme
Pi sayisi
Lineer x-y izimi
Kutupsal izim
Karakteristik polinom
Polinomda deger hesaplama
Matris polinomu hesabi
Programi sonlandirir
Rastgele sayilar ve matrisler retir
Matris ranki
Gerel kisim
Parali kesir pay kismi katsayilari
Polinom kkleri
Signum Fonksiyonu
Sins
Hiperbolik sins
Satir ve stun boyutlari
Karekk
Matris kk
Standart sapma
Birim basamak fonksiyonu izimi
Eleman toplami
Tanjant
Hiperbolik Tanjant
Grafik zerine aiklama yazma
Grafik basligi
Matris izi hesaplama
Bellekteki tm degiskenleri listeler
x-ekseni aiklamasi
y-ekseni aiklamasi
Sifir veya sifir matrisi retme
60
KAYNAKLAR
[1] MATLAB , Yrd.Do.Dr. Mehmet Uzunoglu, Trkmen Kitabevi, 2002
[2] Solving Control Engineering Problems with MATLAB , Katsuhiko Ogata, 1994
[3] MATLAB Primer Third Edition , Kermit Sigmon, University of Florida
[4] Lineer Cebir ve MATLAB Uygulamalari , Prof.Dr. Mithat Uys al, Prof.Dr.
Aysenur Uysal, Beta Yayinlari, 2000
[5] www.mathworks.com
[6] http://www.math.siu.edu/matlab/tutorial3.pdf
61