Anda di halaman 1dari 40

5/1/12

Materi Pelatihan
Matlab
Click to edit Master subtitle style

disusun oleh:
Tim Assistant LKP
5/1/12
Pengenalan Matlab

Click to edit Master subtitle style


MATLAB (matrix laboratory) merupakan

5/1/12
perangkat lunak produk dari The MathWorks,Inc
yang memadukan kemampuan perhitungan,
pencitraan, dan permograman dalam satu paket.
Perangkat Lunak

5/1/12
Workspace Command window
berfungsi sbg merupakan jendela
tempat menyimpan utama MATLAB. Tempat
secara ototmatis untuk mengeksekusi
segala variabel perintah menampilkan
masukan dan hasil masukan dan hasil
perhitungan.

Command history adalah


tempat menyimpan secara
otomatis segala perintah
yang telah dituliskan pada
command windows.
5/1/12
Perintah
memasukan
data variabel a

Menyimpan Perintah
secara otomatis memasukan
harga variabel
data variabel b
a, b , dan c

Perintah
menghitung
harga variabel c

Menyimpan secara otomatis perintah-perintah


yang telah diketikkan di command window
M-file

5/1/12
Cara membuka M-
File:

File/New/M-File
Penulisan Matriks

Tanda koma (,) atau spasi memisahkan elemen-elemen satu baris.


Tanda titik koma(;) memisahkan elemen-elemen satu kolom.

5/1/12
Contoh >> a=[1,2,3]
: a =
1 2 3

>> b=[1;2;3]
b =
1
2
3
Vektor baris adalah matrik yang terdiri atas satu baris saja.
>> B=[2:6]
B=
2 3 4 5 6

5/1/12
Penulisan seperti di atas akan menghasilkan vektor
baris dengan selisih 1

Menentukan ukuran vektor


>> length(B)
ans =
5
>> A=[1 2 3;4 5 6;7 8 9]
A=
Menentukan ukuran matrik
>> size(A)
ans =
3 3

5/1/12
Menentukan determinan matrik
>> det(A)
ans =
0
Menentukan invers matrik
>> inv(A)
Warning: Matrix is close to singular or badly
scaled.
Results may be inaccurate. RCOND =
Perhitungan matriks
• Penjumlahan dan pengurangan
Hanya dapat dilakukan jika matrik-matrik yang

5/1/12

akan dijumlahkan dan dikurangkan memiliki orde


sama.
 2 3 1 6  2 3 1 6  4  6 2 12 
 1 4 5 2 +  1 4 5 2 = 2  8 10 4 
     

 2 3 1 6  2 3 1 6  0 0 0 0 
 1 4 5 2  − 1 4 5 2  = 0 0 0 0 
     
Perkalian matrik
AB A B≠
Syarat  jumlah kolom A = jumlah kolom baris BA
B
1 

5/1/12
AB = [ 1 2 3]  2  = 1 + 4 + 9 = 14
 3 

xA = c 1 2 3 
Pembagian
x = cA−1 xmatrik
 2 5 4  =kanan
[ 20 15 −dan
8] kiri
 
x = c/ A  4 3 1 

Ax = c 1 2 3   20
x = A−1c 2 5 4  x15
   =
x = A\c 
4 3 
1 
 8 −
Membuat Grafik

Misalkan:

5/1/12
X 1 2 3 4 5

Y 2.7 7.4 20.1 54.6 148.4

>> x=[1,2,3,4,5]
x =
1 2 3 4 5
>> y=[2.7,7.4,20.1,54.6,148.4]
y =

2.7000 7.4000 20.1000 54.6000 148.4000


>> plot(x,y) 150

>> xlabel('x')
>> ylabel('y') 100

y
50

0
1 1.5 2 2.5 3 3.5 4 4.5 5
x
Dapat ditulis di M-
File :

x=[1,2,3,4,5]

5/1/12
y=[2.7,7.4,20.1,54.6,148.4]
plot(x,y)
xlabel('x')
ylabel('y')

