matlab tutorial

73
1 Dr. Ir. Gandjar Kiswanto, M.Eng Laboratorium Teknologi Manufaktur Departemen Teknik Mesin Fakultas Teknik– Universitas DTM FTUI Pengantar MATLAB

Upload: prayogo-wibisono

Post on 11-Jan-2016

5 views

Category:

Documents


0 download

DESCRIPTION

Software matlab untuk engineering berbahasa indonesia. enjoy !!

TRANSCRIPT

Page 1: Matlab Tutorial

1

Dr. Ir. Gandjar Kiswanto, M.Eng

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

PengantarMATLAB

Page 2: Matlab Tutorial

2

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

• Pengajar : Gandjar Kiswanto• Office : Manufacturing Laboratory, Dept. of

Mechanical Eng. UI• Telepon : 7270032 ext. 222• E-mail : [email protected] • Referensi :

Mathworks, Matlab Manuals.

Pengajar dan Referensi

Page 3: Matlab Tutorial

3

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI Pemakaian Matlab dalam ke-ilmuan Mekanikal ?

Kalkulus , 4

Statistik, 2

Olah Raga atau Seni ,1

Menggambar Teknik*, 2

MKU Terintegrasi , 6

Bhs Inggris *, 3 Kapita Selekta Industrial, 2

Pilihan (12 sks)1 s/d 3, 3@4

Kerja Praktek , 2

Mek. Fluida, 4

Perp. Kalor dan Massa, 4

Proses Produksi*, 5

Kinematika & Dinamika, 4

Aljabar Linear, 4

Fisika 1*, 4panas & mek

Agama, 2

Menggambar Mesin*, 3

Kimia, 2

Material Teknik, 4

Mat. Eng. *, 4

Termodinamika Dasar., 4

Fisika 2*, 4lis,mag,gel&optik

Industrial Safety, H & E, 2

Perancangan Mekanikal, 6

Sistem Instalasi Fluida *, 3

Teknik Tenaga Listrik, 2

Hk. & Peraturan Industri, 2

Pemilihan Bahan & Proses, 4

Pengendalian Sistem, 4

Get. Mekanis, 2

Mesin Konversi Energi *, 4

Mekatronika*, 4

Sistem Pemeliharaan, 2

Tugas Merancang, 4

Manajemen Proyek*, 3

Manajemen Sist. Informasi, 3

Pilihan (8 sks)4 & 5 ,2@4

Skripsi, 6

Metrologi dan Pengukuran. *, 3

Kurikulum 2004

Page 4: Matlab Tutorial

4

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI Topik1. Pendahuluan

2. Operasi Vektor

3. Operasi Matriks

4. Grafik dan Plotting

5. M-files

6. Pengantar Pemrograman

7. Simulink

Page 5: Matlab Tutorial

5

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

MATLAB ? MATrix LABoratory Perangkat lunak komputasi numerik dan visualisasi yg berkinerja tinggi.

