Matematika dalam Teknik Kontrol · PDF filedan turunan. Sebagai tambahan, fungsi-fungsi...
Transcript of Matematika dalam Teknik Kontrol · PDF filedan turunan. Sebagai tambahan, fungsi-fungsi...
1/10
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 Deskripsi
Conv Perkalian polynomial
Deconv Pembagian polynomial
Poly Polynomial dengan akar-akar tertentu
Polyder Turunan polynomial
Polyfit Pencocokan kurva polynomial
Polyval Evaluasi polynomial
Polyvalm Evaluasi matrik polynomial
Residue Ekspansi fraksi parsial
Roots Mencari akar-akar polynomial
1. Representasi MATLAB
Penggambaran polynomial sebagai vector baris yang terdiri atas koefisien-koefisien
polinomnya. Sebagai contoh, persamaan berikut:
52)( 3 −−= xxxp
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 52)( 3 −−= xxxp menjadi IXXXp 52)( 3 −−= , dimana X adalah matriks square,
2/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, 32)( 2 ++= sssa dan 654)( 2 ++= sssb . 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 52)( 3 −−= xxxp , 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
3/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:
s
n
n kps
r
ps
r
ps
r
sa
sb+
−++
−+
−= K
2
2
1
1
)(
)(
Dimana r adalah vector kolom residu, p adalah lokasi kutub (pole) vector kolom dan k adalah
vector baris. Misalkan diperoleh fungsi transfer berikut ini:
86
84)(
2++
+−=
ss
ssG
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:
6116
6352
)(
)()(
23
23
+++
+++==
sss
sss
sA
sBsH
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:
21
3
2
4
3
6
)(
)(+
++
+
−+
+
−=
ssssA
sB
Untuk mengembalikan ke bentuk semua:
4/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:
∫∞
−=
0)()( dtetFsL
st
Dimana t merupakan variable simbolik domain t dalam fungsi F
• L=Laplace(F,t)
Membuat L fungsi dari t sebagai pengganti default s.
∫∞
−=
0)()( dxexFtL
tx
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
∫∞
−=
0)()( dwewFsL
zw
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
5/10
-------------
(s+a)2+ b
2
>>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:
∫∞+
∞−
=
jc
jc
st dsesLtF )()(
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:
6/10
∫∞+
∞−
=
jc
jc
sy dseyLyF )()(
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
∫∞+
∞−
=
jc
jc
xy dyeyLxF )()(
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)
7/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
[ ]
=
−
+
−−−
=
3
2
1
3
2
1
3
2
1
001
005.121
04.25
0
03247.51026.25008.5
100
010
x
x
x
y
u
x
x
x
x
x
x
&
&
&
Dimana matriks:
A=
−−− 03247.51026.25008.5
100
010
B=
− 005.121
04.25
0
C= [ ]001 dan D=0
Maka untuk mengubah matriks pemodelan system dari ruang keadaan (state space) ke fungsi
alih (transfer function) adalah:
8/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:
008.51026.250325.5
008.504.25
)(
)(23 +++
+=
sss
s
sU
sY
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:
=
+
−−=
2
1
2
1
2
1
2
1
2
1
10
01
10
10
425
10
x
x
y
y
u
u
x
x
x
x
&
&
Matriks:
A=
−− 425
10 B=
10
10 C=
10
01 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=
9/10
0 1.0000 5.0000
0 1.0000 -25.0000
den=
1 4 25
Sehingga fungsi alih untuk masukan pertama adalah:
254
25
)(
)(
254
4
)(
)(
2
1
2
2
1
1
++
−=
++
+=
sssU
sY
ss
s
sU
sY
Sedangkan fungsi alih untuk masukan kedua adalah
254
25
)(
)(
254
5
)(
)(
2
1
2
2
2
1
++
−=
++
+=
ss
s
sU
sY
ss
s
sU
sY
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:
14.0
12
32
)(2
2
++
++
+
=ss
ss
s
sH
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 3.0000
1.6000 0
D=
0
10/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).
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:
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
F m
vi vo