Pelatihan Matlab

37
Materi Pelatihan Matlab disusun oleh: Tim Assistant LKP

Transcript of Pelatihan Matlab

Page 1: Pelatihan Matlab

Materi Pelatihan Matlabdisusun oleh:Tim Assistant LKP

Page 2: Pelatihan Matlab

Pengenalan Matlab

Page 3: Pelatihan Matlab

MATLAB (matrix laboratory) merupakan perangkat lunak produk dari The MathWorks,Inc yang memadukan kemampuan perhitungan, pencitraan, dan permograman dalam satu paket.

Page 4: Pelatihan Matlab

Perangkat Lunak

Workspace berfungsi sbg tempat menyimpan secara ototmatis segala variabel masukan dan hasil

Command history adalah tempat menyimpan secara otomatis segala perintah yang telah dituliskan pada command windows.

Command window merupakan jendela utama MATLAB. Tempat untuk mengeksekusi perintah menampilkan masukan dan hasil perhitungan.

Page 5: Pelatihan Matlab

Perintah memasukan data variabel a

Perintah memasukan data variabel b

Perintah menghitung harga variabel c

Menyimpan secara otomatis harga variabel a, b , dan c

Menyimpan secara otomatis perintah-perintah yang telah diketikkan di command window

Page 6: Pelatihan Matlab

Penulisan Matriks

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

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

>> a=[1,2,3]

a =

1 2 3

 

>> b=[1;2;3]

b =

1

2

3

Contoh :

Page 7: Pelatihan Matlab

Vektor baris adalah matrik yang terdiri atas satu baris saja.>> B=[2:6]B = 2 3 4 5 6Penulisan seperti di atas akan menghasilkan vektor baris dengan selisih 1

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

Matrik transposisi>> A'ans = 1 4 7 2 5 8 3 6 9

Page 8: Pelatihan Matlab

Menentukan ukuran matrik>> size(A)ans = 3 3

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 = 1.541976e-018.ans = 1.0e+016 * -0.4504 0.9007 -0.4504 0.9007 -1.8014 0.9007 -0.4504 0.9007 -0.4504

Page 9: Pelatihan Matlab

Perhitungan matriks• Penjumlahan dan pengurangan • Hanya dapat dilakukan jika matrik-matrik yang 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

Page 10: Pelatihan Matlab

Perkalian matrikSyarat jumlah kolom A = jumlah kolom baris B

Pembagian matrik kanan dan kiri

AB AB BA

1

1 2 3 2 1 4 9 14

3

AB

1

/

xA c

x cA

x c A

1 2 3

2 5 4 20 15 8

4 3 1

x

1

\

Ax c

x A c

x A c

1 2 3 20

2 5 4 15

4 3 1 8

x

Page 11: Pelatihan Matlab

Membuat Grafik

X 1 2 3 4 5

Y 2.7 7.4 20.1 54.6 148.4

Misalkan:

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

1 1.5 2 2.5 3 3.5 4 4.5 50

50

100

150

x

y

2.7000 7.4000 20.1000 54.6000 148.4000 >> plot(x,y) >> xlabel('x') >> ylabel('y')

Page 12: Pelatihan Matlab

M-file

Cara membuka M-File:

File/New/M-File

Page 13: Pelatihan Matlab

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

y=[2.7,7.4,20.1,54.6,148.4]

plot(x,y)xlabel('x')ylabel('y')

saveKlik Run

Dapat ditulis di M-File :

Page 14: Pelatihan Matlab

SISTEM PERSAMAAN TAK LINIER

Page 15: Pelatihan Matlab

exp( )y x

y

xNON-LINIER

Page 16: Pelatihan Matlab

2 4 5 0x x

Contoh : persamaan kuadrat

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

MATLAB Command window>> C=[1 4 -5]C = 1 4 -5>> roots(C)ans = -5 1

Dapat ditulis :

Page 17: Pelatihan Matlab

%kuadrat.mfunction y = kuadrat(x)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

Dengan fzero :

Diketahui persamaan kuadrat x²+4x+3

Page 18: Pelatihan Matlab

fsolveSolusi sistem persamaan taklinier dapat menggunakan fsolve pada MATLAB

