Modul 1
Modul 1
MODUL 1A
PENGENALAN MATLAB
BAB I
Pendahuluan
GUI di Matlab
Ketika kita membuka GUI Matlab kita bisa melihat lihat dan mencoba coba
perintah pada GUI tersebut dan untuk lebih jelasnya bisa dilihat dalam demo
tersebut. Kita bisa melihat contoh contoh program dan bisa disave dengan
ektension .m(yang merupakan ektensi dari file matlab)
Salah satu yang cukup menarik dari matlab ini adalah kemudahan dan
kejelasannya dalam memahami contoh dan demo serta help yang ada pada matlab.
Kita akan berkenalan lebih dekat dengan yang satu ini. Kita bisa lihat dari demo
ini ternyata begitu banyak persoalan yang dapat dibangun dengan matlab dengan
cara lebih mudah dan lebih singkat, tanpa mengurangi kepahaman kita pada suatu
persoalan (bisa dibandingkan dengan bahasa C, pascal, delphi atau visual
lainnya). Dengan dilengkapinya matlab dengan toolbox, simulink dan
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 22
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
sebagainya maka semakin menambah kekuatan matlab untuk menyelesaikan
permasalahan yang rumit menjadi lebih mudah.
BAB II
Dasar Teori
2.1. Pengertian Matlab
Matlab merupakan bahasa pemrograman dengan kemampuan tinggi
dalam bidang komputasi. Matlab memiliki kemampuan mengintegrasikan
komputasi, visualisasi, dan pemrograman. Oleh karenanya, matlab banyak
digunakan dalam bidang riset‐riset yang memerlukan
komputas numerik yang kompleks. Penggunaan Matlab meliputi bidang–
bidang :
a. Matematika dan Komputasi
b. Pembentukan Algorithm
c. Akusisi Data
d. Pemodelan, simulasi, dan pembuatan prototype
e. Analisa data, explorasi, dan visualisasi
f. Grafik Keilmuan dan bidang Rekayasa
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 23
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
Semua tipe data di matlab memiliki bentuk yang sama, yaitu array.
Array minimal berukuran 0x0 dan dapat bertambah menjadi array
n x m dimensi dengan sebarang ukuran. Matlab mempunyai beberapa
tipe data dasar (atau class), yaitu: logical, char, numeric, cell,
structure, java classes, function handles.
b. Operator
Di dalam matlab, operator diklasifikasikan menjadi tiga bagian, yaitu:
1. Operator Arimatika
Operator aritmatika digunakan untuk mengerjakan komputasi
numeric.
Operator Arti
+ Penjumlahan
‐ Pengurangan
* Perkalian (aturan matriks)
.* Perkalian masing‐masing eleman yang bersesuaian
(aturan array)
2. Operator Relasional
Operator relasional digunakan untuk membandingkan
operand‐operand secara kuantitatif
Operator Arti
== Sama dengan
~= Tidak sama dengan
< Kurang dari
> Lebih dari
<= Kurang dari sama dengan
>= Lebih dari sama dengan
3. Operator Logika
Operator Arti
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 24
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
& Akan menghasilkan nilai 1 jika kedua elemen yang
bersesuaian memiliki nilai true dan 0 untuk lainnya
| Akan bernilai 1 jika salah satu elemennya true
~ Komplen dari elemen yang diinputkan
xor Akan bernilai 1 jika salah satu dari kedua elemen
memiliki nilai berbeda dan bernilai nol jika sama
BAB III
Prosedur Praktikum
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 25
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
I. Perintah Sederhana
a. Buatlah sebuah variabel numerik dengan nilai 20 dengan nama “x”.
Diketik dengan :
>> x = 20 {Enter}
Perhatikan hasilnya yang tampak di MATLAB Command
Window.
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 26
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
Tanda kurung siku pada matlab berfungsi sebagai bentuk matriks,
sedangkan spasi untuk memisahkan setiap elemen pada satu baris
tertentu.
c. Tambahkan 2 ke setiap elemen pada vektor “a” tersebut dan simpan
hasilnya ke vektor yang baru. Diketik dengan :
>> b = a + 2 {Enter}
Perhatikan hasilnya. Perhatikan juga bahwa MATLAB tidak
memerlukan penanganan khusus dalam melakukan kalkulasi
tersebut.
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 27
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
Fungsi plot digunakan untuk menggambar grafik 2D dengan skala
linear pada kedua sumbunya.
MATLAB juga dapat membentuk grafik jenis lain dengan
menambahkan nama setiap sumbunya.
>> bar(b) {Enter}
>> xlabel(‘Contoh #’) {Enter}
>> ylabel(‘Kilo Gram’) {Enter}
Lihat hasilnya di Figure Window. Maka akan muncul grafik seperti
pada Gambar 1.5.
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 28
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
Gambar 1.6 Grafik bar dengan xlabel
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 29
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
Mengganti gambar grafik dari bar menjadi plot 2D skala linear pada
kedua sumbunya diganti dengan tanda ‘*’. Masing-masing nilai x
dan y dimulai dari 0-10.
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 30
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
d. Hitung perkalian elemen seletak (elemen yang memiliki baris dan
kolom yang sama) menggunakan operator dot-star dengan simbol
“.*”. Perintahnya :
>> C = A .* B {Enter}
Perhatikan hasilnya.
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 31
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 32
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
j. MATLAB memiliki beberapa aplikasi dari komputasi matriks,
seperti mencari konvolusi dari dua vektor.
>> q = conv(p,p)
{Enter}
Atau di konvolusi lagi dengan
>> r = conv(p,q); plot(r) {Enter}
Lihat hasilnya di Figure Window. Maka akan tampil figure
window seperti pada Gambar 1.9.
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 33
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 34
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 35
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 36
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 37
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 38
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
Rand merupakan fungsi matriks dengan data random dengan
menggunakan distribusi uniform.
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 39
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
b. Grafik 3D
1. Grafik mesh, mencetak bentuk grafik mesh dari funsi “peaks”
yang telah disiapkan didalam MATLAB.
>> z=peaks(25); {Enter}
>>figure(2);surf(z); {Enter}
Lihat hasilnya pada figure window 1 Gambar 1.18.
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 40
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
Perhatikan bahwa figure window 1 masih tetap ada, tidak
berubah. Lihat pada Gambar 1.20, lalu menjadi seperti Gambar
1.21.
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 41
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 42
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
1. Skala Linier, mencetak fungsi contoh berikut dengan bentuk
Grid yang diaktifkan, baik sumbu X (Horizontal) maupun
sumbu y (Vertikal)
>> x=logspace(-2,0,500); {Enter}
>> plot(x,((sin(1./x)). Ʌ2)./x); {Enter}
>> set(gca,’XGrid’,’on’,’YGrid’,’on); {Enter}
Kita dapat menghilangkan Grid dengan mengubah “on” menjadi
“off”.
Lihat hasilnya pada Gambar 1.23 tampilan grafiknya dengan
grid, sedangkan pada Gambar 1.24 tampilan grafiknya tidak
disertai dengan grid.
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 43
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
>> plot(x,((sin(1./x)). Ʌ2)./x); {Enter}
>> set(gca,’XScale’,’log’,’YScale’,’linear’); {Enter}
>> set(gca,’XGrid’,’on’,’YGrid’,’on); {Enter}
Lihat hasilnya pada Gambar 1.25.
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 44
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 45
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
Latihan :
1. Kerjakan masing-masing instruksi program Matlab diatas.
2. Kemudian gantilah angkanya sesuai yang kamu kehendaki (Bebas).
3. Catat hasilnya dan masukkan hasil grafiknya dalam lembar tugas.
4. Buat Analisa dari hasil dan buat Kesimpulan.
TUGAS PENDAHULUAN
BAB IV
Kesimpulan
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 46
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
MODUL 1B
B. SUB KOMPETENSI
Setelah selesai praktik diharapkan mahasiswa dapat:
1. Mengkaji operasi dasar paket program MATLAB untuk aplikasi sistem
kendali.
2. Mengkaji operasi fungsi matematik untuk aplikasi sistem kendali.
C. KAJIAN SINGKAT :
Berdasarkan ragam fasilitas yang tersedia dalam MATLAB, saudara
diajak untuk mencoba fungsi-fungsi dasar dari MATLAB, khususnya yang
berkaitan dengan Dasar Sistem Kendali.
Bagian I : Matriks, Fungsi Alih, Pole & Zero dan Partial Fraction
Expansion
1. Matriks
Untuk menyelesaikan persamaan yang bersifat “kolosal”, penyelesaian yang
relatif “mudah” adalah dengan memanfaatkan matrik sebagai salah satu
solusinya.
Bentuk umum :
Ax=b
dimana : A = Matrik dengan ukuran m x n.
x = vektor kolom b = vektor kolom
a11 a12 a13 ... a1n x1 = b1
a21 a22 a23 ... a2n x2 = b2
a31 a32 a33 ... a3n x3 = b3
: : : : : :
am1 am2 am3 ... amn xm = bm
A x b
Untuk mencari p,q,r,x,y,dan z sesungguhnya yang paling penting adalah mencari
terlebih dahulu Invers dari Matriks A, baru kemudian mengalikannya dengan
vektor kolom b, atau dapat dicari sebagai berikut :
Ax=b
A A x = A-1 b
-1
2. Fungsi Alih
Fungsi alih dari suatu sistem linear di definisikan perbandingan dari
transformasi Laplace dari output variable ke input variable dengan semua kondisi
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 47
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
awal diasumsikan nol. Fungsi alih dari suatu sistem atau elemen direpresentasikan
dengan hubungan deskripsi dinamik dari sistem. Fungsi alih hanya bisa
didefinisikan untuk linear, sistem stasioner (parameter konstan).
Sistem dinamik dengan persamaan differential yaitu
dimana y(t) adalah respons dan r(t) adalah fungi input. Jika kondisi awal adalah
semual nol maka fungsi alih adalah koefisien dari R(s) dalam persamaan berikut.
Fungsi alih adalah
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 48
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
Jika pada persamaan tidak ada multi root dimana r adalah vector kolom.
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 49
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
D. ALAT/INSTRUMENT/APARATUS/BAHAN
1. Personal Computer (PC)
2. Software MATLAB
E. KESELAMATAN KERJA
1. Pastikan personal computer (PC) telah terinstall dengan baik
2. Jangan mengubah-ubah setting pada system operasi PC
F. LANGKAH KERJA :
1. Memulai matlab dengan klik icon MATLAB
kemudian New Script M-File, ketik program di script Editor seperti pada
Gambar 2.1.
2. Aplikasi Matrik
Cari nilai p, q, r, x, y, dan z dari keenam persamaan di bawah ini
2p + 3q – 4r + 5x + 6y – 7z = 1 .................. (1)
3p – 4q + 5r + 6x – 7y + 2z = 2 .................. (2)
-4p + 5q + 6r – 7x + 2y + 3z = 3 .................. (3)
5p + 6q – 7r + 2x + 3y – 4z = 4 .................. (4)
6p – 7q + 2r + 3x – 4y + 5z = 5 .................. (5)
-7p + 2q + 3r – 4x + 5y + 6z = 6 .................. (6)
Caranya :
a. Kelompokkan matrik A, x, dan b dalam comand window, contoh
mengelompokkan matrik A
>> d=[+2 +3 -4 +5 +6 -7;+3 -4 +5 +6 -7 +2;-4 +5 +6 -7 +2 +3;+5 +6 -7
+2 +3 -4;+6 7 +2 +3 -4 +5;-7 +2 +3 -4 +5 +6]
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 50
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
Kemudian tekan enter:
b. Lakukan proses inversi pada matriks A
c. Hasilnya kalikan dengan vektor kolom b.
3. Fungsi Alih
Ketikkan dalam Command Windows
%Transfer Function
>>num = [1 1]
>>den = [1 2 1]
>>G = tf ( num,den )
>>p=pole(G)
>>z=zero(G)
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 51
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
>>[b2,a2] = residue(r,p,k)
b2 =
-4 8 fungsi alih (transfer function) Ketikkan dalam comand window
Diberikan
a2 = alih
Fungsi
1 = 6[6, -10,
>>b 8 2]
>>a = [1, -3, 2, 0]
>>sys = tf (b,a)
>>[r, p, k] = residue (b,a)
Tekan enter
Latihan
Mencari dua polynomial dan konstanta ekspansi pecahan parsial pada pole-
pole untuk transformasi
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 52
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
Exercise 3:
Tujuan: tujuan dari sesi ini mengenalkan penulisan skrip M-file, membuat
MATLAB function dan mengenalkan MATLAB flow control seperti ‘if-elseif-
end’, ‘for loops’ dan ‘while loops’.
Overview:
MATLAB is a powerful programming language as well as an interactive
computational environment. Files that contain code in the MATLAB language are
called M-files. You create M-files using a text editor, then use them as you would
any other MATLAB function or command. There are two kinds of M-files:
Scripts, which do not accept input arguments or return output arguments. They
operate on data in the workspace. MATLAB provides a full programming
language that enables you to write a series of MATLAB statements into a file and
then execute them with a single command. You write your program in an ordinary
text file, giving the file a name of ‘filename.m’. The term you use for ‘filename’
becomes the new command that MATLAB associates with the program. The file
extension of .m makes this a MATLAB M-file.
Functions, which can accept input arguments and return output arguments.
Internal variables are local to the function. If you're a new MATLAB
Programmer, just create the M-files that you want to try out in the current
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 53
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
directory. As you develop more of your own M-files, you will want to organize
them into other directories and personal toolboxes that you can add to your
MATLAB search path.
If you duplicate function names, MATLAB executes the one that occurs first in
the search
path.
Scripts:
When you invoke a script, MATLAB simply executes the commands found in the
file. Scripts can operate on existing data in the workspace, or they can create new
data on which to operate. Although scripts do not return output arguments, any
variables that they create remain in the workspace, to be used in subsequent
computations. In addition, scripts can produce graphical output using functions
like plot. For example, create a file called ‘myprogram.m’ that contains these
MATLAB commands:
Functions:
Functions are M-files that can accept input arguments and return output
arguments. The names of the M-file and of the function should be the same.
Functions operate on variables within their own workspace, separate from the
workspace you access at the MATLAB command prompt. An example is
provided below:
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 54
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
The first line of a function M-file starts with the keyword ‘function’. It gives the
function name and order of arguments. In this case, there is one input arguments
and one output argument. The next several lines, up to the first blank or
executable line, are comment lines that provide the help text. These lines are
printed when you type ‘help fact’. The first line of the help text is the H1 line,
which MATLAB displays when you use the ‘lookfor’ command or request help
on a directory. The rest of the file is the executable MATLAB code defining the
function.
The variable n & f introduced in the body of the function as well as the variables
on the first line are all local to the function; they are separate from any variables
in the MATLAB workspace. This example illustrates one aspect of MATLAB
functions that is not ordinarily found in other programming languages—a variable
number of arguments. Many M-files work this way. If no output argument is
supplied, the result is stored in ans. If the second input argument is not supplied,
the function computes a default value.
Flow Control:
Conditional Control – if, else, switch
This section covers those MATLAB functions that provide conditional program
control. if, else, and elseif. The if statement evaluates a logical expression and
executes a group of statements when the expression is true. The optional elseif
and else keywords provide for the execution of alternate groups of statements. An
end keyword, which matches the if, terminates the last group of statements. The
groups of statements are delineated by the four keywords—no braces or brackets
are involved as given below.
if <condition>
<statements>;
elseif <condition>
<statements>;
else
<statements>;
end
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 55
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
It is important to understand how relational operators and if statements work with
matrices. When you want to check for equality between two variables, you might
use
if A == B, ...
This is valid MATLAB code, and does what you expect when A and B are
scalars. But when A and B are matrices, A == B does not test if they are equal, it
tests where they are equal; the result is another matrix of 0's and 1's showing
element-by-element equality. (In fact, if A and B are not the same size, then A ==
B is an error.)
The proper way to check for equality between two variables is to use the isequal
function:
Here is another example to emphasize this point. If A and B are scalars, the
following program will never reach the "unexpected situation". But for most pairs
of matrices, including
our magic squares with interchanged columns, none of the matrix conditions A >
B, A < B,
or A == B is true for all elements and so the else clause is executed:
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 56
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
Several functions are helpful for reducing the results of matrix comparisons to
scalar conditions for use with if, including ‘isequal’, ‘isempty’, ‘all’, ‘any’.
There must always be an end to match the switch. An example is shown below.
Unlike the C language switch statement, MATLAB switch does not fall through.
If the first case statement is true, the other case statements do not execute. So,
break statements are not required.
for:
The ‘for’ loop, is used to repeat a group of statements for a fixed, predetermined
number of times. A matching ‘end’ delineates the statements. The syntax is as
follows:
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 57
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
The semicolon terminating the inner statement suppresses repeated printing, and
the r after the loop displays the final result.
It is a good idea to indent the loops for readability, especially when they are
nested:
while:
The ‘while’ loop, repeats a group of statements indefinite number of times under
control of a logical condition. So a while loop executes atleast once before it
checks the condition to stop the execution of statements. A matching ‘end’
delineates the statements. The syntax of the ‘while’ loop is as follows:
while <condition>
<statements>;
end
Here is a complete program, illustrating while, if, else, and end, that uses interval
bisection to find a zero of a polynomial:
break:
The break statement lets you exit early from a ‘for’ loop or ‘while’ loop. In nested
loops, break exits from the innermost loop only. Above is an improvement on the
example from the previous section. Why is this use of break a good idea?
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 58
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
continue:
The continue statement passes control to the next iteration of the for loop or while
loop in which it appears, skipping any remaining statements in the body of the
loop. The same holds true for continue statements in nested loops. That is,
execution continues at the beginning of the loop in which the continue statement
was encountered.
G. DISKUSI
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 59
Modul Praktikum Sistem Kendali - D10H5103
Program Studi Teknik Elektro
Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari
Departemen Teknik Elektro Fakultas - FMIPA UNPAD
TUGAS PENDAHULUAN
1. Jelaskan apa yang dimaksud fungsi alih dan bagaimana mendeklarasikan pada
MATLAB?
2. Buatlah suatu Jaringan R,L,C (variasi jaringan dapat seperti dalam teori) dan
tentukan fungsi alih sistem jaringan.
3. Apakah yang dimaksud Partial Function Expansion sertakan contohnya?
4. Apakah yang dimaksud ‘function’ dalam MATLAB dan bagaimana
mendeklarasikannya?
5. Apakah yang dimaksud dengan pole, zero berikan contoh?
Laboratorium Elektroteknik, Tenaga Listrik, dan Teknologi Komunikasi Departemen Teknik Elektro UNPAD 60