- Mengetahui toolbox yang terdapat pada Matlab
- Mampu memahami cara kerja dari toolbox yang terdapat dari Matlab
- Dapat menjalankan program dengan menggunakan Matlab
4.5 PLOT
4.5.1 Memulai Plot
Fungsi Plot digunakan untuk menampilkan grafik. berikut sintaks dan hasilnya :
x = 0:pi/40:2*pi ;
y = cos (x) ;
plot (x,y)
xlabel ('x dari 0 sampai 2\pi') % memberi label sumbu x
ylabel ('cos (x)') % memberi label sumbu y
title ('Plot fungsi cos', 'Fontsize', 14)
4.5.2 Menyimpan Plot
Plot disimpan dalam format .fig menu File → Save dengan keunggulan file bisa diedit baik tampilan maupun datanya
4.5.3 Plot Multi Data Sets
Fungsi plot bisa dipakai untuk menampilkan plot multi data sets sebagaimana dicontohkan dalam perintah-perintah berikut :
x = 0:pi/100:2*pi ;
y1 = cos (x);
y2 = cos (x-0.25);
y3 = cos (x-0.5);
plot(x, y1, x, y2, x, y3);
legend ('cos (x)', 'cos (x-0.25)', 'cos (x-0.5)')
Hasil Matlab
Gambar 2. Plot 3 fungsi cos yang berbeda
4.5.4 Menindihkan grafik pada grafik lain
Perintah
hold on
akan membuat grafik dari perintah plot berikutnya menindih grafik-grafik hasil perintah plot sebelumnya.
hold off
akan mematikan kemampuan ini. Untuk contoh, berikan sederetan perintah berikut:
clear all
x = 0:pi/100:2*pi;
y1= cos(x);
y2 = cos(x-0.25);
y3 = cos(x-0.5);
plot (x,y1);
hold on
plot (x,y2)
plot (x, y3);
hold off
legend('cos (x), cos(x-0.25)','cos(x-0.5)')
maka akan mendapatkan tampilan seperti pada gambar 2 diatas
4.5.5 Figure Windows
Setiap plot akan ditampilkan dalam Figure Window, lengkap dengan fasilitas menu dan toolbar.
figure(n)
untuk membuat figure ke n ditandai dengan current figure
figure
akan membuat sebuah Figure Window baru dan ditandai current figure.
clf reset
4.5.6 Multi Plot dalam satu Figure
Menggunakan perintah subplot, beberapa plot bisa ditampilkan dalam satu Figure Window tapi tidak saling menindih Sintaksnya.
subplot (m,n,p)
yang akan membagi Figure Window menjadi matriks subplot kecil berdimensi mxn dan memilih subplot ke p menjadi current plot
Sintaksnya :
x1 = 0:pi/100:2*pi;
x2 = 0:pi/10:2*pi;
subplot (2,2,1); plot (x2, sin (x2), 'k+')
subplot (2,2,2); plot (x2, sin(x2),'ks')
subplot (2,2,3); plot (x1, sin(x1), 'k:',x2, sin (x2), 'k-+’)
subplot (2,2,4); plot (x1, sin (x1), 'k:’,x2, sin (x2), 'k-s')
Gambar 3. Multiplot dalam 1 Figure
4.6 PLOT 3D
MATLAB menyediakan dua fungsi untuk membuat plot 3D,yaitu mesh dan surf. Fungsi mesh memproduksi wireframe surfaces dan memberi warna hanya pada garis-garis yang menghubungkan antar titik. Fungsi surf memproduksi wireframe surfaces dan memberi warna permukaan dalam wireframe.
x = -8:0.5:8;
y = -8:0.5:8;
[X,Y] = meshgrid(x,y);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin (R) ./R; %fungsi sinc(R)
mesh(X,Y,Z,'EdgeColor','black')
Gambar 4. Plot 3D dengan mesh
Selain itu penggunaan fungsi surf sebagai contoh sintaks di bawah
x = -8:0.5:8;
y = -8:0.5:8;
[X,Y] = meshgrid(x,y);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin (R) ./R; %fungsi sinc(R)
surf(X,Y,Z)
colormap hsv %jenis peta warna
colorbar %menampilkan bar peta warna
Gambar 5. plot 3D dengan surf
4.7 Dasar-Dasar Pemrograman
Dasar-Dasar pemrograman dalam MATLAB meliputi :
Flow Control : if,switch,case,for,while,continue,break
Data Structure : Dipakai untuk menangani multidimensional arrays,cell arrays, character,text data, dan structures
Scripts : Sekumpulan perintah yang disimpan dalam M-Files,tidak memerlukan argumen input dan tidak memberikan suatu keluaran (not returning output argument)
Functions : M-Files yang memerlukan argumen input dan menghasilkan suatu keluaran.
4.7.1 Flow Control
- if
sintaks umum menggunakan if adalah
if ekspresi_logika_1
command_line_1;
…
elseif ekspresi_logika_2
command_line_2;
…
else
command_line_3;
…
End
- Switch
Pernyataan Switch akan mengeksekusi group pernyataan berdasarkan harga variabel atau ekspresi. Group yang akan dieksekusi harus diletakkan setelah keyword case atau otherwise. Kemudian switch harus diakhiri dengan end.
Sintaks penggunaan switch diberikan dalam contoh eksekusi perintah berikut :
method = ‘Bilinear’;
switch lower(method)
case (‘linear’,’bilinear’)
disp (‘Method is linear’)
case ‘cubic’
disp (‘Method is cubic’)
case ‘nearest’
disp (‘Method is nearest’)
otherwise
disp (‘Unknown method.’)
end
- FOR
Pernyataan Loop FOR mengeksekusi group perintah secara berulang-ulang dengan jumlah iterasi yang tetap (fixed), for harus diakhiri dengan end. contoh penggunaan :
a = [];
for i = 1:3;
a = [a [i;i^2]];
end
dimana a yang mula-mula diisi matriks kosong diisi dengan vektor kolom [i;i^2] dalam setiap iterasi. jumlah total iterasi adalah 3 jika anda ketikkan a pada MATLAB prompt maka akan didapatkan ;
a =
1 2 3
1 4 9
- WHILE
Pernyataan loop while mengeksekusi group perintah secara berulang dengan jumlah iterasi yang indefinite yang ditentukan oleh suatu kondisi atau ekspresi logika tertentu. Pernyataan while harus diakhiri dengan end. Berikut
contoh program :
a = 0; fa = -inf;
b = 3,fb = inf;
while b-a > eps*10
x = (a+b)/2 ;
fx = x^3 - 2*x -5;
if isequal (sign (fx),sign (fa))
a= x; fa = fx ;
else
b = x; fb = fx;
end
end
setelah menjalankan kode program di atas,ketikkan x pada MATLAB prompt sehingga Anda seharusnya mendapatkan
x = 2.0946
- BREAK DAN CONTINUE
Pernyataan Break dipakai untuk keluar dari loop (for atau while) meskipun maksimum iterasi belum tercapai. sedangkan pernyataan Continue melakukan tugas yang hampir sama dengan break. diletakkan setelahnya dan tidak keluar dari loop. contoh penggunaan break
clc;
clear;
a = 0; fa = -Inf;
b = 3; fb = Inf;
while b-a > eps*10
x = (a+b)/2;
f = x^3-2*x-5;
if isequal (f,0)
break
else if isequal (sign(f),sign(fa))
a=x; fa = f;
else
b = x; fb = f;
end
end
end
Dalam contoh diatas bila terjadi kondisi f sama dengan 0 maka loop while akan dihentikan meskipun belum mencapai maksimum iterasi
- Try-Catch
Pernyataan ini dipakai untuk menangkap error yang terjadi selama eksekusi program dan kemudian memberikan perintah pengganti dari pernyataan yang akan membuat error.
sintaks umumnya :
try
perintah_1;
perintah_2;
…
perintah_n;
catch
perintah_pengganti_1;
perintah_pengganti_2;
…
perintah_pengganti_n;
end
- Return
Pernyataan Return hanya dipakai dalam suatu definisi function.contoh penggunaannya
function d = det(A)
if isempty (A)
d = 1;
return
else
…
end
dalam definisi diatas,jika A adalah matriks kosong maka d akan diset bernilai 1 dan pernyataan return akan dieksekusi
4.7.2 Struktur Data
- Array Multidimensi
Array multidimensi adalah array dengan lebih dari dua indeks. Contoh array multidimensi adalah dihasilkan dari perintah berikut:
r = randn (3,2,4);
Perintah ini menghasilkan 4 buah matriks berdimensi 3 x 2.
- Cell Array
Cell array lebih sering dibuat dengan kurung kurawal "{}" dan bisa diisi berbagai tipe data yang berbeda-beda. Contoh :
a = [1 2 ; 3 4];
- Character dan Text
Dalam MATLAB, variabel yang berisi teks diperlakukan sebagai sebuah array dengan elemennya berupa kode-kode ASCII dari karakter penyusun teks. Contoh :
s = 'hallo'
Hasilnya adalah s berupa sebuah character array 1 baris 5 kolom. Sekarang berikan perintah:
c = double(s)
Anda akan mendapatkan
c =
104 97 108 108 111
dimana masing-masing elemen e ini adalah kode-kode ASCII untuk 'hallo' secara berurutan. Untuk mendapatkan teks dari kode ASCII di atas,
- Structures
Pengembangan dari array multidimensi adalah structures dimana elemen-elemennya bisa diakses memakai textual fields. Untuk contoh, eksekusi perintah membuat array berikut.
Peserta.name = 'Anom';
Peserta.score = 90;
Peserta.grade = 'A';
akan menghasilkan sebuah structure skalar dengan tiga fields:
Peserta =
name: 'Anom'
score: 90
grade: 'A'
4.7.3 Fungsi
File-file yang berisi kode-kode program yang bisa dieksekusi dalam Command Window MATLAB dinamakan M-Files. Anda bisa membuat M-Files dengan editor teks biasa, dan kemudian mengeksekusinya dari MATLAB Prompt. Cara cepat untuk melihat isi suatu M-Files adalah dengan perintah:
type nama_m_file
M Files dikelompokkan menjadi dua jenis:
- Script berisi kumpulan perintah dalam bentuk M-Files. Untuk mengeksekusinya, tidak diperlukan argumen input, tetapi juga tidak menghasilkan suatu output (return output argument).
- Function membutuhkan argumen input dan menghasilkan argumen output.
Jenis-jenis Fungsi
3. Fungsi private
Ini adalah salah satu jenis fungsi M-File yang hanya bisa dipanggil oleh grup fungsi tertentu saja.
4. Fungsi bersarang
Suatu fungsi yang didefinisikan dalam bodi fungsi yang lain. Sebagai ilustrasi, berikut adalah fungsi B yang berada dalam fungsi A
function x = A(21,z2)
…
b=B (z2);
function y = B(z3)
…
end
…
end
5. Overloaded Function
Suatu fungsi yang bisa merespons berbagai tipe argumen input bahkan dengan jumlah yang berbeda.
6. Variabel Global
Variabel-variabel yang didefinisikan di dalam suatu fungsi tidak bisa langsung diakses dari luar fungsi demikian juga sebaliknya.
7. Fungsi eval
Fungsi eval bertugas mengeksekusi ekspresi yang diberikan padanya sebagai argumen masukan berupa string. Sintaksnya:
eval (s)
8. Function Handles
Pada dasarnya function handle adalah suatu "variabel", namun bukan dipakai untuk menaruh bilangan, tetapi suatu "fungsi". Sebuah function handle didefinisikan menggunakan tanda at, e. Untuk contoh, function handle untuk fungsi sin dibuat dengan sintaks:
function_handle = sin;
Ada banyak fungsi bawaan MATLAB yang memerlukan argumen input berupa function handles untuk berbagai keperluan meliputi:
Zero Finding: mencari akar suatu persamaan. Contoh: fzero.
Optimization: mencari nilai minimum suatu fungsi kriteria. Contoh : fminsearch.
Quadrature: menghitung luas di bawah kurva. Contoh: quadl
Ordinary Differential Equation: mencari solusi persamaan diferensial secara numerik. Contoh: ode45.
Step 1:Mulai Matlab
Step 2:Masukkan codingnya
Step 3: Simpan codingnya
Step 4: Run coding Matlabnya
gambar 4.7 Flow Control While
4.5.7 mengatur sumbu plot
1. Buatlah program yang meminta input angka sebanyak N, dimana N adalah input dari pengguna. Output program adalah bilangan maksimum dan minimum dari angka-angka tersebut.
jumlah = input(‘masukkan bilangan ke-n: ‘);
Vektor = [];
for i=1:jumlah
n = input(‘masukkan angka: ‘);
Vektor = [Vektor n];
end
maksimal = max(Vektor);
minimal = min(Vektor);
disp([‘max= ‘ num2str(maksimal)]);
disp([‘min= ‘ num2str(minimal)]);
2.Buatlah program yang bisa menyimpan input berupa bilangan-bilangan integer ke dalam array. Lalu, dari bilangan-bilangan tersebut akan muncul bilangan-bilangan yang habis dibagi 4.
1. Buatlah program yang meminta input angka sebanyak N, dimana N adalah input dari pengguna. Output program adalah bilangan maksimum dan minimum dari angka-angka tersebut.
jumlah = input(‘masukkan bilangan ke-n: ‘);
Vektor = [];
for i=1:jumlah
n = input(‘masukkan angka: ‘);
Vektor = [Vektor n];
end
maksimal = max(Vektor);
minimal = min(Vektor);
disp([‘max= ‘ num2str(maksimal)]);
disp([‘min= ‘ num2str(minimal)]);
j = 0;
x = input(‘masukkan x dalam bentuk [array]: ‘);
panjang = length(x);
for i = 1:panjang
sisa = mod(x(i),4);
if(sisa == 0)
j = j+1;
y(j)= x(i);
end
end
disp(y(1:j));
No comments:
Post a Comment