Anda di halaman 1dari 38

Dasar-dasar Matlab

Jurusan Teknik Elektro


Fakultas Sains dan Teknik
Universitas Jendral Soedirman

Outlines
Pengenalan
Variable
Functions
Vector dan Matrik
Polynomial
M-Files
Plotting
Simulink
Toolbox

Pengenalan
MATLAB adalah sebuah program interaktif untuk
komputasi numerik and data visualisasi; program ini
sangat berguna dalam bidang teknik kontrol untuk
analisa dan perancangan.
Tujuan dibalik tutorial ini adalah diharapkan peserta
lebih mengenal, dapat memahami tentang matlab,
serta manfaat dan kemudahan yang disediakan oleh
matlab.
Dengan tutorial ini peserta juga diharapkan dapat
melakukan ulang semua plot-plot dan perhitunganperhitungan yang ada dalam tutorial ini.

Pengenalan
Lingkungan kerja dari Matlab:
Current Directory
Window ini menampilkan isi dari direktori kerja saat menggunakan
matlab. Kita dapat mengganti direktori ini sesuai dengan tempat direktori
kerja yang diinginkan. Default dari alamat direktori berada dalam folder
works tempat program files Matlab berada.
Command History
Window ini berfungsi untuk menyimpan perintah-perintah apa saja yang
sebelumnya dilakukan oleh pengguna terhadap matlab.
Command Window
Window ini adalah window utama dari Matlab. Disini adalah tempat
untuk menjalankan fungsi, mendeklarasikan variable, menjalankan
proses-proses , serta melihat isi variable.

Pengenalan
Current
Directory

Current
history

Command
window

Pengenalan

Workspace
Workspace berfungsi untuk menampilkan seluruh
variabel-variabel yang sedang aktif pada saat pemakaian
matlab. Apabila variabel berupa data matriks berukuran
besar maka user dapat melihat isi dari seluruh data
dengan melakukan double klik pada variabel tersebut.
Matlab
Getting Help
Matlab menyediakan fungsi help yang tidak berisikan
tutorial lengkap mengenai Matlab dan segala
keunggulannya. User dapat menjalankan fungsi ini
dengan menekan tombol pada
toolbar atau menulis perintah helpwin pada command
window. Matlab juga menyediakan fungsi demos yang
berisikan video tutorial matlab serta contoh-contoh
program yang bisa dibuat dengan matlab

Pengenalan
Interupting dan Terminating dalam Matlab
Untuk menghentikan proses yang sedang berjalan pada
matlab dapat dilakukan dengan menekan tombol Ctrl-C.
Sedangkan untuk keluar dari matlab dapat dilakukan
dengan menuliskan perintah exit atau quit pada comamnd
window atau dengan menekan menu exit pada bagian
menu file dari menu bar.

Variable
Matlab hanya memiliki dua jenis tipe data yaitu Numeric dan String.
Dalam matlab setiap variabel akan disimpan dalam bentuk matrik.
User dapat langsung menuliskan variabel baru tanpa harus
mendeklarasikannya terlebih dahulu pada command window
>> a = 1+2
a=
3
Nama variable- case sensitive. (sehingga A dan a akan berbeda)
Nama Variable harus diawali dengan huruf diikuti dengan huruf,
digits, atau/dan underscores. (nama variable maximal sampai 63
characters)
Jawaban tidak akan ditamplikan jika digunakan (semicolon) yang
diletakan diakhir, sebagai contoh
>> a = 1+2;

Variable
Aritmatic operator yang digunakan dalam MATLAB, antara lain:
+ addition
- subtraction
* multiplication
/ division
^ power operator
' transpose
Sebuah variable dapat dideklarasikan menggunakan operator angka
dan huruf yang telah didifinisikan sebelumnya. Sebagai contoh, (a=3
yang telah didifinisikan sebelumnya)
>>b = 2*a
b=
6

Variable
Ada beberapa variable yang telah didifinisikan oleh MATLAB yang dapat
digunakan kapanpun :
i ;sqrt(-1)
j ;sqrt(-1)
pi ;3.1416...
Sebagai contoh,
>>y= 2*(1+4*j) %semua setelah % adalah komen
y=
2.0000 + 8.0000i
Note:
Comment statements diawali dengan-"%".

