Professional Documents
Culture Documents
MatLab+Simulink
DISUSUN :
EDIWAN
1. PENDAHULUAN
MatLab adalah suatu program komputer yang memudahkan seseorang dalam
memprogram komputer, dengan MATLAB persoalan-persoalan numeris maupun
perhitungan yang komplek dapat diselesaikan dengan mudah tanpa harus menulis program
komputer yang sangat panjang, karena Matlab menyediakan rutin siap pakai yang lengkap,
begitu juga fasilitas grafis yang langsung ditampilkan, baik 2 maupun 3 dimensi. Dengan
demikian MatLab dapat melayani mahasiswa, ilmuwan dan akhli teknik seperti layaknya
sebuah
algoritma-algoritma
dalam
komputasi
numeris.
Bidang
yang
dapat
memanfaatkan software ini terutama industri, teknik, ekonomi, statistik dan yang
membutuhkan lainnya.
Seperti halnya software-software yang lain, MatLab selalu berkembang mulai dari
versi dos, windows, macintosh hingga jaringan serta fasilitas bantuan yang sewaktu-waktu
dapat dipanggil jika diperlukan.
2. OPERASI DASAR
Seperti yang telah disebutkan diatas bahwa MatLab mempunyai beberapa perintah
yang siap pakai, yang berupa variabel, pernyataan, maupun fungsi yang dapat langsung
dipergunakan. Tetapi seperti halnya program komputer lainnya, MatLab juga mempunyai
perintah-perintah dasar pemrograman sebagai berikut :
Yang dipakai dalam operasi / pembuatan program Matlab :
- Angka 0 1 2 3 4 5 6 7 8 9
- Abjad A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,v,q,r,s,t,u,v,w,x,y,z
- Simbol + - * / . , ; ' " = $ [ ] ( ) : % ? dll
Contoh :
>> 2+5
>> 9-5
>> 9*23 , 67/52
>> 3*14 , 4-16 , 51+6 ; 12/7
>> A=2+7
soal 1.
>> b= 8-3
jawab :
b=
5
soal 2.
>>3+7
jawab
10
soal 3.
>> 3*15
jawab
45
soal 4. character string menggunakan tanda ()
>>
c=Selamat Datang
>>
cs=(c)
atau
>>
c= Selamat
>>
cs=(c,Datang)
jawab :
Selamat Datang
>> gaya=10;
>> luas=2;
>> tekanan=gaya*luas;
>> disp(tekanan);
20
>> disp(tekanan)
20
Statement disp sama dengan print pada basic
Catatan :
Tanda baca koma ',' memisahkan dua perintah dalam satu baris, sedangkan tanda
titik koma ';' diahir baris akan menyimpan hasil perhitungan dimemori komputer dan
tidak akan menampilkan hasil perhitungan di layar serta dapat menggunakan hurup
besar atau kecil dan kedua-duanya.
3. OPERASI ARITMATIC
Operasi aritmatic diperlukan untuk suatu proses aljabar yang akan dilakukan oleh
komputer dimana proses ini didalam pemrograman Matlab digunakan beberapa simbol
khusus yang dinamakan operator, untuk melakukan operasinya yaitu:
Operator
Simbol Operasi
Tanda
Tingkatan
Penjumlahan
Pengurangan
Perkalian
Pembagian
Pangkat
+
*
/
^
Plus
Minus
Asteris
Slash
3
3
2
2
1
Contoh :
>> a=(18+6)/4
jawab :
a=
6
>> 90*(23+6) , b^3 , a^(1/3)
>> 3*4 , 4-6 , 5+6 ; 2/7
>> a+b^2
c^3
Angka 8 menunjukkan disediakan 8 kolom untuk output dan pada 8 kom ada 3 desimal
Nama variabel
Keterangan
abs()
sqrt()
exp()
log()
log10()
log2()
2
Menyatakan harga logaritma basis 2, missal log x
Fungsi
Notasi Matematik
BahasaProgram
Akar dari x
Harga Mutlak
Eksponen x
Sinus x
Cosinus x
ln x
Log x
Tangen x
Arcus Tg x
X
x
ex
sin x
cos x
ln x
log x, log10(x),log2(x)
tg x
arc tg x
SQR(X)
ABS(X)
EXP(X)
SIN(X)
COS(X)
LOG(X)
ALOG(X)
TAN(X)
ATAN(X)
contoh :
1. soal :
16
>> sqrt(16)
atau
>> x=16
>> sqrt (x)
jawab :
4
2.
e0.25( 0.2 )
0.01. 3.
>> exp(-0.25*0.2)/(0.01*sqrt(3))
jawab:
54.9192
sudut=90*pi/180
250/sin(pi/6)
sudut=acos(0.5*sqrt(2))
sudut=sudut*180/pi
sudut=atanh(0.4)
soal :
Fungsi
Notasi Matematik
BahasaProgram
invers matrik
Eigen value
determinant
Transpose
Jumlah
Akar polinomial
invers matrik A
inv(a)
eig(a)
det(a)
A'
sum(a)
roots(a)
determinan matrik a
AT
Penggunaan fungsi diatas akan dibahas tersendiri, pada operasi bagian berikutnya.
clear
%menghapus semua variabel sebelumnya
x=[1,2,3,4] atau x=[1 2 3 4]
y=[0.1,0.2,0.3,0.4] atau y=[0.1 0.2 0.3 0.4]
z=[1+2i ; 2+2i ; 3+2i ; 4+2i]
%complex column vector
soal 1.
>> x =[2,1,3,4] atau x=[2 1 3 4]
jawab :
%baris vector
x=
2
soal 2.
>> x=[2;-4;8]
%column vector
jawab :
x=
2
-4
8
clear
x=(1:0.1:5)
x=1:8 atau x=1:1:8
y=linspace(1,2,11)
1.0472
2.0944
3.1416
jawab :
x =
1
>> x=5:-1:1
jawab :
x =
y=x (transpose)
y=
4
3
2
1
5.3. Operasi Skalar dengan Vector
Operasi matematika antara vector dengan skalar tidak memerlukan perintah khusus.
Contoh :
>> 2 * x 1
ans =
9
>> x / 2
ans =
2.5000
>> r=[tan(pi/4)
2.0000
1.5000
sqrt(9)
1.0000
0.5000
-5]
jawab :
r=
1.0000
3.0000
-5.0000
5.0000
15.0000
-25.0000
>> p=5*r
jawab :
p=
Operasi matematika antara vector dengan vector tidak sesederhana seperti operasi
vector dengan skalar. Jika dua vector memiliki jumlah elemen yang sama, maka operasi
antara dua vector tersebut akan dilakukan dengan dasar perelemen-elemen yang
bersangkutan.
Contoh :
>> clear, clc
>> x = linspace(1,10,10) , y = linspace (1,2,10)
>> x + y
>> x - y
>> x = linspace(1,10,10)
x =
1
10
1.888
2.0
1.77
>> x+y
ans =
2.0 3.11 4.22 5.33 6.44 7.55 8.66
9.77
10.88 12.0
soal 1.
>> x=[2;-4;8]
x =
2
-4
8
>> y=[1;3;-5]
y =
1
3
-5
>> z=x+y
z=
3
-1
3
Namun untuk perkalian dan pembagian matrik, notasi penulisan sedikit berbeda,
yaitu dengan menambahkan titik '.' sebelum tanda kali '*' dan tanda bagi '/'.
Contoh :
>>x ./ y
>>x .* y
soal 1.
>>x=[1 2 3];
>>y=[4 5 6]
>>z=x.*y
jawab:
z=
10
18
soal 1.
soal 2
>>x=[1 2 3;2 4 1; 3 2 5]
>>y=3
>>r=sqrt(x.^2+y^2)
jawab: ?
contoh 2.
E = [1 2;3 4]
F = [2 3;4 5]
G = E .* F
E=
1 2
3 4
F=
2 3
4 5
G=
2 6
12 20
E^3
ans =
37 54
81 118
E.^3
ans =
1
27
8
64
Nilai Invers
X = inv(E)
X=
-2.0000
1.0000
1.5000
-0.5000
nilai eigen
eig(E)
ans =
-0.3723
5.3723
coefficients characteristic polynomial fungsi "poly" :
p = poly(E)
p=
1.0000 -5.0000 -2.0000
%complex column
soal1.
>>r=[tan(pi/4) sqrt(9) -5]
r=
1.0000
3.0000
-5.0000
>> y=r
jawab: y=
1.0000
3.0000
-5.0000
Namun demikian dua perintah tersebut tidak berpengaruh untuk bilangan nyata :
>> x' , x.'
Contoh :
>>
>>
>>
>>
x(4) , y(7) %elemen ke-4 dari vector x dan elemen ke-7 dari vector y
x(4) / y(10)
x(3:7)
%blok elemen dari elemen ke-3 sampai ke-7 dari vector x
x(4) = 0
%mengubah elemen vector x yang ke-4 menjadi 0
Latihan :
1. adalah sebuah vector yang memiliki 20 elemen dari 0 sampai dengan 2. f juga
adalah sebuah vector yang merupakan fungsi dari dengan mengikuti persamaan : f
= sin + 2 (sehingga f juga memiliki 20 elemen). Bentuklah vector dan f
dengan menggunakan operasi vector yang telah dipelajari di atas.
2. Bentuklah vector g dengan persamaan g = f - 2
3. Tampilkan dalam grafik antara dengan f dan g dengan perintah :
>> plot (,f,,g,'--');
Catatan : Apabila tidak dapat ditulis dalam Matlab, cari nama variabel yang lain.
1
4
A=
2
5
8
3
6
contoh 2.
>> B = [1 0 0 1; 1 1 1 1; 1 0 1 1; 1 2 0 1]
1
1
B = 1
0
1
0
2
0
1
1
0
1
1
%recall matrix A
%recall elemen matrik A di baris 3 kolom 3
%mengubah elemen matrik A baris 2 kolom 3 sama
soal 1.
>> a=[2 3 4 1;2 4 5 6;10 2 3 5;3 2 1 0]
jawab
2
2
10
3
4
2
2
4
5
3
1
1
6
>> a(1,1)+a(2,1)+a(3,1)+a(4.1)
jawab :
17
>> sum(a)
jawab :
17
11
13
12
16
5
3
10
6
15
2
11
7
14
13
8
12
>>diag(a)
16
10
7
1
% diagonal matrik a
>> sum(diag(a))
34
>> b=a
16
3
2
13
% transpose matrik a
5
10
11
8
9
6
7
12
4
15
14
1
>> a = [1 2 3; 4 5 6; 7 8 9]
1
4
a=
2
5
8
3
6
inv(a)
soal 2.
1
4
2
5
8
3
6
x1 10
x 5
2 =
x3
2
0
6
1
11
11
1
6
>> [X,D]=eig(a)
jawab :
D=
-1
-2
-3
X=-0.7071
0.0000
-0.7071
0.2182
0.4364
0.8729
-0.0921
-0.5523
-0.8285
7. POLINOMIAL
7.1. Pembentukan
Polinomial di dalam Matlab diwakili oleh vector baris yang berisikan koefisienkoefisien dari polinomial tersebut dengan orde menurun.
Contoh :
>> c = [ 1 2 3 4 ]
%artinya x3 + 2x2 + 3x + 4
%b dibagi c
Untuk penjumlahan dan pengurangan, orde dari polinomial harus sama. Jadi
polinomial dengan orde yang lebih rendah harus diawali dengan angka nol untuk
mendapatkan vector baris yang sama.
Contoh :
>> e = [1 3 4 0 7]; f = [ 1 2];
>> g = e + [0 0 0 f]
x = linspace(-10,12,100);
y = x.^5 - 3*exp(x) + 13*x.^2;
plot(x,y); grid;
xlabel('variabel x'); ylabel('variabel y');
title('Grafik Percobaan');
zoom
soal 1.
>> x=0:0.1:10;
>> y=sin(x)
>> plot(x,y)
atau
>> x=0:0.1:10;
>> plot(x,sin(x))
soal 2.
Warna grafik r=red, g=green dll
>> t=(0:0.01:10);
>> y1=sin(t);
>> y2=cos(t);
>> plot(t,y1,'r',t,y2,'g')
Soal Jawab
t= 0:0.1:16*pi;
x=exp(-0.03*t).*cos(t);
y=exp(-0.03*t).*sin(t);
z=t;
plot3(x, y, z),
clear, clc
x = linspace(-10,12,100);
y = x.^5 - 3*exp(x) + 13*x.^2;
z = x.^4.*sin(x);
plot(x,y,g:,x,z,r--,x,y,y+,x,z,wx);
w = x.^4.*cos(2.*x);
hold on
plot(x,w,b-,x,w,mo);
>> clf;
>> meshc(z);
>> clf;
>> colormap(hot);
>> surfl(z);
Latihan :
1. Tampilkan dalam bentuk grafik persamaan y( x) 3 e 0.005x cos 2x , dari x = 0 sampai
dengan x = 2.
2. Gambarkan sebuah bola dengan radius = 3 menurut persamaan x2 + y2 + z2 = 9.
9. Data Analisis
9.1. File operasi
Perangkat lunak Matlab memiliki kemampuan untuk mengambil data mentah dalam
bentuk matrik dari sebuah file
Contoh :
Sebuah file bernama data.dat berisi data daftar harga buah-buahan perbulan
dalam satu tahun. Kolom pertama berisi data bulan, kolom kedua adalah data harga
pisang, kolom ketiga, keempat dan kelima masing-masing berisi data harga buah durian,
semangka dan jeruk. File ini telah disiapkan, sehingga pemindahan file ke hard disk drive
masing-masing komputer dilakukan dengan cara :
>> !copy a:\data.dat
Akses data dari file data.dat ke dalam Matlab workspace dilakukan dengan
menggunakan perintah load.
>> load data.dat
akan menghasilkan sebuah variabel data yang berisikan data-data dari matrik file
data.dat
a = [1 2 0 -23];
x = linspace(-3,3,100);
hasil = polyval(a,x);
plot(x,hasil);
contoh 2
Diketahui sebuah polinomial berbentuk
p =x4
3x2 4x
x= - 3 dan 4. Menggunakan perintah polyval
akan dievaluasi pada
>> p=[1 0 3 4 5];
>> x=[-3,4];
>> polyval(p,x)
ans =
101 325
Turunan Fungsi pangkat 4
Px=4 x4 + 3 x2 + 4 x + 5
Disusun dalam matrik berikut
P=[4 0 3 4 5];
Polyder(p)
Ans =
16
90
60
69
40
19
p x = 56 x 6 24 x 5 90 x 4 60 x 3 69 x 2 40 x
19
Latihan :
1. Carilah akar-akar persamaan x4 - 2x2 + 24 = 0
2. Plot persamaan tersebut dari x = -4 sampai dengan x = 4
3. Tentukan persamaan polinomial yang memiliki akar-akar -2, 1, 3, 3-i, 3+i
dy
P( x) y Q( x)
dx
1.1
P ( x ) dx
1.2
Dengan mengalikan faktor integrasi ini dengan persamaan (1.1), maka akan
diperoleh
d
y Q( x)
dx
1.3
Persamaan y(x) yang merupakan penyelesaian persamaan linear order pertama (1.1)
dapat diketahui dengan menyelesaikan persamaan (1.3).
Langkah demikian harus ditempuh untuk dapat menyelesaikan persamaan (1.1)
secara analitik. Namun perangkat lunak Matlab menyediakan kemudahan dengan
memberikan fasilitas penyelesaian ordinary differential equation secara numerik dengan
menggunakan perintah ode23 atau ode45.
Untuk menyelesaikan persamaan (1.1) dengan menggunakan Matlab, langkah
pertama adalah membuat bentuk eksplisit
dy
P( x) y Q( x)
dx
1.4
>>
>>
>>
>>
atau
x0=0;
%batas bawah
xf=1;
%batas atas
y0=[1];
%initial condition y(0)
[x,y] = ode23('firstode',x0,xf,y0);
Contoh 1
Selesaikan persamaan differensial linear order pertama
dy
xy x , dengan kondisi awal y(0) = 3
dx
1.5
Analitik :
P(x) = x and Q(x) = x
jadi
xdx
x2
sehingga
2
2
d
ye x 2 xe x 2
dx
y( x) 2e x
Matlab :
Bentuk eksplisit :
dy
xy x , dengan kondisi awal y(0) = 3
dx
Fungsi dalam Matlab m-file (click File, New, M-file)
function dy_dx = firstode(x,y)
dy_dx = [-x*y+x];
M-file ini harus diberi nama (Save As) firstode.m sesuai dengan nama
fungsi. Kemudian invoke Matlab command window dengan perintah-perintah :
>>
>>
>>
>>
x0=0;
%batas bawah
xf=1;
%batas atas
y0=[3];
%initial condition y(0)
[x,y] = ode23('firstode',x0,xf,y0);
Contoh 2 a
Sebuah roket jatuh bebas dari ketinggian 600 m dengan massa roket 80 kg ditulis seperti
persamaan dibawah ini,
dV
=f(t,v)
dt
dV
4 2
m
= -m g +
.V
15.
dt
dV
4 V2
g
dt
15 m
diganti
function rk=f(t,v)
m=80;
g=9.81;
rk=-g+4/15*v^2/m;
dy
=f(t,y)
dt
% f(0)=0
table=[t,y]
tabel =
0
0.0000
0.0000
0.0000
0.0000
0.0000
0.0001
0.0001
0.0001
0.0003
0.0004
0.0005
0.0160
0.0320
0.0480
0.0640
0.0800
0.1600
0.2400
0.3201
0.4001
0.8002
1.2002
13.2504
14.0004
14.7504
15.5004
16.2504
17.0004
17.7504
18.5004
24.5004
25.2504
26.0004
26.7504
27.5004
28.2504
29.0004
29.2503
29.5002
29.7501
30.0000
0
-0.0001
-0.0001
-0.0002
-0.0002
-0.0005
-0.0007
-0.0010
-0.0012
-0.0025
-0.0037
-0.0050
-0.1569
-0.3139
-0.4709
-0.6279
-0.7849
-1.5694
-2.3534
-3.1363
-3.9179
-7.7954
-11.5929
-53.3582
-53.5669
-53.7290
-53.8527
-53.9462
-54.0174
-54.0727
-54.1148
-54.2340
-54.2376
-54.2404
-54.2425
-54.2442
-54.2454
-54.2464
-54.2466
-54.2469
-54.2471
-54.2473
Soal 2 a perbaikan
Tabel diatas menampilkan waktu dari 0 s/d 30 detik, untuk menampilkan sesuai keinginan
seperti program dibawah ini,
>> t=[0,0.1,0.2,0.3];
>> i=0;
>> [t,y]=ode45(@f,t,i);
>> table=[t,y]
table =
0
0
0.1000 -0.9809
0.2000 -1.9611
0.3000 -2.9401
Soal 2
dy
(1 x) y 2 atau y=(1-x)y2 dengan y(0)=1.5
dx
function rk=f(x,y)
rk=(1-x)*y^2;
simpan f.m
>> t=[0 0.1 0.2 0.3];
>> i=1.5;
>> [x,y]=ode45(@f,t,i)
>> tabel=[x,y]
tabel =
0
0.1000
0.2000
0.3000
1.5000
1.7493
2.0548
2.4291
Soal
y = 1000y + 1000 sin(t) + cos(t) with
y(0) = 1
cx kx 0
mx
y1 x
y 2 x,
y2
x
1.9
Bentuk eksplisit dari persamaan (1.8) di atas adalah :
c
k
x x
m m
1.10
Substitusikan (1.9) ke dalam (1.10), sehingga memperoleh vektor kolom turunan y :
y2
y1
k
c
y2 y 2 y 1
m
m
1.11
>>
>>
>>
>>
t0=0;
%batas bawah
tf=0.1;
%batas atas
x0=[0;1];
%initial condition x(0) dan x(0)
[t,y] = ode23('two_ode',t0,tf,x0);
Untuk orde tiga dan seterusnya, jumlah variabel baru yang dimasukkan tinggal
ditambah saja.
Latihan :
1. Selesaikan persamaan
(0) 1
d2 g
0 , di mana g = 9.81, l = 2 dan (0) = 0 dan
l
dt 2
2. Selesaikan persamaan
dx
(0) 1 dan x(0) = 0
dy
d 3x
d2x
d2x
2
x
24
0
(0) 0 ,
,
dengan
kondisi
awal
dy 3
dy 2
dy 2
10
1.3
3.2
11.3
15.1
25.5
38.2
47.1
68.2
81.3
98.2
P=0.9284X2+0.7693X-1.0350
Untuk polyvit(x,y,4)
0.9003
4.6209
9.4910
16.2300
25.2556
36.6836
50.3280
65.7013
82.014
98.1752
10
1
y( t ) V0 t at 2 sin t
2
1.12
di mana V0 adalah kecepatan awal mobil dan a adalah percepatan. Dalam kurun
waktu t = 0 sampai dengan t = 10 detik, kita ingin mengetahui posisi mobil
berdasarkan masukan kecepatan awal dan percepatan.
Langkah pemrograman :
Buka New Matlab M-file dengan cara click File, New, M-file. Tulis di
dalamnya
%Program Posisi Mobil
%menurut persamaan y=V0.*t+.5*a.*t.^2.*sin(t)
%grafik posisi mobil dari t=0 sampai t=10
clear; close;
input('Kecepatan awal V0 = '); V0 = ans;
input('Percepatan
= '); a = ans;
t=linspace(0,10,100);
y=V0.*t+.5*a.*t.^2.*sin(t);
figure;
plot(t,y); grid;
xlabel('waktu t detik'); ylabel('posisi y meter');
temptext=['Grafik posisi mobil, V0=',int2str(V0),',
a=',int2str(a)];
title(temptext);
Kemudian ke File, Save As : mobil.m
Setelah kembali ke Matlab command windows, ketik
>> mobil
Latihan :
Praktek ITBU - Ediwan
11
1. Tiga orang telah berbelanja komputer, laptop dan software. Si Anto membeli masing-masing
3, 2 dan 1, Ira membeli 5 komputer dan 3 software dan Toto membeli masing-maing 2, 4 dan
12. Buatlah program perhitungan harga masing-masing barang berdasarkan variabel harga
total yang dibayarkan oleh ketiga orang tersebut. Tanyakan kepada user untuk memasukkan
nilai x, y dan z yang merupakan harga keseluruhan yang dibayar Anto, Ira dan Toto.
Kemudian hitung harga masing-masing barang.
3 2 1 komputer x
persamaan matematikanya : 5 0 3 laptop y
2 4 12 software z
12
while y < 10
y = sin(x) + x;
end;
3. If-else
Bentuk umum dari If-else adalah :
if pernyataan1
commands dikerjakan apabila pernyataan1 benar
elseif pernyataan2
commands dikerjakan apabila pernyataan2 benar
else
commands dikerjakan apabila tidak ada yang benar
end
input('Nilai = ');N= ans;
if N>=60
disp ('Saudara LULUS');
else
disp('Saudara TDK
LULUS');
end;
13
Contoh 2:
input('harga apel = '); apel = ans;
if apel > 2000
diskon = 0.10;
else
diskon = 0;
end;
apel = apel * (1-diskon)
end;
Contoh 3
input('A=');
ans;
input('A=');
A a= =ans;
input('B=');
b=
ans;
input('B=');
B=
ans;
input('C=');
c
=
ans;
input('C='); C = ans;
if a==0
if A==0
X=-c/b
X=-C/B
else
else
d=b^2-4*a*c
D=B^2-4*A*C;
if d<0
if D<0
disp('Imaginer')
disp('Imaginer');
else
else
X1=(-b+sqrt(d))/(2*a)
X1=(-B+sqrt(D))/(2*A)
X2=(-b-sqrt(d))/(2*a)
X2=(-B-sqrt(D))/(2*A)
end
end;
end;
clear all;
clc;
disp('-----------------------');
disp('program latihan 6');
disp('Matlab Programming');
disp('By ITBU');
disp('------------------------');
uts1=input('nilai uts1=');
uts2=input('nilai uts2=');
uas=input('nilai uas=');
na=(uts1*20/100)+(uts2*30/100)+(uas*50/100);
disp(['nilai akhir = ' num2str(na)]);
if na>80
disp('grade anda=A');
elseif na<=80 & na>70
disp('grade anda=B');
elseif na<=70 & na>60
disp('grade anda=C');
elseif na<=60 & na>50
disp('grade anda=D');
else
pengenalan perangkat lunak Matlab
14
disp('grade anda=E');
end;
Latihan :
1. Modifikasi program latihan sebelumnya yaitu tentang harga komputer, laptop dan softaware,
jika harga total lebih dari 5 juta, diskon 10 %, jika lebih dari 10 juta, diskon 20 persen dan
jika lebih dari 20 juta, diskon 30 persen.
15
Pustaka :
1. Duane Hanselman and Bruce Littlefield, The Student Edition of Matlab : Version 4 User's
Guide, The Math Works Inc., Prentice Hall, NJ, 1995.
2. The MATLAB EXPO, An Introduction to MATLAB, SIMULINK@, and the MATLAB
Application Toolboxes April 1993
3. Hadi Saadat, 1993, COMPUTATIONAL AIDS IN CONTROL SYSTEM USING
MATLAB Milwaukee, WisconsinMcGraw-Hill, Inc
4. Clave Moler, MATLAB User Guide, University New Mexico
5. The MATLAB for DOS Personal Computers, Prentice Hall
6. COMPUTATIONAL AIDS IN CONTROL SYSTEMS Using MATLAB, International
Editions 1993 McGraw-Hill, Inc.
16
akar.m
a=2;
b=8;
c=3;
d=b^2-4*a*c;
x1=(-b+sqrt(d))/(2*a)
pause
x2=(-b-sqrt(d))/(2*a)
pause
x=[1:1:10];
y=a.*x.^2+b.*x+c;
plot(x,y)
17
SIMULINK
Kasus matematik
18
19
20
Introduction
Simulink (Simulation and Link) is an extension of MATLAB by Mathworks Inc. It works with
MATLAB to offer modeling, simulation, and analysis of dynamical systems under a graphical
user interface (GUI) environment. The construction of a model is simplified with click-and-drag
mouse operations. Simulink includes a comprehensive block library of toolboxes for both linear
and nonlinear analyses. Models are hierarchical, which allow using both top-down and bottomup approaches. As Simulink is an integral part of MATLAB, it is easy to switch back and forth
during the analysis process and thus, the user may take full advantage of features offered in both
environments. This tutorial presents the basic features of Simulink and is focused on control
systems as it has been written for students in my control systems course.
This tutorial has been written for Simulink v.5 and v.6.
Getting Started
To start a Simulink session, you'd need to bring up Matlab program first.
From Matlab command window, enter:
>> simulink
Alternately, you may click on the Simulink icon located on the toolbar as shown:
Simulink's library browser window like one shown below will pop up presenting the block set for
model construction.
21
To see the content of the blockset, click on the "+" sign at the beginning of each toolbox.
To start a model click on the NEW FILE ICON as shown in the screenshot above. Alternately,
you may use keystrokes CTRL+N.
A new window will appear on the screen. You will be constructing your model in this window.
Also in this window the constructed model is simulated. A screenshot of a typical working
(model) window is shown below:
22
To become familiarized with the structure and the environment of Simulink, you are encouraged
to explore the toolboxes and scan their contents. You may not know what they are all about at
first, but perhaps you could catch on the organisation of these toolboxes according to their
categories. For instance, you may see that the Control System toolbox consists of the Linear
Time Invariant (LTI) system library and the MATLAB functions can be found under Function
and Tables of the Simulink main toolbox. A good way to learn Simulink (or any computer
program in general) is to practice and explore. Making mistakes is part of the learning curve. So,
fear not you should be!
A simple model is used here to introduce some basic features of Simulink. Please follow the
steps below to construct a simple model.
STEP 1: CREATING BLOCKS.
From BLOCK SET CATEGORIES section of the SIMULINK LIBRARY BROWSER window,
click on the "+" sign next to the Simulink group to expand the tree and select (click on) Sources.
A set of blocks will appear in the BLOCKSET group. Click on the Sine Wave block and drag it
to the workspace window (also known as model window).
23
24
You may remove (delete) a block by simply clicking on it once to turn on the "select mode" (with
four corner boxes) and use the DEL key or keys combination CTRL-X.
STEP 2: MAKING CONNECTIONS
To establish connections between the blocks, move the cursor to the output port represented by
">" sign on the block. Once placed at a port, the cursor will turn into a cross "+" enabling you to
make connection between blocks.
To make a connection: left-click while holding down the control key (on your keyboard) and
drag from source port to a destination port.
The connected model is shown below.
A sine signal is generated by the Sine Wave block (a source) and is displayed by the scope. The
integrated sine signal is sent to scope for display along with the original signal from the source
via the Mux, whose function is to mutiplex signals in form of scalar, vector, or matrix into a bus.
STEP 3: RUNNING SIMULATION
You now may run the simulation of the simple system above by clicking on the play button .
Alternately, you may use keystrokes CTRL+T, or choose Start submenu (under Simulation
menu).
Praktek ITBU - Ediwan
25
Annotations
26
To add an annotation to your model, place the cursor at an unoccupied area in your model
window and double click (left button). A small rectangular area will appear with a cursor
prompting for your input.
To delete an annotation, hold down the SHIFT key while selecting the annotation, then press the
DELETE or BACKSPACE key. You may also change font type and colour from FORMAT
menu. Make sure that the block is selected before making the change.