save
Klik Run
5/1/12
SISTEM PERSAMAAN TAK
LINIER
y
y = exp(x )

5/1/12
NON-LINIER x
Contoh :
persamaan kuadrat

x + 4x − 5 = 0
2

5/1/12
maka C(1)=1, C(2)=4, C(3)= -5.
Carilah akar-akar persamaan kuadrat di
bawah ini.

Dapat MATLAB Command window


ditulis : >> C=[1 4 -5]
C =
1 4 -5
>> roots(C)
ans =
-5
1
Dengan fzero :
Diketahui persamaan kuadrat
x²+4x+3
%kuadrat.m
function y = kuadrat(x)

5/1/12
y = x^2+4*x+3

x = fzero('kuadrat',0)
x =
-1

Untuk mencari akar lainnya, ubah tebakan awalnya.


>> x = fzero('kuadrat',-4)
x =
-3.0000
fsolve
Solusi sistem persamaan taklinier dapat
menggunakan fsolve pada MATLAB

5/1/12
Contoh:

x 3 − 3 xy 2 = 1/ 2
3x 2 y − y 3 = 3 / 2
Langkah 1 Buat terlebih dahulu fungsi sistem persamaan taklinier
dalam m-file.
Langkah 2 Buat program pengeksekusi menggunakan fsolve
pada m-file yang berbeda atau dapat juga langsung di command
window.

Langkah 3 Jalankan program pengeksekusi.


Pada m-file
function f = sistem(x)
f = [x(1)^3-3*x(1)*x(2)^2-0.5

5/1/12
3*x(1)^2*x(2)-x(2)^3-sqrt(3)/2]

>> X = fsolve('sistem',[1 2])


Optimization terminated: first-order optimality is less
than options.TolFun.
X = 0.9397 0.3420
Kasus 1

Diketahui sebuah persamaan kapasitas panas

5/1/12
sbb.

−6 1 5 .0 4  k J 
C p= 0 .7 1 6 − 57 E T
4 .2 +
 k g. K 
T  
Tentukan temperatur pada saat Cp = 1 kJ/kg.K
!!!
Menggunakan fungsi apakah untuk
menyelesaikan soal di atas????
Selesaikan persamaan berikut dengan
menggunakan fungsi roots dan fzero:

5/1/12
y = ( x1 − 3) + 0.5( x2 − 4) + 3
2 2
5/1/12
OPTIMASI
Untuk mencari harga minimum dan maksimum kita dapat
menggunakan perintah fminsearch.

[x,fval,exitflag] =

5/1/12
fminsearch(fun,x0)
keterangan:
fun = Fungsi yang akan diminimumkan atau dimaksimumkan
x0 = Tebakan awal
x = Harga x yang menyebabkan fungsi minimum atau maksimum
fval = Nilai maksimum atau minimum.
exitflag = Kriteria penghentian proses iterasi.
Harga x mencapai kekonvergenan jika exitflag bernilai 1.
Contoh :

Carilah titik minimum

x + 4x + 3 = 0
2

5/1/12
dengan menggunakan subrutin fiminsearch dalam MATLAB.

[x fval exitflag]=fminsearch('kuadrat',2)
x =
-2.0000
fval =
-1
exitflag =
1
Kasus 2
Carilah titik minimum dari persamaan multivariabel
berikut ini.

5/1/12
y = ( x1 − 3) 2 + 0.5( x2 − 4) 2 + 3
Regresi

5/1/12
(Linier dan Non-Linier)

Click to edit Master subtitle style


Regresi Linier
Persamaan dalam bentuk matriks untuk regresi
linier adalah sebagai berikut:

5/1/12
 n 2 n
  n 
 ∑ xi ∑ xi
 a  ∑ i i 
x y
 i =1 i =1
  0  =  i =1 
 n   a1   n

 ∑ xi n   ∑ yi 
 i =1   i =1 

Harga paramter a0 dan parameter a1 dapat


diperoleh dengan menyelesaikan sistem
persamaan linier di atas.
Contoh Kasus