Function
MATLAB juga disertai dengan fungsi-fungsi yang standard, seperti sin,
cos, log, exp, sqrt,dan masih banyak lagi. Sebagai contoh:
>>sin(pi/2)
ans =
1
Untuk mengetahui fungsi-fungsi yang lain dapat dengan mengetik help
diikuti dengan nama fungsinya,contoh
help [function name]
Pada command window MATLAB.
Beberapa fungsi yang biasa digunakan juga adalah:
abs ;magnitude of a number (absolute value for real numbers)
angle ;angle of a complex number, in radians
cos ;cosine function, assumes argument is in radians
sin ;sine function, assumes argument is in radians
exp ;exponential function
sqrt ;square root

Function

Sebagai contoh, dengan y yang telah didifinifikan diatas,


>>c = abs(y)
c=
8.2462
>>c = angle(y)
c=
1.3258
Nilai dari variable adalah nilai yang terakhir, yang lama akan
digantikan.
>>c
c=
1.3258

Vector dan matrik


MATLAB berdasarkan pada matrix dan vector algebra; walau scalar akan
diperlakukan seperti matrik 1x1. Sehingga, operasi vector dan matrix
operations akan menjadi mudah seperti kalkulator biasa.
Vector dapat didifinisikan dalam 2 cara:
1. Metode yang digunakan untuk elmen-elmen yang random (arbitrary
elements):
>>v=[1 3 5 7]; %membuat vector 1x4 vector dengan elmen 1, 3, 5 and 7.
Koma dapat juga digunakan untuk memisahkan antara elment
>>v=[1,3,5,7]; %sama dengan yang sebelumnya
Elmen penambahan dapat ditambahkan juga dalam vaktor:
>>v(5) = 8; %vektor menjadi v = [1 3 5 7 8].
Vector yang telah difinisikan lebih awal dapat digunakan untuk sistem
berikutnya. Sebagai contoh,
>>a = [9 10];
>>b = [v a]; %membuat vector b = [1 3 5 7 8 9 10].

Vector dan matrik


2. Method kedua untuk membuat vektor dengan space elmen:
>>t= 0:.1:10; %membuat vector 1x101 dengan elemen 0, .1, .2, .3,...,10.
Bagian tengah adalah increment (i.e: 0.1) . Jika hanya ada 2 angka maka,
increment (peningkatanya) adalah di-set default 1:
>>k = 0:10; %buat vector 1x11 dengan element 0, 1, 2, ..., 10.
Matrik didifiniMatrices are defined by entering the elements row by row. To
creates the matrix
>>M = [1 2 4; 3 6 8]

Vector dan matrik


Ada beberapa matriks yang sudah didifinisikan, antara lain:
null matrix:
M = [ ];
nxm matrix of zeros:
M = zeros(n,m);
nxm matrix of ones:
M = ones(n,m);
nxn identity matrix:
M = eye(n);
Elemet-elment tertentu dapat dinyatakan sebagai berikut:
>>M(1,2) = 5; %matrik baris pertama kolom ke 2, bernilai 5.
Operations dan functions dapat juga digunakan pada vektor dan matrik
>>a = [1 2 3]; b = [4 5 6]; c = a + b
c=
5 7 9
>> a*b
??? Error using ==> mtimes
Inner matrix dimensions must agree.

Vector dan matrik


>> a = zeros(2,3)
a=
000
000
>> b = ones(1,3)
b=
111
>> c = rand(2,2)
c=
0.9501 0.6068
0.2311 0.4860

>> d = rand (1,4)


d=
0.8214 0.4447 0.6154 0.7919
>> e = eye(3,3)
e=
100
010
001
Untuk memanggil isi dari suatu data
matriks, gunakan tanda kurung ()
dengan isi indeks dari
data yang akan dipanggil. Contoh
penggunaan :
>> c(2,2)
ans =
0.4860

Vector dan matrik


Fungsi juga di apply element by element. Sebagai contoh,
>>t = 0:10;
>>x = cos(2*t) %buat vector x dengan elments sama dengan cos(2t) untuk t
= 0, 1, 2, ..., 10.
Operations that need to be performed element-by-element can be
accomplished by preceding the operation by a ".". For example,
>>a.*b %with a = [1 2 3]; and b = [4 5 6];
ans =
4 10 18

