Lab 3 - Düzce Üniversitesi

Kontrol Sistemleri
Dr. Uğur Hasırcı
Düzce Üniversitesi
Bu uygulama saatinde, ders kapsamında şu ana kadar bahsedilen konulara ilişkin MATLAB
fonksiyonları tanıtılacaktır.
Polinomial Bir Fonksiyonun Tanıtılması
P1  s3  7s 2  3s  23 şeklindeki bir fonksiyona ilişkin nesne, aşağıdaki gibi oluşturulur:
P1=[1 7 -3 23]
Çarpım Şeklindeki Polinomların Tanıtılması poly
P2  (s  2)(s  5)(s  6) gibi çarpım formundaki polinamial fonksiyonlara ilişkin nesne, aşağıdaki
gibi tanıtılır:
P2=poly([-2 -5 6])
Polinomial Köklerinin Bulunması roots
5s 4  7s3  9s 2  3s  2 gibi bir polinom köklerine ilişkin nesne, aşağıdaki gibi oluşturulur:
kokler=roots([5 7 9 -3 2])
Yukarıdaki kod parçasının çalıştırılmasından sonra, “kokler” nesnesi, ilgili polinomun köklerine
ilişkin bilgiyi taşır, yani her bir elemanı bu polinomun kökleri olan bir vektördür.
İki Polinomun Çarpılması conv
P3   s3  7s 2  9  s 4  3s 3  6s 2  2s  1 gibi iki ayrı polinomun çarpılmasına ilişkin nesne,
aşağıdaki gibi oluşturulur:
P3=conv([1 7 0 9] , [1 -3 6 2 1])
1
Kontrol Sistemleri
Dr. Uğur Hasırcı
Düzce Üniversitesi
Kısmi Kesirlere Ayırma residue
Özellikle Ters Laplace Dönüşümünün hesaplanmasında “residue” fonksiyonu oldukça kullanışlıdır.
Yani
F ( s) 
N (s)
N (s)

D( s)  s  p1  s  p2  ......... s  pn 
gibi bir rasyonel ifadenin Ters Laplace Dönüşümünün hesaplanabilmesi için, bu ifadenin
F ( s) 
An
A1
A2

 ....... 
 s  pn 
 s  p1   s  p2 
şeklinde kısmi kesirlerine ayrılması gerekir. Bu işlem MATLAB ortamında
[r,p,k]=residue(n,d)
kod parçası yardımıyla yapılır. Burada
r: rezidüler, yani Ai katsayıları,
p: kutuplar, yani pi değerleri
k: (eğer varsa) doğrudan(rasyonel olmayan) terim
n: pay polinomu nesnesi
d: payda polinomu nesnesidir.
Buradaki r, p, k, n, d standart olmayan semboller/değişkenlerdir, yani başka isimler de verilebilir.
Standart olan “residue” fonksiyonudur.
Örnek olarak, bir sistemin transfer fonksiyonu
F ( s) 
32
s( s  4)( s  8)
olsun. Bu fonksiyonun kısmi kesirlerine ayrılmış hali
F ( s) 
A3
A1
A2
1
2
1


 

s s  p1 s  p2 s s  4 s  8
şeklindedir. Aynı sonucu MATLAB kodu ile bulalım:
2
Kontrol Sistemleri
Dr. Uğur Hasırcı
Düzce Üniversitesi
n=32;
% pay nesnesi
p=poly([0 -4 -8]);
% payda nesnesi
[r,p,k]=residue(n,p)
Yukarıdaki kod işletildiğinde
r=
1
-2
1
p=
0
-4
-8
k=
0
çıktısı elde edilir. Bu örnek için herhangi bir rasyonel olmayan terim yoktur (k=0).
Alıştırma: Aşağıdaki transfer fonksiyonunun kısmi kesirlere ayrılmış formunu bulunuz:
F (s) 
32
s  s  12s  32 
2
3
Kontrol Sistemleri
Dr. Uğur Hasırcı
Düzce Üniversitesi
Transfer Fonksiyonu Nesnesinin Oluşturulması tf
T ( s) 
3s 2  2s  1
s 3  2s 2  4s  3

pay=[3 2 1];
payda=[1 2 4 -3];
tf(pay,payda)