5/1/12
t(s) 0 185 360 530 690 850

h(cm) 30 24 18 12 6 0

Dimana:
h=a0t+a1

Untuk mencari harga a0 dan a1 dapat


menggunakan metode jumlah selisih kuadrat
terkecil seperti yang telah dijelaskan
Jawaban:

Pada m-file:
• t=[0,185,360,530,690,850]; % Absis

5/1/12
• h=[30,24,18,12,6,0]; % Ordinat
• n=length(h);
• A = [sum(t.^2),sum(t)
• sum(t), n];
• c = [sum(h.*t)
• sum(h)];
• a = A\c

Didapat:
Kasus 3
Diketahui persamaan sebagai berikut:

y= aebx

5/1/12
Linierisasikan persamaan tersebut,kemudian
tentukan nilai a dan b,dengan data sebagai berikut:

x 0 60 115 172 225 270 305

y 21 18 15 12 9 6 3
5/1/12
Persamaan Differensial
Biasa
Click to edit Master subtitle style
PDB
Persamaan differensial terdiri atas fungsi turunan
satu buah variabel bebas.

5/1/12
Klasifikasi PDB
• Orde
Kelinieran

5/1/12

• Kondisi batas
 Berdasarkan Orde

5/1/12
Orde 1 dy
+ y = kx
dx
Orde 2
d2y dy
2
+y = kx
dx dx
Orde 3
3 2 2
d y d y  dy 
3
+ a 2 + b   = kx
dx dx  dx 
Berdasarkan
Kelinieran

5/1/12
Bentuk umum persamaan diferensial
linier
dny d n −1 y dy
bo ( x ) n + b1 ( x ) n −1 + ... + bn −1 ( x ) + bn ( x ) y = R ( x )
dx dx dx

Jika R(x) = 0, persamaan diferensial tersebut disebut


sebagai persamaan diferensial homogen.

Koefisien bi disebut:
• koefisien variabel jika merupakan fungsi dari x

• koefisien konstanta jika berupa bilangan skalar.

Jika variabel bebas persamaan diferensial tersebut tidak


muncul sebagai bagian yang eksplisit, persamaan
diferensial tersebut disebut persamaan diferensial yang
bersifat autonomous.
Klasifikasi PDB
(lanjutan)
Berdasarkan kondisi batas

5/1/12
 Persamaan differensial bernilai awal

∂2 y
= − yx
∂x 2

∂y
y (0) = 2, (0) = 1
∂x
Persamaan differensial bernilai batas

∂2 y
= − yx
∂x 2

y (0) = 2, y (1) = 1
Subrutin dalam MATLAB untuk solusi PDB
bernilai awal

Pada bagian ini akan dijelaskan subrutin

5/1/12
ode23 dalam MATLAB untuk menyelesaikan PDB
bernilai awal dengan karakter linier, taklinier,
tunggal maupun jamak (sistem).
Cara penulisan ode23
[t,y] = ode23(‘fungsiPDB’,rentang_t,y0)
Fungsi Rentan Harga
PDB yang g awal
akan integra
dievaluasi si
Contoh
dy
= −2 x3 + x2
12 20 −x 8.5 +
dx

5/1/12
dengan kondisi awal y = 1 pada x = 0 dan rentang
integrasi dari x = 0 s.d x = 4.
Berikut ini pemrograman MATLAB-nya.
%pdb.m
function dydx = pdb(x,y)
dydx = -2*x^3+12*x^2-20*x+8.5;
%runpdb.m
clear

5/1/12
clc
rentang_x = [0 4];
y0 = 1;
[x,y] = ode23('pdb',rentang_x,y0)
plot(x,y)
xlabel('x')
ylabel('y')
Kasus 4
Jika diketahui:

5/1/12
dy/dx = x4 + 8x3 - 2x2 + 10x -7

dengan kondisi awal y = 5 pada x = 0


dan rentang integrasi dari x = 0 s.d x =
10.
Berikut ini pemrograman MATLAB-nya.

Anda mungkin juga menyukai