Vector dan matrik


Jika anda mempunyai square matriks, seperti E, anda juga dapat
mengalikan matriks tersebut dengan dirinya sendiri,
>>E = [1 2;3 4]; E^3
ans =
37 54
81 118
Jika ingin tiap element, maka menggunakan.
>>E.^3
ans =
1 8
27 64

Vector dan matrik


Anda juga dapat mencari invers dari matriks:
>>X = inv(E)
X=
-2.0000 1.0000
1.5000 -0.5000
Atau eigen value:
>>eig(E)
ans =
-0.3723
5.3723

Polynomial
Dalam Matlab, polynomial direpresentasikan sebagai vector. Polynomial
didalam dapat dibuat dengan cara memasukan setiap coefficient polinomial
kedalam vector secara descending order. Sebagai contoh: s4 + 3s3 - 15s3 - 2s + 9
Dalam memasukan kedalam matlab hanya tinggal memasukannya seperti
vector, sebagai berikut
>>x = [1 3 -15 -2 9]
x=
1 3 -15 -2 9
Matlab dapat menginterpertasikan vector dengan panjang n+1 sebagai nth
order polynomial. Sehingga, jika satu atau beberapa koefisien tidak ditemukan
kita menggatinya dengan memasukan zeros pada tempat yang telah
ditentukan, sebagai contoh s4 + 1 Dalam Matlab:
>>y = [1 0 0 0 1]

Polynomial
Kita juga dapat menemukan nilai dari polynomial dengan menggunakan
fungsi polyval. Sebagai contoh untuk menemukan nilai diatas saat s=2,
>>z = polyval([1 0 0 0 1],2)
z=
17
Kita juga dapat mencari akar dari polynomial roots. Ini sangat berguna
jika kita mempunyai high-order polynomial. Akar-akar dapat berupa
complex numbers,
>>roots([1 3 -15 -2 9])
ans =
-5.5745
2.5836
-0.7951
0.7860

Polynomial
Jika kita ingin mengalikan 2 polinomial secara bersamaan. Product
dari 2 polinomial didapat dengan convolusi dari masing2
koefisienyanya. polynomials didapat dengan melakukan konvolusi
pada koefficientnya. Dengan fungsi matlab conv.
>>x = [1 2]; y = [1 4 8]; z = conv(x,y)
z=
1 6 16 16
Pembagian 2 polinomial dilakukan dengan fungsi deconv. Z dibagi
dengan y apakah akan menghasilkan x kembali ???.
>>[xx, R] = deconv(z,y)
xx =
12
R=
0000

M-files
Di dalam matlab, kita dapat menyimpan semua script
yang akan digunakan dalam file pada matlab dengan
ekstensi .M. M-File dapat dipanggil dengan memilih
menu file->new->M-File.
Sehingga menjadi filename.m. sebuah M-file dapat
berupa sebuah funtion dengan variable input dan
output variables atau list commands.
M-files dapat ditulis didalam MATLAB Editor, seperti
text editor; notepad..etc.
M-files biasanya disave dalam directory
C:/Matlab/Work ,

M-files

Plotting

Plotting dapat dilakukan dengan mudah di Matlab. Sebagai


contoh kita akan memplot gelombang sinus terhadap fungsi
waktu. Pertama, kita membuat sebuah time vector (dengan
semicolon setelah setiap statement untuk membatasi nilai
yang akan diplot) dan hitung nilai sinus setiap pada waktu.
>>t=0:0.25:7; y=sin(t);
>>plot(t,y); title(Sine wave as a function of time)

Plotting

Untuk linear formula: y=3x


Kita dapat membuat m-file dengan kode sebagai berikut:
x = 0:0.1:100;
y = 3*x; plot(x,y);xlabel('x');ylabel('y')

Plotting
Satu yang perlu diingat bahwa vectors x dan y harus
memiliki panjang yang sama. MATLAB dapat memplot
vector 1x n versus vector n x 1, atau 1 x n vector versus a 2 x
n matrik (kita akan mendapatkan 2 garis), sepanjang n adalah
untuk kedua vektor.

Warna dan point dapat diubah dengan menambahkan


