matlab tutorial

Post on 11-Jan-2016

5 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Software matlab untuk engineering berbahasa indonesia. enjoy !!

TRANSCRIPT

1

Dr. Ir. Gandjar Kiswanto, M.Eng

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

PengantarMATLAB

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 : gandjar_kiswanto@eng.ui.ac.id • Referensi :

Mathworks, Matlab Manuals.

Pengajar dan Referensi

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

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

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

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)

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)

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)

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)

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)

11

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Simulink silahkan coba klik.

Pendahuluan (cont’d)

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)

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)

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)

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

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 :

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)

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

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)

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

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)

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)

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)

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)

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)

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

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

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

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) !

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)

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 !!!.

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)

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)

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)

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)

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)

37

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI Fungsi-fungsi pada Matlab

Fungsi2 Elementer :

38

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

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

Fungsi2 Elementer :

39

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

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

Fungsi2 Elementer :

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

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 :

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

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

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

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

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)

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

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

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 !

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

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)

52

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI Plotting (cont’d)

Grafik plotting :

53

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI Plotting (cont’d)

54

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

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

Plotting (cont’d)

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.

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)

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)

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)

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)

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 !

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 ?

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 :

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.

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)

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.

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 !

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.

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)

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)

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)

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)

72

Laboratorium Teknologi ManufakturDepartemen Teknik MesinFakultas Teknik– Universitas Indonesia

DTM FTUI

Peserta harus mendapatkan seperti ini [];-)~

Pembuatan GUI (cont’d)

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])

top related