Anda di halaman 1dari 18

MATLAB

Matlab

: MATrix LABoratory

: bahasa pemrograman yang dikembangkan oleh The MathworkInc


(http://www.mathworks.com)
: bahasa pemrograman yang banyak digunakan untuk perhitungan
numeric keteknikan, komputasi simbolik, visualisasi, grafis, analisis
data matematis, statistika, simulasi, pemodelan dan desain GUI.
Karakteristik MATLAB :

Bahasa pemrogramannya didasarkan pada matriks (baris & kolom)


Lambat karena bahasanya langsung diartikan. Contoh, tdk diperlukan
pre-compiled. Menghindari kalang for (for loops). Setiap saat
menggunakan bentuk-bentuk vector.
Automatic memory management, missal kita tdk hrs mendeklarasikan
array dahulu
Tersusun rapi
Memiliki waktu pengembangan program lebih cepat dibanding bahasa
pemrograman lama (Fortran atau C).
Dapat diubah ke bahasa C lewat MATLAB Compiler utk effisiensi lebih
baik
Tersedia banyak Toolbox utk aplikasi-aplikasi khusus.
Bersama dengan Maple utk komputasi-komputasi simbolik.
Dalam shared- memory parallel computers, seperti SGI Origin 2000,
beberapa operasi secara otomatis dapat diproses bersama.

The Commond Window

Double klik ikon MATLAB shg muncul jendela kerja (workspace)


Untuk membersihkan workspace, ketik clc dan tekan tombol Enter
pada keyboard.
Contoh :
>> a = 1 + 6
a =7
>> g1 = cos (3*pi/4)
g1 = -0.7071
utk mengubah format angka yang tampil dpt dilakukan dgn
mengetikkan :
>> format long

>> g1
g1 = -0.70710678118655
>> format bank
>> g1
g1 = -0.71

Berbagai Karakter Spesial


Tanda % penenda komentar (keterangan setelah tanda ini akan
diabaikan dlm proses perhitungan selanjutnya).
Contoh :
>>y = 2:1:5
% y = [ 2 3 4 5 ];
Y = 2.00
3.00
4.00
5.00
Tanda ; merupakan perintah pembatas yg tdk ditampilkan di
workspace, merupakan
pemisah kolom & baris dlm matriks,
missal :
>> A = [1 2 3; 3 2 1];
Tanda : merupakan pembatas jangkauan

Misal :

>> B = [0 : 3 : 9]
B = 0

3.00

6.00

9.00

Tanda merupakan transpose matriks. Misal :


>>X = [ 3 2 4 5 ; 7 6 5 8 ]
X = 3.00

2.00

4.00

5.00

700

6.00

5.00

8.00

>>X = X
X = 3.00
2.00
4.00
5.00

7.00
6.00
5.00
8.00

Tanda digunakan saat menuliskan baris perintah yang


panjang.Contoh :
>> p = sin(1) sin(2) + sin(3) sin(4) + sin(5) + cos(6) +
Cos(7) sin(8) sin(9) cos (10) + cos (11)

P =.0273
Untuk keluar dari MATLAB, ketikkan exit di jendela kerja kemudian
tekan Enter, atau klik menu File di sudut kiri atas, tekan tombol X di
keyboard.
Semua pekerjaan tadi dpt diakses kembali dg membuka jendela kerja
dan menekan berulang kali tombol anak panah keatas keyboard.
Semua pekerjaan akan hilang bila kita klik menu Edit dan kemudian klik
perintak Clear Command History

Angka & Operasi Aritmatika


Ada 3 jenis angka di MATLAB :
Bulat (Integer)
Nyata (Real Numbers)
Kompleks (Complex numbers)
Bilangan bulat
(decimal).

: Bilangan yang tdk mengandung bilangan berkoma

Contoh :
>> xi = 10
xi = 10
Bilangan Real :
>> xr = 12.6054
Xr = 12.6054
3 variabel sebagai nonnumbers, yaitu :

-Inf (Negative infinity)


Inf (Infinity)
Nan (Not a number), missal 0.0/0.0 atau 4-4

Daftar operasi dasar aritmatika di MATLAB :


operasi

Symbol

Penambahan
Pengurangan

+ Contoh : 5+3
-

Contoh : 5-3

Perkalian

* contoh 5*3

Pembagian

/ atau \ , contoh 56/8 atau 8\56

Pangkat

^ , contoh 5^2

RUANG KERJA MATLAB :


Misal :hendak mengecek nilai tape, maka kita meminta kepada MATLAB
dengan mengetikkan namanya pada PROMT
>>tape
tape =
2
Bila ingin memanggil perintah sebelumnya, MATLAB menggunakan
tombol panah
(, ,
) pada keyboard. Bila kita tekan
berarti memanggil
perintah terakhir, menggerakkan krusor kekiri/ kekanan.
VARIABEL
Aturan penamaan Variabel

Catatan & Contoh

Nama variable dibedakan antara


huruf kecil & huruf kapital

Items, items, itEms dan ITEMS


semuanya adalah variable yang
berbeda

Panjang maksimum nama variable


adalah 31 karakter setelah karakter
ke 31 diabaikan

Howaboutthisvariablename

Nama variable hrs diawali dg huruf,


how_about_this_variable_name
diikuti dg sembarang bilangan, huruf X51483
atau garis bawah. Karakter-karakter
A_b_c_d_e
tanda baca tdk diperbolehkan krn
byk diantaranya mempunyai arti
tersendiri dlm MATLAB.

Variabel Khusus

Nilai

ans

Nama variable utk hasil apapun

pi

Perbandingan antara kell lingk dg garis

tengahnya
eps

Bilangan terkecil sedemikian rupa


sehingga bila ditambahkan pada satu,
menghasilkan bilangan lebih besar dari
satu pada suatu computer

flops

Jumlah operasi floating point

inf

Tak berhingga, missal 1/0

NaN atau nan

Bukan suatu bilangan, missal 0/0

i dan j

i = j = V-1

nargin

Jumlah argument input suatu fungsi

Nargout

Jumlah argument output suatu fungsi

realmin

Bilangan real positif terkecil yang dpt


digunakan

realmax

Bilangan real positif terbesar yang


dapat digunakan

HIMPUNAN PERSAMAAN LINIER


-Menemukan penyelesaian dari sekumpulan persamaan linier
Ax = b
A = [1 2 3;4 5 6;7 8 0];
x = [x1;x2;x3];
b = [366;804;351];
Persamaan diatas berarti perkalian matriks antara matriks A dengan vector x, sama
dengan vector b.
Masalah diatas adalah masalah mendasar dalam aljabar linier.
Secara analitis penyelesaian ditulis sebagai :
x = A-1.b
Dengan mengoperasikan masalah diatas pada program MATLAB, akan didapat
x= inv(A)*b
x=

atau

x=A\b
x=

25.0000

25.0000

22.0000

22.0000

99.0000

99.0000

Operator pembagian kiri\ tidak didahului oleh titik karena merupakan operasi matriks,
bukan operasi elemen ke elemen suatu array.
Cara penyelesaian kedua karena lebih sedikit perkalian dan pembagian, sehingga lebih
cepat, dan akurat.
Jika suatu permasalahan MATLAB tidak dapat menemukan, maka akan tampil pesan
kesalahan.
Dalam MATLAB penggunaan operator / atau \ secra otomatis menemukan solusi yang
memperkecil error kuadrat dalam A.x-b.
MATRIKS KHUSUS
Matriks umum :
>>a= [1 2 3;4 5 6];
>>b= find(a>10)
b=
[]
Matrikskhusus :
>>zeros(3) %3x3 matriks berelemen nol
ans =
0 0 0
0 0 0
0 0 0
>>Ones(2,4) %2x4 matriks berelemen satu
ans =
1 1 1 1
1 1 1 1
>>zeros(3)+pi
ans =
3.1416 3.1416 3.1416
3.1416 3.1416 3.1416
3.1416 3.1416 3.1416
>>Menggunakan fungsi size utk menciptakan matriks dengan ukuran sama
dengan matriks lain.

>>[1 2 3;4 5 6];


>>ones(size(A))
ans =
1 1 1
1 1 1
Matriks-matriks khusus diberikan dalam table :
Matriks Khusus
[]

Matriks kosong

compan

Matriks companion

eye

Matriks identitas

hadamard

Matriks hadamard

hankel

Matriks hankel

hilb

Matriks Hilbert

invhilb

Invers matriks Hilbert

magic

Matriks segiempat ajaib

ones

Matriks dengan semua elemen satu

pascal

Matriks segitiga pascal

rand

Matriks dg elemen bilangan random berdistribusi uniform


dari 0 sampai dengan 1

randn

Matrik dg elemen bilangan random berdistribusi normal dg


rata-rata nol dan varian unit

rosser
toeplitz
vander
wilkinson
zero

Contoh :

Matriks test nilai eigen simetris


Matriks toeplitz
Matriks vandermonde
Matriks test nilai eigen Wilkinson
Matriks dg semua elemen nol

ALJABARLINIER
Karakter-karakter Spesial dan Fungsi-fungsi MATLAB
SPESIAL KARAKTER
;

Operator titik koma

Transpos konjugasi

Transpos

Perkalian

Operator titik

Operator pangkat

[]

Operator vector kosong

Operator titik dua

Tanda sama

==

Tanda sama dengan

Pembagi kiri atau backlash

Pembagi kanan

i,j

Unit imajiner

Logika tidak

~=

Logika tidak sama dengan

&

Logika dan

Logika atau

{}

Sel

FUNGSI

DESKRIPSI

acos

Invers cosinus

Axis

Kontrol skala sumbu & penampakan grafik

char

Membentuk karakter array

chol

Faktorisasi Cholesky

cross

Perkalian silang vector

det

Determinan

diag

Matriks diagonal dan diagonal dari suatu matriks

double

Mengubah ke presisi double

eig

Nilai eigen & vector eigen

eye

Matriks identitas

fill

Pengisian polygon 2-D

fix

Pembulatan ke nol

flipir

Memutar matriks kea rah kanan/ kiri

flops

Operasi penjumlahan bilangan bulat

grid

Garis bantu

hadamard

Matriks hadamad

hilb

Matriks Hilbert

hold

Menahan grafik yang dikerjakan

inv

Matriks invers

isempty

Benar utk matriks kosong

legend

Legenda grafik

length

Panjang vector

linspace

Linierly spaced vector

logical

Mengubah nilai numeric ke logika

magic

Matriksl magic kuadrat

Max

Komponen terbesar

min

Komponen terkecil

norm

Matriks atau normal vector

null

Ruang nol

num2cell

Mengubah nilai numeric array ke dalam sel array

num2str

Mengubah angka ke string

Ones

Array ones

pascal

Matriks pascal

Plot

Plot linier

poly

Mengubah akar-akar ke bentuk polynomialnya

Polyval

Mengevaluasi polynomial

rand

Pendistribusian bilangan acak secara teratur

Randn

Pendistribusian bilangan acak secara normal

rank

Rank suatu matriks

reff

Bentuk eselon baris tereduksi

rem

Remainder after division

reshape

Mengubah ukuran

roots

Mancari akar-akar polynomial

sin

Fungsi sinusoidal

size

Ukuran suatu matriks

sort

Pemilihan dalam pangkat yang menaik

subs

Substitusi simbolik

sym

Inisialisasi simbolik dan variable

tic

Memulai waktu pencatatan

title

Judul grafik

toc

Membaca waktu pencatatan

toeplitz

Matriks tioeplitz

tril

Mengekstrak bagian segitiga bawah

triu

Mengekstrak bagian segitiga atas

vander

Matriks vandermonde

varargin

Daftar panjang variable argument masukan

zeros

Array zeros

Vektor & Matriks


Membuat sebuah vector baris :
a = [1 2 3]
a=
1 2 3
Membuat vector kolom :
b = [1;2;3]

b=
1
2
3

PEMBUATAN GRAFIK
Grafik dibuat dengan mencari nilai-nilai fungsi dalam suatu interval & menggambarkan
vector hasilnya.
Penggambaran grafik pada MATLAB menggunakan perintah plot.
Fungsi Plot/ fplot mencari nilai-nilai fungsi yang akan digambar secara teliti dan
meyakinkan bahwa semua keanehan yg melekat pd fungsi tersebut direpresentasikan dalam
grafik hasil.
Input, fungsi perlu nama fungsi dalam bentuk karakter string dan jangkauan grafik sebagai
array 2 elemen.
Contoh :
>>fplot(humps,[0 2])
>>title(menggambar humps dengan FPLOT)

menggambar humps dengan FPLOT

100

80

60

40

20

-20

0.2

0.4

0.6

0.8

1.2

1.4

1.6

1.8

Pada contoh diatas, humps adalah suatu fungsi M-file yang disediakan MATLAB.
Fplot bekerja untuk setiap fungsi MATLAB dengan satu vector input ukuran sama& satu
vector output.
Artinya : seperti pada humps, variable output y merupakan vector yang berukuran sama
danvektor input x, dengan y dan x berhubungan array ke array.
Kesalahan Umum penggunaan fplot (demikian juga dg fungsi analisis numeric lain) :
Lupa memberikan nama fungsi yang diapit oleh apostrop. (nama fungsi dalam bentuk
karakter string hrs ditegaskan, jika diketik fplot humps,[0 2], MATLAB menganggap
humps sebagai suatu variable dalam ruang kerja, bukan sebagai nama fungsi).
Bagi fungsi-fungsi sederhana dapat diekspresikan sebagai satu karakter string seperti
y=2exsin(x), fplot dapat menggambar grafiknya tanpa harus membuat M-file dahulu. Hal
tersebut cukup dilakukan dg menulis fungsi ini sbg karakter string dengan menggunakan x
sebagai variable bebas :
>>f=2*exp(-x).*sin(x);
Disini fungsi f(x) = 2e-xsin(x) didefinisikan dengan perkalian array.
>>fplot(f,[0 8])
>>title(f), xlabel (x)

2*exp(-x).*sin(x)

0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-0.1

4
x

Gambar 2
Untuk memberi ilustrasi minimalisasi dan maksimalisasi satu dimensi, perhatikan
- Maksimum didekat xmax = 0.7
- Minimum di dekat xmin = 4
Secara analisis titik titik tersebut dapat ditunjukkan sebgai :
- Xmax = /4 0.785 dan xmin = 5/4 3.93.
% exp_fmin.m
fn=2*exp(-x)*sin(x) ; % mendefinisikanfungsiuntuk minimum
Xmin=fmin(fn,2,5)
%mencaridalam range 2<x<5
emin=5*pi/4-xmin

% menemukankesalahan

x=xmin;
sebagaivariabelnya
ymin=eval(fn)

% evalmemerlukan x krnfnmempunyai x
% evaluasipadaxmin

fx=-2*exp(-x)*sin(x); % mendefinikanfungsiutk max;


perhatikantanda minus
xmax=fmin(fx,0,3)
% mencaridalam range 0<x<3
emax=pi/4 xmax
x=xmax;
ymax=eval(fn)

% menemukankesalahan
% evalmemerlukan xkarenafnmempunyai x sebagaivariabelnya
% evaluasipadasmin

PENCARIAN NOL
MATLAB menyediakan penyelesaian numeric untuk masalah2 mencari nilai nol dr fungsi
satu dimensi.

MATEMATIKA DLM TEKNIK KONTROL


Ringkasan fungsi polynomial :

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 matriks polynomial

Residue

Ekspansi fraksi parsial

roots

Mencari akar-akar polynomial

Representasi MATLAB
Penggambaran polynomial sebagai vector baris yang terdiri atas
koefisien-koefisien polinomnya.
Contoh :
p(x) = x3 - 2x 5
Kita masukan ke dalam MATLAB sebagai :
p = [1 0 -2 5] ;
Akar Polinomial
Fungsi roots menghitung akar-akar dari polynomial :
r= roots (p)
r=
2.0946
-1.0473 + 1.1359i
-1.0473 +1.1359i
Yang disimpan dalam bentuk vector kolom. Fungsi poly
mengembalikan ke koefisien polinomnya :
p2 = poly
p2 =
1 8.8818e-16 -2 -5
Karakteristik Polinomial
Fungsi poly dapat juga menghitung karakteristik koefisien matriks
polinomnya :
A = [1.2 3 -0.9; 5 1.75 6; 9 0 1];
Poly(A)
Ans =
1.000 -3.9500 -1.8500 -163.2750
Akar-akar polinom ini, yang dihitung menggunakan roots, merupakan
characteristic roots atau nilai eigen dari matriks A.
Evaluasi Polinomial
Fungsi polyval mengevaluasi polynomial pada suatu nilai tertentu.
Untuk mengevaluasi p pada s=5, kita gunakan :

polyval (p , 5)
ans =
110
Ini juga memungkinkan untuk mengevaluasi polynomial dalam matriks
sensenya. Dalam kasus p(x) = x3 2x 5 menjadi p(X) = x3 2x 5I, dimana X
adalah matriks square, I matriks identitas.
Misal kita buat matriks square X dan evaluasi polynomial p pada X :
X = [2 4 5; -1 0 3; 7 1 5];
Y = polyvalm(p,x)
Y=
377 179 439
111 81 136
490 253 639
Perkalian & Pembagian
Perkalian polinom & pembagiannya berhubungan dg operasi konvolusi &
dekonvolusi. Fungsi conv dan deconv menjalankan operasi ini.
Tunjuk polynomial a(s) = s2 + 2s + 3 dan b(s) = 4s2 + 5s 6. Utk
menghitung hasil kalinya digunakan :
a = [1 2 3]; b = [4 5 6];
c = conv(a,b)
c =
4 13 28 27
Gunakan dekonvolusi utk membagi a(s) kembali kepada pengalinya:
[q,r] = deconv(c,a)
q =
4 5 6
r
=
0 0 0 0 0
Turunan Polinom
Fungsi polyder menghitung derivasi setiap polynomial. Untuk
mendapatkan derivasi polynomial p=[1 0 -2 5]:
q =
q=

polyder(p)
3 0 -2

Polider juga menghitung derivasi perkalian atau pembagian dua


polynomial. Sebagai contoh, kita buat dua polynomial a dan b :
a = [1 3 5];
b = [2 4 6];
derivasi perkalian a*b dg polyder dg satu argument keluaran :
c = polyder (a,b)
c =
8 30 56 38
Derivasi dari pembagian a/b dg memanggil polyder dg dua argumen keluaran:
[q,d] = polyder(a,b)
q =
-2 -8 -2
d =
4 16 40 48 36

Anda mungkin juga menyukai