parameter ke-3 kedalam plot command. Sebagai contoh,
untuk memplot fungsi berikut dengan merah, dotted line, mfile harus diubah:
>>x = 0:0.1:100; y = 3*x; plot(x,y,'r:')

Plotting
Daftar warna dan point adalah
sbb:
y yellow
. point
m magenta o circle
c cyan x x-mark
r red
+ plus
g green
- solid
b blue
* star
w white
: dotted
k black
-. dashdot
-- dashed

Plotting
Jika kita ingin memplot sine wave dan cosine wave pada axis yang sama,
menggunakan warna dan point tanda yang berbeda. m-file adalah sbb:
x = linspace(0,2*pi,50);
y = sin(x);
z = cos(x);
plot(x,y,'r', x,z,'gx')

sine wave dengan warna


merah dan cosine wave
warna hijau. Merah
dengan solid red line dan
cosine wave garis hijau:

Plotting
Kita juga dapat menggunakan fungsi hold on dan hold off
commands. Dengan program pada m-file, sbb:
x = linspace(0,2*pi,50);
y = sin(x); plot(x,y,'r')
z = cos(x);
hold on
plot(x,z,'gx')
hold off
Jika kita menggukan hold on command, semua plot akan di generate
dalam satu axes, tanpa menghapus plot yang sebelumnya sampai hold
off command digunakan.
Subplotting. Kita dapat menampilkan lebih dari 1 plot menggunakan
subplot command. Dengan subplot, kita dapat membuat beberapa plot
dalam satu gampar.

Plotting
Command yang dapat ditulis dalam m-file ataupun dalam window.
subplot(m,n,p)
command ini akan membagi gambar (figure) kedalam matrix dari m
rows dan n columns, sehingga m*n diplot dalam 1 gambar. sine wave,
cosine wave, and tangent wave akan diplot dalam 1 gambar dengan
axis yang sama. Dengan m-file sebagai berikut:
x = linspace(0,2*pi,50);
y = sin(x);
z = cos(x);
w = tan(x);
subplot(2,2,1)
plot(x,y)
subplot(2,2,2)
plot(x,z)
subplot(2,2,3)
plot(x,w)

Plotting
axis command akan mengubah plot axis, sehingga hanya bagian dengan
axis yang dinginkan yang akan disisply. axis command digunakan
dengan memasukan command berikut setelah plot command (atau
command lain yang diplot berdasarkan output):
axis([xmin, xmax, ymin, ymax])
axis([0, 1, 0, 50])

Simulink
SIMULINK adalah program untuk men-simulasikan
dynamic systems. Ada 2 pemakaian: model definition dan
model analysis. Model definition menggunakan simbol
dari block diagram, dimana lebih menyerupai menggambar
block diagram, daripada menggambar individual blocks,
blocks di-copy dari libraries blocks. Setelah model
ditentukan, kita juga dapat menganalisa. Baik dengan
memilih options dari SIMULINK menu atau dengan
memasukan commandsdi MATLABs command window.
Progress dari simulation dapat dilihat juga ketika running
simulation, dan hasil akhir juga dapat dilihat dalam
MATLAB workspace ketika simulation telah selesai.

Simulink
Proses pemodelan:
Drag sine wave function dari simulink library function; Simulink Math
operation sine wave function
Drag scope dari Simulink sink scope.
Drag transfer function dari simulink countinous
transfer function
Setting parameter:
Double click pada sine wave, ubah amplitude menjadi 5 dan frequency 5
Double click transfer function, ubah denominator menjadi 0.0001
Click scope dan ubah menjadi nama monitor dan monitor1
Pilih simulation configurasi parameter
solver, ubah start time dan stop
time menjadi 0.0 dan 5.0

Toolbox
MATLAB memiliki sejumlah module software yang ditambahkan,
dinamakan toolbox.
Beberapa toolbox diantaranya
Signal & Image Processing
Signal Processing-Image Processing Communications -System
Identification -Wavelet Filter Design
Control Design
Control System
Fuzzy Logic
Robust Control
Model Predictive
ControlModel-Based Calibration
More than 60 toolboxes!

Toolbox
Contoh penggunaan toolbox

s2
Gs 2
s 4s 9
num =[1 2];
den = [1 4 9];
rlocus(num, den)
bode(num, den)

Root locus

Bode diagram

Anda mungkin juga menyukai