Contoh:

3 2

2 3

3 1/ 2

3 3 / 2

x xy

x y y

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.

Page 19: Pelatihan Matlab

Pada m-file

function f = sistem(x)f = [x(1)^3-3*x(1)*x(2)^2-0.5 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

Page 20: Pelatihan Matlab

Kasus

Diketahui sebuah persamaan kapasitas panas sbb.

Tentukan temperatur pada saat Cp = 1 kJ/kg.K !!!

6 15.040.716 4.257

.

kJCp E T

kg KT

Page 21: Pelatihan Matlab

OPTIMASI

Page 22: Pelatihan Matlab

Untuk mencari harga minimum dan maksimum kita dapat menggunakan perintah fminsearch.

[x,fval,exitflag] = 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.

 

Page 23: Pelatihan Matlab

Contoh :

Carilah titik minimum 2 4 3 0x x

dengan menggunakan subrutin fiminsearch dalam MATLAB.

>> [x fval exitflag]=fminsearch('kuadrat',2)x = -2.0000fval = -1exitflag = 1

Page 24: Pelatihan Matlab

Carilah titik minimum dari persamaan multivariabel berikut ini.

2 21 2( 3) 0.5( 4) 3y x x

Kasus

Page 25: Pelatihan Matlab

Regresi(Linier dan Non-Linier)

Page 26: Pelatihan Matlab

Regresi Linier

2

1 1 10

1

1 1

n n n

i i i ii i i

n n

i ii i

x x x ya

ax n y

Persamaan dalam bentuk matriks untuk regresi linier adalah sebagai berikut:

Harga paramter a0 dan parameter a1 dapat diperoleh dengan menyelesaikan sistem persamaan linier di atas.

Page 27: Pelatihan Matlab

Contoh Kasus

Dimana:h=a0t+a1

Untuk mencari harga a0 dan a1 dapat menggunakan metode jumlah selisih kuadrat terkecil seperti yang telah dijelaskan sebelumnya.

t(s) 0 185 360 530 690 850

h(cm) 30 24 18 12 6 0

Page 28: Pelatihan Matlab

Kasus

Diketahui persamaan sebagai berikut:y= ebx

aLinierisasikan 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

Page 29: Pelatihan Matlab

Persamaan Differensial Biasa

Page 30: Pelatihan Matlab

PDB

Persamaan differensial terdiri atas fungsi turunan satu buah variabel bebas.

Page 31: Pelatihan Matlab

Klasifikasi PDB• Orde• Kelinieran• Kondisi batas

Page 32: Pelatihan Matlab

Berdasarkan OrdeOrde 1

Orde 2

Orde 3

dyy kx

dx

2

2

d y dyy kx

dx dx

23 2

3 2

d y d y dya b kx

dx dx dx

Page 33: Pelatihan Matlab

Berdasarkan KelinieranBentuk umum persamaan diferensial linier

1

1 11...

n n

o n nn n

d y d y dyb x b x b x b 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.

Page 34: Pelatihan Matlab

Klasifikasi PDB (lanjutan)Berdasarkan kondisi batasPersamaan differensial bernilai awal

Persamaan differensial bernilai batas

2

2

(0) 2, (0) 1

yyx

xy

yx

2

2

(0) 2, (1) 1

yyx

xy y

Page 35: Pelatihan Matlab

Subrutin dalam MATLAB untuk solusi PDB bernilai awal

Pada bagian ini akan dijelaskan subrutin 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 PDB yang akan dievaluasi

Rentang integrasi

Harga awal

Page 36: Pelatihan Matlab

Contoh

dengan kondisi awal y = 1 pada x = 0 dan rentang integrasi dari x = 0 s.d x = 4. Berikut ini pemrograman MATLAB-nya.

3 22 12 20 8.5dy

x x xdx

%pdb.m

function dydx = pdb(x,y)

dydx = -2*x^3+12*x^2-20*x+8.5;

Page 37: Pelatihan Matlab

%runpdb.mclearclcrentang_x = [0 4];y0 = 1;[x,y] = ode23('pdb',rentang_x,y0)plot(x,y)xlabel('x')ylabel('y')