Matlab meng-integrasikan : •Komputasi matrix/vektor dan berbasis matrix/vektor•Analisa numerik pemecahan akar dari pers. Polynomial •Signal processing•Data analysis •2D-3D Graphics data plotting, visualisasi & animasi•Pemecahan masalah berdasarkan applikasi (Applications-

specific problem) TOOLBOX (Library dari fungsi2 matlab Statistik, Termodinamik, dinamika api, perancangan mekanik, getaran, statistik, robotika, dll.

•Dll Tanpa harus selalu membuat pemrograman secara

tradisional !

Pendahuluan

Page 6: Matlab Tutorial

6

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Matlab basic :

1. Memulai Matlab double click (klik dua kali) Matlab *.exe file (cth C:\MATLABR11\bin\matlab.exe)

2. Muncul command window

Pendahuluan (cont’d)

Page 7: Matlab Tutorial

7

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Matlab basic :

• MatLab Toolbar :

New File ; Open File

Cut, Copy dan Paste

Workspace Browser untuk meng-edit variable secara cepat silahkan coba klik.

Pendahuluan (cont’d)

Page 8: Matlab Tutorial

8

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Klik 1

(pilih variable yg ingin di edit)

Klik 2

Workspace Browser :

MatLab editor/debuggerUntuk menghapus variable

Pendahuluan (cont’d)

Page 9: Matlab Tutorial

9

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Ruang untuk merubah nilai variabel

Ruang untuk merubah jumlah elemen variabel

Nama variabel yg sdg dirubah

Pendahuluan (cont’d)

Page 10: Matlab Tutorial

10

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Path Browser :

Path Browser untuk meng-edit path dimana Matlab akan mencari functions silahkan coba klik.

Pendahuluan (cont’d)

Page 11: Matlab Tutorial

11

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Simulink silahkan coba klik.

Pendahuluan (cont’d)

Page 12: Matlab Tutorial

12

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Matlab basic :

4. Tanda >> pada command window disebut : Matlab command prompt tempat mendefinisikan variabel atau membuat statement, dll.

5. Mematikan Matlab ketik quit

6. Pembuatan history dari command yg telah di buat, dilakukan dengan command diary nama_file berada pada :

C:\MATLABR11\work\

7. Matlab di bangun dengan struktur file mirip Unix

8. Pada saat dijalankan default path C:\MATLABR11\work\ proses (pembuatan file, output) dijalankan di path ini.

9. Untuk mengetahui path kita sekarang ketik pwd

Pendahuluan (cont’d)

Page 13: Matlab Tutorial

13

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Matlab basic :

10. Untuk mengetahui isi direktori pada path ketik ls atau dir

11. Untuk mengganti ke upper direktori ketik cd .. (apa yg terjadi ? Cek dgn pwd)

12. Untuk mengganti ke root direktori ketik cd \ (apa yg terjadi ? Cek dgn pwd)

13. Untuk mengganti ke lower direktori 1 tingkat ketik

cd nama_direktori1 (apa yg terjadi ? cek dgn pwd)

14. Untuk mengganti ke lower direktori > 1 tingkat ketik

cd nama_direktori1\nama_direktori2 (apa yg terjadi ? cek dgn pwd)

Pendahuluan (cont’d)

Page 14: Matlab Tutorial

14

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Matlab basic :

15.Membuat & menggunakan variabel :

16. Nama variabel/konstanta case-sensitive n N

17. Nama variabel yg memungkinkan :• Berisi huruf dan angka cth : ST306, 318i• Dapat berupa kata cth : Pressure, Vol

18. Command sebelumnya dpt dipanggil kembali dengan panah atas atau panah bawah (silahkan coba).

19. Matlab selalu menyimpan nilai terakhir variabel yg dibuat.

>> P=1 P =

1

>> n=1 n =

1

>> R=0.081 R =

0.0081

>> T=273 T =

273

Pendahuluan (cont’d)

Page 15: Matlab Tutorial

15

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Matlab basic :

20. Untuk mengetahui variabel yg telah didefinisikan oleh kita ketik who format singkat, atau whos format detail (silahkan coba). Cth :

21. Operasi yang mungkin dilakukan e.g. operasi aritmatik +, -, *, /, ^ (lebih detail pada operasi vektor/matriks):

Cth Volume = n*R*T/P

Pendahuluan (cont’d)

>> whos

Name Size Bytes Class

A 3x3 72 double array B 3x3 72 double array v 1x5 40 double array Grand total is 23 elements using 184 bytes

Page 16: Matlab Tutorial

16

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

22. Variable/statement yg diakhiri ; (semi colon) utk menghilangkan print out hasil/kopi perlu bila ingin melakukan komputasi dgn banyak persamaan cth Volume = n*R*T/P;

23.Resolusi display nilai suatu variabel (perhitungan) dpt di tentukan dengan (yg plg umum) command format (5 digit = default) atau format short (5 digit) dan format long (15 digit), dll (silahkan coba dahulu !) dari workspace.

Pendahuluan (cont’d)Matlab basic :

Page 17: Matlab Tutorial

17

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI List dan Aritmatik List

• Matlab memungkinkan untuk melakukan operasi terhadap sejumlah list angka/nilai !

• List ini disebut Vektor, Array atau Matriks.

• Ada berbagai macam cara untuk membuat list

•Menggunakan operator colon :

•Menggunakan fungsi zeros atau ones :

>> T=300:10:400 T =

(silahkan cek)

>> z=zeros(1,5)z =

(silahkan cek)

>> z=ones(1,7)z =

(silahkan cek)

Page 18: Matlab Tutorial

18

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Bekerja dengan Vektor :•Sebuah vektor didefinisikan dengan menempatkan urutan bilangan/angka di dalam kurung persegi [ ].

>> v = [3 1]

v =  3 1

Entri 1 Entri 2Kopi dari vektor yg didefinisikan

Vektor yg didefinisikan

Variabel/Label dari vektor

•Bila ingin melihat elemen dari vektor ketik label vektor ! >> v

v = 3 1

Operasi Vektor

Page 19: Matlab Tutorial

19

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

•Utk melihat setiap elemen/entri dr vektor

>> v(1) ans =

3 ans = label untuk operasi tanpa asignment !

Operasi Vektor (cont’d)

Page 20: Matlab Tutorial

20

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Operator Aritmatik

1. Operasi aritmatik dirancang untuk bekerja dgn matriks.

2. Mencakup operator + - * / \ ^ '• + adl penambahan• - adl pengurangan• * adl perkalian• / , Slash, adl pembagian kanan matriks • \ , Backlash, adl pembagian kiri matriks• ^ adl operator pangkat • ' adl operator transpose

3. Memiliki 2 tipe operasi aritmatik yg berbeda : Matriks dan Array.

4. Array = operasi dijalankan elemen-per-elemen, Matriks = operasi aljabar linear (e.g. perkalian matriks).

Operator Aritmatik pada Matlab

Page 21: Matlab Tutorial

21

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

5. Titik . membedakan antara operasi Array dengan operasi Matriks contoh : A*B (perkalian matriks) dan A.*B (perkalian antar elemen) matriks.

6. Semicolon ; yg diletakkan sesudah sebuah ekspresi atau statement adl untuk memberhentikan pencetakan atau memisahkan statements.

Operator Aritmatik (cont’d)

Page 22: Matlab Tutorial

22

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

>>A = [1;2;3] A =

123

>> B= [10;20;30] B =

102030

>> A' ans =

1 2 3

>> B' ans =

10 20 30

>> A+B ans =

112233

>> A-B ans =

-9-18-27

>> A+10 ans =

111213

>> B-5 ans =

51525

Operator Aritmatik (cont’d)

Page 23: Matlab Tutorial

23

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

>> A*B' ans =

10 20 3020 40 6030 60 90

>> A*2 ans =

246

>> A.*2 ans =

246

>> A\B ans =

10

>> A*B ??? Error using ==> *Inner matrix dimensions must agree

>> A.*B ans =

104090

>> A'*B ans =

140

Operator Aritmatik (cont’d)

Page 24: Matlab Tutorial

24

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

>> A.\B ans =

101010

>> 2\A ans =

0.50001.00001.5000

>> 2.\A ans =

0.50001.00001.5000

>> A/B ans =

0  0  0.03330  0  0.06670  0  0.1000

>> A./B ans =

0.10000.10000.1000

>> B^A ??? Error using ==> ^Matrix dimensions must agree.

>> B.^A ans =

1040027000

Operator Aritmatik (cont’d)

Page 25: Matlab Tutorial

25

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

>> A^2 ??? Error using ==> ^Matrix must be square

>> A.^2 ans =

149

Operator/notasi colon (titik-dua) : digunakan untuk mendefinisikan range dari bilangan entri awal, ikremen (bila perlu), entri akhir.

>> x = 1:4 x =

1 2 3 4

>> x = 1:2:10 x =

1 3 5 7 9

>> x = 0:0.25:1.25 x =

0 0.25 0.5 0.75 1.0 1.25

>> y=[x[0:0.25:1.25]]

Apa hasilnya ? Cek !

Operator Aritmatik (cont’d)

Page 26: Matlab Tutorial

26

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Operator Relasional Matlab : memberikan status benar/salah

1. < kurang dari2. <= kurang dari atau sama dengan3. > lebih dari4. >= lebih dari atau sama dengan5. == sama dengan6. ~= tidak sama dengan

>> 2 + 2 ==4 ans =

1

>> A==B ans =

000 >> A>B

ans =000

>> A<B ans =

111 Operator Logika Matlab :

membuat kondisi logik pada algoritma

1. & dan2. | atau3. not not

Operator Relasional dan Logika

Page 27: Matlab Tutorial

27

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Bekerja dengan Matriks

1. Cara yg paling mudah untuk memulai matriks mengetik command dlm bentuk :

variable = [value1-1 value1-2 value1-3 ... ; value2-1 value2-2 ...]

2. Setiap value dapat berupa bilangan rasional atau kompleks.

3. Dalam kurung persegi yg digunakan untuk membuat vektor atau matriks, dapat digunakan ‘semicolon’ ; untuk mengakhiri sebuah baris. Cth

>> x = [1 2 3 4; 5 6 7 8]

x =

1 2 3 4

5 6 7 8

(Note : Semicolon yg diletakkan sesudah sebuah ekspresi atau statement adl untuk memberhentikan pencetakan atau memisahkan statements)

Matriks

Page 28: Matlab Tutorial

28

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI Matriks (cont’d)

Bekerja dengan Matriks

4. Dapat juga dibuat dari sebuah baris dari Vektor kolom >> B = [ [1 2 3]' [2 4 7]' [3 5 8]'] 

B =  1 2 3 2 4 5 3 7 8

5. Dapat dibuat dengan menggunakan beberapa kolom operator/notasi colon dgn mendefinisikan entri pertama, inkremen, entri terakhir (lihat sebelumnya).

Jgn lupa spasi !

>> C = [ 1 :4;2:5;3:6]  C = 

1 2 3 4

2 3 4 5

3 4 5 6

Page 29: Matlab Tutorial

29

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI Matriks (cont’d)

Bekerja dengan Matriks

6. Mendapatkan inverse dari sebuah matriks dilakukan dengan command

inv(nama_variabel)

>> B= [100 2 3;4 7 6;23 8 91] B =

100 2 34 7 623 8 91

>> inv(B)ans =

0.0101 -0.0027 -0.0002-0.0039 0.1555 -0.0101-0.0022 -0.0130 0.0119

Warning terjadi bila matriks mendekati singular (walaupun tetap keluar inversenya) !

Page 30: Matlab Tutorial

30

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Bekerja dengan Matriks

7. Mendapatkan approksimasi terhadap eigenvalue dan eigen vektor dari matriks

eig(nama_variabel)

hasil : vektor yg merupakan eigenvalue dari nama_variabel.>> eig(B)ans =

105.339086.27216.3889

>> [S,T]=eig(B)ans =

(silahkan cek ;-)

Menghasilkan matriks diagonal T dr eigenvalue & sebuah matriks S yg kolomnya adalah eigenvektor yg berhubungan shg B*S=S*T

Matriks (cont’d)

Page 31: Matlab Tutorial

31

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Bekerja dengan Matriks

8. Fungsi lain pada Matriks :

A.

Matriks (cont’d)

Seterusnya Gunakan command help nama_fungsi untuk mengetahui detail syntax dan kegunaan fungsi ybs !!!.

Page 32: Matlab Tutorial

32

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Bekerja dengan Matriks

8. Fungsi lain pada Matriks (cont’d) :

B.

Matriks (cont’d)

Page 33: Matlab Tutorial

33

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Bekerja dengan Matriks

8. Fungsi lain pada Matriks (cont’d) :

C.

Matriks (cont’d)

Page 34: Matlab Tutorial

34

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Bekerja dengan Matriks

8. Fungsi lain pada Matriks (cont’d) :

D.

Matriks (cont’d)

Page 35: Matlab Tutorial

35

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Bekerja dengan Matriks

8. Fungsi lain pada Matriks (cont’d) :

E.

Matriks (cont’d)

Page 36: Matlab Tutorial

36

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

• Sebuah silinder memiliki titik pusat lingkaran bawah (0.0,0.0,0.0) dan tinggi 10 unit. Silinder tersebut kemudian

• a di perbesar dengan faktor perbesaran = 5 searah sumbu x,

• b kemudian diikuti oleh sebuah rotasi terhadap sumbu-Z sebesar 30 derajat,

• c akhirnya di translasi dengan vektor arah <2, 1, 2>.

Berapa koordinat dari titik pusat lingkaran atas –nya sekarang ?

5 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

a

cos30 sin30 0 0

sin30 cos30 0 0

0 0 1 0

0 0 0 1

b

1 0 0 2

0 1 0 1

0 0 1 2

0 0 0 1

c

Contoh Soal :

Matriks (cont’d)

Page 37: Matlab Tutorial

37

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI Fungsi-fungsi pada Matlab

Fungsi2 Elementer :

Page 38: Matlab Tutorial

38

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI Fungsi-fungsi pada Matlab (cont’d)

Fungsi2 Elementer :

Page 39: Matlab Tutorial

39

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI Fungsi-fungsi pada Matlab (cont’d)

Fungsi2 Elementer :

Page 40: Matlab Tutorial

40

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI Polinomial (Polynomials)1. Matlab merepresentasikan polinomial sebagai row vector

(vektor baris) yg memiliki koefisien yg ter-urut berdasarkan nilai pangkat yg menurun, cth :

2. Untuk pemecahan akar polinom, pada Matlab nilai tersebut dimasukkan sbb & dipecahkan dengan command (fungsi) roots :

3( ) 2 7p x x x

>> S= [1 0 –2 -7] S =

1 0 -2 -7

>> T=roots(S)T =

2.2583-1.1291 + 1. 3509i-1.1291 – 1. 3509i

Matlab menyimpan akar (root) dalam vektor kolom !

Masukkan nol utk koefisien nil

Page 41: Matlab Tutorial

41

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

3. Untuk mendapatkan nilai koefisiennya (kebalikan dari point sebelumnya) memakai command poly sbb :

Polinomial (cont’d)

>> U=poly(T)U =

1 0 -2 -7

4 3( ) 4 2 7p x x x x

>> V= [4 –1 0 –2 -7] V =

4 -1 0 -2 7

>> W=roots(V)W =

1.3130-0.0315 + 1.1540i-0.0315 – 1.1540i-1.0000

Contoh 2 :

Page 42: Matlab Tutorial

42

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Terdapat pengaruh : scaling, round-off error dan/atau order !

>> X=poly(W)X =

1.0000 -0.2500 -0.0000 -0.5000 -1.7500

Polinomial (cont’d)

4. poly juga dpt menghitung koefisien dari polinomial karakteristik (red. yg digunakan untuk mencari roots dari hasil utk mendapatkan eigenvalue) dari sebuah matrix :>> A= [1.2 3 –0.9;5 1.75 6;9 0 1];>> poly(A) ans =

1.0000 -3.9500 -1.8500 -163.2750

Page 43: Matlab Tutorial

43

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

5. Untuk mencetak nilai dari suatu polinomial = melakukan evaluasi terhadap nilai polinomial yg kita miliki gunakan command polyval

>> Y=polyval(S,0)Y =

-7

Cobalah dgn nilai yg lain, e.g. polyval(S, 1.5)

Polinomial (cont’d)

6. Perkalian antar polinomial dapat dilakukan dengan menggunakan command (fungsi) conv (convolution) cth : 2( ) 2 3a s s s 2( ) 4 5 6b s s s

>> a=[1 2 3]; b=[4 5 6];>> c=conv(a,b)c=

4 13 28 27 18

Page 44: Matlab Tutorial

44

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

7. Untuk mendapatkan kembali koefisien polinomial dari perkalian dua buah polinomial dilakukan dengan menggunakan command (fungsi) deconv (convolution) cth :

Polinomial (cont’d)

>> [q,r]=deconv(c,a)q =

4 5 6r =

0 0 0 0 0

8. Untuk mendapatkan Derivatif (turunan) dari suatu polinomial dilakukan dengan menggunakan fungsi polyder

>> k=polyder(S)k =

3 0 -2

Page 45: Matlab Tutorial

45

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

9. Untuk mendapatkan Derivatif (turunan) dari perkalian antar polinomial juga dpt dilakukan dengan menggunakan fungsi polyder

>> a=[1 2 3]; b=[4 5 6];>> d=polyder(a,b)d=

16 39 56 27

10. Untuk mendapatkan koefisien dari sebuah polinomial yg fit secara least-square terhadap sebuah set data dpt dilakukan dgn funci polyfit , cth : untuk third order polinomial

Polinomial (cont’d)

>> x1=[1 2 3 4 5]; y1=[5.5 43.1 128 290.7 498.4]; >> p=polyfit(x1,y1,3)p=

-0.1917 31.5821 -60.3262 35.3400

Page 46: Matlab Tutorial

46

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

10. Untuk mendapatkan nilai polyfit yg meng-estimasi dalam range/interval yg lebih halus dan mem-plot nilai data yg real sebagai perbandingan :

>> x2=[1:.1:5]; y2=polyval(p,x2); >> plot(x1,y1,’o’,x2,y2)>> grid on

Polinomial (cont’d)

Page 47: Matlab Tutorial

47

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI Plotting

1. Di Matlab mem-plot data adalah mudah ! dgn fungsi plot

2. Asumsikan akan memplot fungsi sinus terhadap waktu :

>> t=0:0.25:7;>> y=sin(t);>> plot(t,y)>> grid on

membuat grid

Page 48: Matlab Tutorial

48

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI Plotting (cont’d)

3. Untuk melakukan multiple plotting pada satu window dpt dilakukan dgn :

>> y2=sin(t-0.25);>> y3=sin(t-0.5);>> plot(t,y,t,y2,t,y3)>> grid on

Page 49: Matlab Tutorial

49

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI Plotting (cont’d)

4. Untuk melakukan multiple plotting dengan tipe garis yg berbeda-beda pada satu window dpt dilakukan dgn :

>> y2=sin(t-0.25); y3=sin(t-0.5);>> plot(t,y,’o’t,y2,’x’,t,y3,’-’)>> grid on

•Pakai hold on untuk menampilkan grafik-grafik di satu window Figure !

Page 50: Matlab Tutorial

50

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

5. Tipe-tipe garis, simbol dan warna yg dapat digunakan untuk melakukan multiple plotting pada satu window dpt berupa :

Plotting (cont’d)

plot(t,y,’s’)

b blue . point - solid

g green O Circle : Dotted

r red X X-mark _. Dashdot

c cyan + Plus -- dashed

m magenta

* Star

y yellow s square

Page 51: Matlab Tutorial

51

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

6. Untuk melakukan plotting 3 dimensi dengan tipe garis yg berbeda-beda pada satu window dpt dilakukan dgn fungsi plot3 :

Plotting (cont’d)

>> [x,y]=meshgrid(-3:0.25:3); >> z=peaks(x,y);>> plot3(x,y,z)

Page 52: Matlab Tutorial

52

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI Plotting (cont’d)

Grafik plotting :

Page 53: Matlab Tutorial

53

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI Plotting (cont’d)

Page 54: Matlab Tutorial

54

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Edit/buat judul smb X, Y, dan Z.

Plotting (cont’d)

Page 55: Matlab Tutorial

55

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI Interpolasi

1. Interpolasi adalah proses untuk memperkirakan nilai yg terletak antara titik-titik data yg diketahui aplikasi : signal processing, image processing, visualisation, dll.

2. Pada Matlab dibagi menjadi : interpolasi 1 dimensi dengan fungsi interp1, interpolasi 2 dimensi dengan fungsi interp2, dan interpolasi 3 dimensi interp3.

3. Untuk pelatihan ini fokus pada interpolasi 2 dimensi :

( , , , , , )interp2ZI X Y Z XI YI methodZ = array rectangular yg berisi nilai dari fungsi dua-dimensi, X dan Y adalah array dengan ukuran yg sama yg mengandung titik-titik yg didapat berdasarkan nilai Z yg diberikan. XI dan YI adalah matriks dari titik-titik data yg harus di interpolasi. Method adalah interpolasi method yang akan digunakan.

Page 56: Matlab Tutorial

56

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

4. Contoh pemakain interp2 >> [x,y]=meshgrid(-3:1:3); >> z=peaks(x,y);>> surf(x,y,z)

Interpolasi (cont’d)

Page 57: Matlab Tutorial

57

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

>> [xi,yi]=meshgrid(-3:0.25:3); >> zi1=interp2(x,y,z,xi,yi,’nearest);>> surf(xi,yi,zi1)

Interpolasi (cont’d)

Page 58: Matlab Tutorial

58

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

>> zi2=interp2(x,y,z,xi,yi,’bilinear’);>> surf(xi,yi,zi2)

Interpolasi (cont’d)

Page 59: Matlab Tutorial

59

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

>> zi3=interp2(x,y,z,xi,yi,’bicubic’);>> surf(xi,yi,zi3)

Interpolasi (cont’d)

Page 60: Matlab Tutorial

60

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI Pemrograman pada MatlabStruktur control for dan while memungkinkan untuk

menulis progam di Matlab !

1. Command for memungkinkan utk membuat sebuah command atau serangkaian command yg dpt di jalankan (execute) beberapa kali == loops :

2. Setiap command for, harus memiliki statemen end yg sesuai.

3. Command for dimungkinkan untuk melakukan nested

>> for i=1:4 iend

silahkan dicek hasilnya !

Page 61: Matlab Tutorial

61

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

>>for m = 1:3 for n = 1:3 x (m,n) = m + n*i;end end>> Silahkan cek hasilnya

Pemrograman pada Matlab (cont’d)

4. Command if memberikan kemungkinan untuk mengecek suatu kondisi atau persamaan/statemen sebelum menjalankan command yg lain.

>>if a > 0x=a^2 ;end>> Silahkan cek hasilnya ?

Page 62: Matlab Tutorial

62

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

>>if a > 0x=a^2 ;elsex=-a^2;end>> Silahkan cek hasilnya ?

Pemrograman pada Matlab (cont’d)

>> if a > 0 x = a^2; elseif a == 0 x = i; else x = - a^2; end

5. Pengecekan terhadap kondisi/persamaan/statemen dpt dilakukan lebih dari 1, cth :

Page 63: Matlab Tutorial

63

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

6. Command while memungkinkan untuk dilakukannya serangkaian command yg lain hingga suatu/beberapa kondisi tidak terpenuhi lagi cth :

Pemrograman pada Matlab (cont’d)

>>x=2;>>while x<1000x=x+100;end>> Silahkan cek hasilnya ? Proses didalam while dan end dijalankan hingga kondisi while tidak terpenuhi.

Page 64: Matlab Tutorial

64

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

>>while 1If x > 100break;endx=x^2;end>> Silahkan cek hasilnya ?

7. Command while dapat di terminasi lebih awal bila suatu kondisi yang lain terpenuhi dgn menggunakan command break cth :

Pemrograman pada Matlab (cont’d)

Page 65: Matlab Tutorial

65

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI Pemrograman pada Matlab (cont’d)Pemrograman dengan m-file :

1. Ada dua tipe pemrograman m-file : script programming dan function programming.

2. Script programming :

• Tidak menerima input argumen dan tdk memberikan output argumen.

• Beroperasi pada data di dalam workspace.• Berguna utk meng-automatisasikan serangkaian langkah

yg perlu dilakukan berulang kali.

3. Function programming :

• Menerima input argumen dan memberikan output argumen.

• Internal variabel adalah bersifat lokal fungsi tersebut.• Berguna utk melakukan ekspansi fungsi Matlab

berdasarkan kebutuhan.

Page 66: Matlab Tutorial

66

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

% Contoh Matlab m-file Script sederhana

% untuk menghasilkan matriks zeros 4x4

A1=[0 0 0 0; 0 0 0 0; 0 0 0 0; 0 0 0 0]

Pemrograman pada Matlab (cont’d)

•Save ke dalam file bernama mis : matzero4.m

•Lalu jalankan script tersebut ! (apa yg terjadi ?)

4. Cobalah membuat sebuah program m-file fungsi !

Page 67: Matlab Tutorial

67

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI Pembuatan GUI (Graphical User Interface)

1. Ketik ”guide” pada Matlab Command Window untuk memulai GUI editor. Akan terlihat window Figure dgn garis putus-putus, dan window ‘Guide Control Panel’ atau disingkat GCP.

2. Klik pada ‘Text’ box di bagian bawah window GCP, lalu klik pada suatu titik pada window Figure, kemudian akan terbentuk sebuah box – ini adalah box yg akan mengandung text ‘Solar Multiplier’.

T = [S*SX(1-)/4/] 1/4-T0.

Page 68: Matlab Tutorial

68

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

3. Klik dua kali (Double click) box yg baru terbentuk dan window ‘Graphics Property Editor‘ akan pop up (muncul). Ini memungkinkan kita melakukan setting properties dari text box. Pd daerah (region) yg berwarna putih dari window, hapus kata BackgroundColor dan ketik String dan tekan enter. Pada region berikutnya, akan muncul dua quote (“). Ketik kata Solar Multiplier antara dua quote tersebut dan ketik enter.

4. String sekarang akan terlihat pada box text pada figure. Resize dpt dilakukan dgn dengan drag pd salah satu sudut dari box text.

5. Sekarang kita akan membuat box dimana user akan mengetik (memasukkan) nilai (value) Solar Multiplier. Untuk melakukan ini, klik pada box “Edit” pada GCP untuk membuat box edit-text (dimana user dpt mengetikkan nilai dari Solar Multiplier). Tempatkan dekat dengan box text yg baru saja dibuat. Ini berwarna putih dengan tepi hitam.

Pembuatan GUI (cont’d)

Page 69: Matlab Tutorial

69

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

6. Klik dua kali (double click) box edit-text. Kita akan men-set String ‘1’. Juga perlu di set sebuah "Tag" untuk box ini (shg kita akan dpt membaca string dlm box pada program kalkulasi kita). Asumsikan digunakan tab ‘SX’ untuk box ini.

7. Ulangi operasi diatas untuk membuat sebuah box text dengan string 'Albedo' dan sebuah box yg dapat mengubah text (editable-text box) yg mengandung string ‘0.32’ dan memiliki sebuah tag 'Albedo'.

8. Dalam GCP, pilih Pushbutton, dan tempatkan di suatau lokasi di screen.

9. Klik dua kali (Double-click) pd pushbutton dan set string-nya mjd 'Calculate'.

Pembuatan GUI (cont’d)

Page 70: Matlab Tutorial

70

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

10. Ketika pushbuttin ini di klik, kita ingin Matlab menjalankan script yg dinamakan ebm0calc. Untuk melakukan ini, set properti dari CallBack button ke 'ebm0calc'. Properti CallBack adl sebuat Matlab command (atau serangkaian command yg terpisah oleh semicolons) yg di eksekusi (dijalankan) ketika button di tekan.

11. Akhirnya, diperlukan sebuah tempat untuk menampilkan temperatur akhir. Buat dua box text dan set BackgroundColor mjd Cyan. Pada box yg satu, tempatkan string 'Blackbody Temperature' dan utk box yg lain, berikan properti Tag –nya adalah TFinal. Disinilah temperatur akhir akan ditulis.

12. Pada titik ini, GUI telah komplit dan akan terlihat spt gambar dibawah.

Pembuatan GUI (cont’d)

Page 71: Matlab Tutorial

71

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

13. Dibawah menu Options, pilih Activate Figure dan save sebagai ebm0gui.m. Dengan meng-aktifkan gambar (figure), kita membiarkan GUI editor dan memungkinkan Matlab untuk mengolah button yg telah di definisikan. File ebm0gui.m mengandung Matlab command untuk mengahsilkan screen ini.

14. Buat Program m-file yg diberi nama ebm0calc.m yg berisi perhitungan Black Body Temperature (lihat halaman belakang).

15. Setelah selesai jalankan command ebm0gui dari Matlab Command Window.

Pembuatan GUI (cont’d)

Page 72: Matlab Tutorial

72

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Peserta harus mendapatkan seperti ini [];-)~

Pembuatan GUI (cont’d)

Page 73: Matlab Tutorial

73

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI % <pre>

% EBM0CALC.M

% Energy Balance Model dari Eqn 1 pada

% http://physics.gac.edu/~huber/envision/instruct/ebm1doc.htm

% Berdasarkan persamaan 3.8 dari 'A Climate Modeling Primer', 1st Edition, 1987

% Membutuhkan emb0gui - GUI Front end to set up values

S = 1370; % Solar Constant (W/m^2)

Sigma = 5.6696E-8; % Steffan's Constant (in W/m^2K^4)

T0 = 273.15; % Kelvin -> Centigrade Conversion

% Ambil nilai Albedo (dari obyek dgn tab "Albedo“)

% Properti yg di-nginkan adalah “String”

% Haru melakukan str2num konversi untuk merubah ‘string’ ke bilangan/angka

HH = findobj(gcf,'Tag','Albedo');

albedo = str2num(get(HH,'String'));

HH = findobj(gcf,'Tag','SX');

SX = str2num(get(HH,'String'));

TFinal = (S*SX*(1-albedo)/4/Sigma)^.25;

Units = ' C'; % Deraja Celcius

TFinal = TFinal - T0; % Merubah dari Kelvin Celcius

% Mengambil Handle untuk tag TFinal

HH = findobj(gcf,'Tag','TFinal');

% Set string untuk TFinal

set(HH,'String',[num2str(TFinal) Units])