Tujuan
Mahasiswa menguasai
teknik penyelesaian analisis matematika dalam lingkup teknik control untuk
system kontinyu dengan menggunakan MATLAB
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:
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 menjadi , dimana X adalah matriks square, 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, dan . 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 , 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
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:
Dimana r adalah vector
kolom residu, p adalah lokasi kutub (pole) vector kolom dan k adalah vector
baris. Misalkan diperoleh fungsi transfer berikut ini:
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:
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:
Untuk mengembalikan ke
bentuk semua:
>>[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:
Dimana t merupakan variable simbolik domain t dalam fungsi F
- L=Laplace(F,t)
Membuat L fungsi dari t sebagai pengganti default s.
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
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
-------------
(s+a)2+ b2
>>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:
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:
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
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)
>>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:
- State space to transfer function (ss2tf)
- Transfer function to state space (tf2ss)
- Continuous to discrete (c2d)
- 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:
- Ambil sebuah matriks ruang keadaan dari system
Dimana matriks:
A= B= C= dan D=0
Maka untuk mengubah matriks pemodelan
system dari ruang keadaan (state space) ke fungsi alih (transfer function)
adalah:
>>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:
- 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:
Matriks:
A= B= C= 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=
0 1.0000 5.0000
0 1.0000 -25.0000
den=
1 4 25
Sehingga fungsi alih
untuk masukan pertama adalah:
Sedangkan fungsi alih
untuk masukan kedua adalah
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:
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