matlab tutorial
Post on 11-Jan-2016
5 Views
Preview:
DESCRIPTION
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