MATEMATIKA DALAM TEKNIK KONTROL Oleh: Ahmad Riyad Firdaus Politeknik Batam
Polinomial Matlab menyediakan fungsi operasi standar dari polinom, seperti akar polynomial, evaluasi, dan turunan. Sebagai tambahan, fungsi-fungsi berikut diberikan untuk aplikasi lebih lanjut, seperti pencocokan kurva dan ekspansi fraksi parsial. Fungsi Conv Deconv Poly Polyder Polyfit Polyval Polyvalm Residue Roots
Deskripsi Perkalian polynomial Pembagian polynomial Polynomial dengan akar-akar tertentu Turunan polynomial Pencocokan kurva polynomial Evaluasi polynomial Evaluasi matrik polynomial Ekspansi fraksi parsial Mencari akar-akar polynomial
1. Representasi MATLAB Penggambaran polynomial sebagai vector baris yang terdiri atas koefisien-koefisien polinomnya. Sebagai contoh, persamaan berikut: p( x) = x 3 − 2 x − 5 Kita masukan kedalam MATLAB sebagai berikut: >>P=[1 0 -2 5];
2. Akar Polinomial Fungsi roots menghitung akar-akar dari polynomial: >>r=roots(p); r= 2.0964 -1.0473+1.1359i -1.0473-1.1359i
Yang disempan dalam bentuk vector kolom. Fungsi poly mengembalikan ke koefisien polinomnya: >>p2=poly(r); p2= 1 8.8818e-16 -2 -5
3. Evaluasi polinomial Fungsi polyval mengevaluasi polynomial pada suatu nilai tertentu. Untuk mengevaluasi p pada s=5, maka digunakan: >>polyval(p,5) ans = 110
fungsi ini juga memungkinkan untuk mengevaluasi polynomial dalam bentuk matrik. Dalam kasus p ( x) = x 3 − 2 x − 5 menjadi p ( X ) = X 3 − 2 X − 5 I , dimana X adalah matriks square,
1/10
dan I adalah matriks identitas. Misalkan, dibuat matriks square X dan evaluasi polynomial p pada X: >>X=[2 4 5;-1 0 3;7 1 3]; >>Y=polyval(p,X) Y= 377 179 439 111 81 136 490 253 639
4. Perkalian dan Pembagian Polinomial Perkalian polinom dan pembagiannya berhubungan dengan operasi konvolusi dan dekonvolusi. Fungsi conv dan deconv digunakan untuk menjalankan operasi ini. Misalkan ada dua buah polynomial, a ( s ) = s 2 + 2 s + 3 dan b( s ) = 4 s 2 + 5s + 6 . Untuk menghitung hasil kalinya kita gunakan: >>a=[1 2 3]; b=[4 5 6]; >>c=conv(a,b) c= 4 13 28 27 18
Gunakan dekovolusi untuk membagi a(s) kembali kepada pengalinya: >>[q,r]=deconv(c,a) q= 4 5 6 r= 0 0 0 0 0
5. Turunan Polinom Fungsi polyder digunakan untuk menghitung turunan (derivasi) setiap polynomial. Untuk mendapatkan turunan polynomial p ( x) = x 3 − 2 x − 5 , maka: >>p=[1 0 -2 5]; >>q=polyder(p) q= 3 0 -2
Polyder juga menghitung turunan perkalian atau pembagian dua polynomial. Sebagai contoh, kita buat dua polynomial a dan b: >>a=[1 3 5]; b=[2 4 6]; Turunan perkalian a*b dengan fungsi polyder menggunakan satu argument keluaran: >>c=polyder(a,b) c= 8 30 56 38
Turunan dari pembagian a/b dengan memanggil polider menggunakan dua argument keluaran: >>[q,d]=polyder(a,b) q= -2 -8 -2 d= 4 16 40 48 36
6. Ekspansi Fraksi Parsial
2/10
Fungsi residu digunakan untuk mencari rasio ekspasi parsial dari dua polynomial. Sangat berguna untuk menggambarkan system dalam bentuk fungsi transfer. Untuk polynomial a dan b, dirumuskan sebagai fungsi transfer berikut ini: r r r b( s ) = 1 + 2 + K + n + ks a ( s ) s − p1 s − p 2 s − pn Dimana r adalah vector kolom residu, p adalah lokasi kutub (pole) vector kolom dan k adalah vector baris. Misalkan diperoleh fungsi transfer berikut ini: − 4s + 8 G (s) = 2 s + 6s + 8 Digunakan fungsi residu untuk mencari nilai r, p dan k: >>b=[-4 8]; a=[1 6 8]; >>[r,p,k]=residue(b,a) r= -12 8 p= -4 -2 k= []
Untuk mengembalikan ke bentuk aslinya, kita gunakan fungsi yang sama tetapi argument keluarannya berbeda. >>[b2,a2]=residue(r,p,k) b2= -4 8 a2= 1 6 8
Contoh lain: Diberikan fungsi transfer sebagai berikut: B( s ) 2s 3 + 5s 2 + 3s + 6 H ( s) = = A( s ) s 3 + 6s 2 + 11s + 6 Untuk mencari r, p dan k digunakan cara seperti contoh sebelumnya: >>num=[2 5 3 6]; >>den=[1 6 11 6]; >>[r,p,k]=residue(num,den) r= -6.0000 -4.0000 3.0000 p= -3.0000 -2.0000 -1.0000 k= 2
Hasil di atas memperlihatkan fraksi parsial dari fungsi transfer di atas: −6 −4 B(s) 3 = + + +2 A( s ) s + 3 s + 2 s + 1 Untuk mengembalikan ke bentuk semua:
3/10
>>[num,den]=residue(r,p,k) num= 2.0000 5.0000 3.0000 6.0000 den= 1.0000 6.0000 11.0000 6.0000
7. Transformasi Laplace Transformasi laplace digunakan untuk mengubah system fisis atau suatu fungsi dalam domain waktu ke domain frekuensi atau variable kompleks. Dalam MATLAB, sintaks yang digunakan transformasi laplace adalah sebagai berikut: L=Laplace(F) L=Laplace(F,t) L=Laplace(F,w,z) Dekripsi: • L=Laplace(F) Adalah transformasi laplace dari symbol scalar F dengan variable default t. Variable tersebut mengembalikan fungsi ke variable s. F=F(t) L=L(s) Jika F=F(s), fungsi Laplace akan mengembalikan fungsi dalam t ;L=L(t) Transformasi laplace dalam fungsi matematika nya adalah sebagai berikut: ∞
L( s ) = ∫ F (t )e − st dt 0
Dimana t merupakan variable simbolik domain t dalam fungsi F •
L=Laplace(F,t) Membuat L fungsi dari t sebagai pengganti default s. ∞
L(t ) = ∫ F ( x)e −tx dx 0
L menghasilkan symbol scalar. •
L=Laplace(F,w,z) Membuat fungsi L dari z dan F sebagai fungsi w sebagai pengganti variable s dan t ∞
L( s ) = ∫ F ( w)e − zw dw 0
Contoh-contoh: >>syms t a %inisialisasi variable >>laplace(t*exp(-a*t)) ans= 1/(s+a)^2 >>syms t a b >>laplace(exp(-a*t)*cos(b*t)) ans= (s+a)/((s+a)^2+b^2) >>pretty(ans)
s+a
4/10
------------2 2 (s+a) + b >>syms t >>f=t^4 >>laplace(f) ans= 24/s^5 >>syms s >>g=i/sqrt(s) >>laplace g ans= (pi/t)^(1/2) >>syms t a x >>f=exp(-a*t) >>laplace(f,x) ans= 1/(x+a)
8. Inverse Transformasi Laplace Inverse laplace digunakan untuk mengembalikan suatu fungsi dari domain frekuensi atau variable kompleks ke domain waktu. Dalam MATLAB, sintaks yang digunakan adalah: F=iLaplace(L) F=iLaplace(L,t) F=iLaplace(L,y,x) Deskripsi: • F=iLaplace(L) Merupakan invers transformasi laplace dari symbol scalar F dengan variable default s. variable tersebut mengembalikan fungsi ke variable t. transformasi laplace dari fungsi s dan mengembalikan ke fungsi t. L=L(s) F=F(t) Jika L=L(t), iLaplace megembalikan fungsi dalam x: F=F(x) Oleh definisi: c + j∞
F (t ) =
∫ L ( s )e
st
ds
c − j∞
Dimana c adalah angka real terpilih sehingga singularitas L(s) adalah sebelah kiri sumbu hayal dari bidang s (variable kompleks) •
F=iLaplace(L,t) Menghasilkan F fungsi dari y sebagai pengganti default t:
5/10
c + j∞
F ( y) =
∫ L ( y )e
sy
ds
c − j∞
y adalah obyek simbolik (scalar) •
F=iLaplace(L,y,x) Mengambil F sebagai fungsi dari x dan L fungsi dari y sebagai pengganti variable default t dan s c + j∞
F ( x) =
∫ L ( y )e
xy
dy
c − j∞
Contoh-contoh: >>syms s a b >>ilaplace((s+a)/(s+a)^2+b^2) ans= Exp(-a*t)*cos(b*t) >>syms s >>ilaplace(1/s^2) ans= t >>syms s a >>ilaplace(1/(s+a)^2) ans= exp(-a*t)*t >>syms t a >>g=1/(t-a)^2 >>ilaplcae(g) ans= x*exp(a*x) >>syms x u >>syms a real >>f=1/(u^2-a^2) >>simplify(ilaplcae(f,x)) ans= sinh(x*abs(s))/abs(s)
>>syms s >>F=(s^2+2*s+2)/((s+1)*(s+2)); >>f=ilaplace(F) f= dirac(t)+exp(-t)-2*exp(-2*t)
>>syms s >>F=(1/((s+1)^2*(s+2))); >>f=ilaplace(F) f= exp(-2*t)+(t-1)*exp(-t)
6/10
>>syms s >>A=((1-s-s^2)/s*(s+1)*(s+2))); >>b=ilaplcace(A); b= ½-exp(-t)-1/2*exp(-2*t) >>syms >>G=(s^2+9*s+19)/((s+1)*(s+2)*(s+4)); >>g=ilaplcae(G) g= 11/3*exp(-t)-5/2*exp(-2*t)-1/6*exp(-4*t)
>>syms s >>F=(2*s+12)/(s^2+2*s+5); >>f=ilaplace(F) f= 2*exp(-t)*cos(2*t)+5*exp(-t)*sin(2*t)
9. Konversi Model Ada 4 bentuk konversi yang banyak digunakan dalam teknik control, yaitu: A. State space to transfer function (ss2tf) B. Transfer function to state space (tf2ss) C. Continuous to discrete (c2d) D. Discrete to continuous (d2c) A. State space to transfer function (ss2tf) State space to transfer function (ss2tf) merupakan sebuah fungsi untuk mengubah model system dari model ruang keadaan (state space) ke model fungsi alih (transfer function). Sintaks: [n,d]=ss2tf(A,B,C,D)
Sebagai contoh: 1. Ambil sebuah matriks ruang keadaan dari system
1 0 0 x&1 0 x1 x& = 0 0 1 2 x 2 + 25.04 u x& 3 − 5.008 − 25.1026 − 5.03247 x3 − 121.005 x1 y = [1 0 0] x 2 x3 Dimana matriks: 1 0 0 0 A= 0 0 1 B= 25.04 − 5.008 − 25.1026 − 5.03247 − 121.005
C= [1 0 0] dan D=0
Maka untuk mengubah matriks pemodelan system dari ruang keadaan (state space) ke fungsi alih (transfer function) adalah:
7/10
>>A=[0 1 0;0 0 1;-5.008 -25.1026 -5.03247] >>B=[0;25.04;-121.005] >>C=[1 0 0] >>D=0; >>[n,d]=ss2tf(A,B,C,D) n= 0 0 25.0400 5.0080 d= 1.000 5.0325 25.1026 5.00800
Artinya, fungsi alih dari ruang keadaan (state space) model system tersebut adalah: Y ( s) 25.04 s + 5.008 = 3 U ( s ) s + 5.0325s 2 + 25.1026 s + 5.008 2. Untuk system MIMO (Multiple Input Multiple Output) atau system yang memiliki masukan dan keluaran lebih dari satu, maka sintaks MATLAB yang digunakan adalah: [n,d]=ss2tf(A,B,C,D,iu)
Dengan iu merupakan masukan yang lebih dari satu. Untuk ilustrasi, diberikan contoh sebagai berikut: 1 x1 0 1 u1 x&1 0 x& = − 25 − 4 x + 0 1 u 2 2 2 y1 1 0 x1 y = 0 1 x 2 2 Matriks: 1 0 A= − 25 − 4
0 1 B= 0 1
1 0 C= 0 1
D=[0 0;0 0]
Maka untuk mengubah matriks pemodelan system dari ruang keadaan (state space) ke fungsi alih (transfer function) adalah: >>A=[0 1;-25 -4] >>B=[0 1;0 1] >>C=[1 0;0 1] >>D=[0 0;0 0] >>%Fungsi Alih untuk masukan pertama >>[n,d]=ss2tf(A,B,C,D,1) n= 0 1 4 0 0 -25
n= 1
4
25
>>%Fungsi alih untuk masukan ke dua >>[num,den]=ss2tf(A,B,C,D,2) num= 8/10
0 0
1.0000 1.0000
1
4
5.0000 -25.0000
den= 25
Sehingga fungsi alih untuk masukan pertama adalah: Y1 ( s ) s+4 = 2 U 1 ( s ) s + 4 s + 25 Y2 ( s ) − 25 = 2 U 1 ( s ) s + 4 s + 25 Sedangkan fungsi alih untuk masukan kedua adalah Y1 ( s ) s+5 = 2 U 2 ( s ) s + 4 s + 25 Y2 ( s ) s − 25 = 2 U 1 ( s ) s + 4 s + 25
B. Transfer function to state space (tf2ss) Transfer function to state space (tf2ss) merupakan sebuah fungsi untuk mengubah model system dari fungsi alih ke model system ruang keadaan (state space). Sintaks: [A,B,C,D]=tf2ss(n,d)
Sebagai contoh: Sebuah fungsi alih dari system dengan satu masukan dan dua keluaran dituliskan sebagai berikut: 2s + 3 s 2 + 2 s + 1 H ( s) = 2 s + 0 .4 s + 1 Sintaks MATLAB nya adalah: >>n=[0 2 3;1 2 1] >>d=[1 0.4 1] >>[A,B,C,D]=tf2ss(n,d) A= -0.4000 -1.0000 1.0000 0 B= 1 0 C= 2.0000 1.6000
3.0000 0
D= 0
9/10
Tugas dan pertanyaan Sebuah benda dengan massa 10 kg mengalami gaya sebesar F sehingga bergerak dengan percepatan a, kecepatan v dan mengalami perubahan posisi sebesar x (gaya gesek diabaikan). F
m
1. Tentukan fungsi alih system, jika masukannya F dan keluarannya adalah kecepatan. Buat model system dalam ruang keadaan (state space) menggunakan MATLAB. 2. Tentukan fungsi alih system, jika masukannya F dan keluarannya adalah perubahan posisi. Buat model system dalam ruang keadaan (State space) menggunakan MATLAB Sebuah rangkaian RLC dihubungkan secara seri, seperti gambar di bawah ini:
vi
vo
Dengan masukan adalah tegangan vi dan keluarannya adalah tegangan vo pada kapasitor. Jika nilai R=1 KOhm, L=1mH dan C=1µF, 1. Tentukan model system dengan menggunakan fungsi alih dari rangkaian listrik RLC 2. Tentukan model system tersebut dalam ruang keadaan (state space) dengan menggunakan MATLAB
10/10