Transfer function:
3 s^2 + 2 s + 1
--------------------s^3 + 2 s^2 + 4 s - 3
Eğer transfer fonksiyonunun payı ve paydası, çarpanlar şeklinde sunulmuşsa, bu transfer
fonksiyonuna ilişkin nesnenin oluşturulması için zpk fonksiyonu kullanılıbilir. Bu fonksiyonun genel
formu zpk(pay,payda,K) şeklindedir. Burada pay ve payda sırasıyla sırasıyla sıfırlar ve
kutuplardan oluşan vektörler, K ise (eğer varsa) sabit çarpandır. Örneğin,
T (s) 
20( s  2)( s  3)
( s  7)( s  8)( s  9)
şeklindeki bir transfer fonksiyonuna ilişkin nesne şu şekilde oluşturulur:
pay=[-2 -3];
payda=[-7 -8 -9];
K=20;
T=zpk(pay,payda,K)
4
Kontrol Sistemleri
Dr. Uğur Hasırcı
Düzce Üniversitesi
Durum-Uzay Nesnesinin Oluşturulması ss
Durum uzayı formunda sunulmuş
0 1 0
7 


x   0 0 1  x  8  u
 9 8 7 
9 
y   2 3 4 x
şeklindeki bir sisteme ilişkin nesne şu şekilde oluşturulur:
A=[0 1 0 ; 0 0 1 ; -9 -8 -7];
B=[7 ; 8 ; 9];
C=[2 3 4];
D=0;
ss(A,B,C,D)
Bu kod çalıştırıldığında aşağıdaki çıktıyı üretir:
a=
x1 x2 x3
x1
0
1
0
x2
0
0
1
x3 -9 -8 -7
b=
u1
x1
7
x2
8
x3
9
5
Kontrol Sistemleri
Dr. Uğur Hasırcı
Düzce Üniversitesi
c=
x1 x2 x3
y1
2
3
4
d=
u1
y1
0
Continuous-time model.
tf2ss
Transfer fonksiyonu – durum uzayı dönüşümü
Transfer fonksiyonu formunda sunulmuş
T ( s) 
3s 2  2s  1
s 3  2s 2  4s  3
şeklindeki bir sistemin durum uzayı modeli şu şekilde elde edilir:
pay=[3 2 1];
payda=[1 2 4 -3];
[A,B,C,D]=tf2ss(pay,payda)
Bu kod çalıştırıldığında aşağıdaki çıktıyı üretir:
6
Kontrol Sistemleri
Dr. Uğur Hasırcı
Düzce Üniversitesi
A=
-2
-4
3
1
0
0
0
1
0
2
1
B=
1
0
0
C=
3
D=
0
7
Kontrol Sistemleri
Dr. Uğur Hasırcı
Düzce Üniversitesi
ss2tf
Durum uzayı – transfer fonksiyonu dönüşümü
0 1 0
7 


x   0 0 1  x  8  u
 9 8 7 
9 
y   2 3 4 x
A=[0 1 0;0 0 1;-9 -8 -7];
B=[7;8;9];
C=[2 3 4];
D=0;
[pay,payda]=ss2tf(A,B,C,D)
pay =
0
74.0000 -199.0000 -235.0000
payda =
1.0000
7.0000
8.0000
9.0000
8
Kontrol Sistemleri
Dr. Uğur Hasırcı
Düzce Üniversitesi
Geribesleme nesnesinin oluşturulması
feedback
pay1=100;
payda1=[1 4];
sys1=tf(pay1,payda1);
pay2=1;
payda2=[1 1];
sys2=tf(pay2,payda2);
feedback(sys1,sys2)
Transfer function:
100 s + 100
--------------s^2 + 5 s + 104
9
Kontrol Sistemleri
Dr. Uğur Hasırcı
Düzce Üniversitesi
Adım cevabının çizdirilmesi
step
pay1=100;
payda1=[1 4];
sys1=tf(pay1,payda1);
pay2=1;
payda2=[1 1];
sys2=tf(pay2,payda2);
sys=feedback(sys1,sys2)
step(sys)
Step Response
8
6
Amplitude
4
2
0
-2
-4
0
0.5
1
1.5
Time (sec)
10
2
2.5