Batman Begins - Help Select#sidebar ul { padding:0; margin:0; color:#FFF } #sidebar ul li { list-style-type:decimal-leading-zero; padding-left:5px; margin:8px 0 0 20px } -->

Sabtu, 01 Juni 2013

Belajar Matlab

Program Matlab


Pengenalan Program Matlab
Matlab merupakan bahasa pemrograman computer berbasis windows dengan orientasi dasarnya adalah matrik, namun pada program ini tidak menutup kemungkinan untuk pengerjaan permasalahan non matrik. Selain itu matlab juga merupakan bahasa pemrograman yang berbasis pada obyek (OOP), namun disisi lain karena matlab bukanlah type compiler, makla program yang dihasilkan pada matlab tidak dapat berdiri sendiri, agar hasil program dapat berdiri sendiri maka harus dilakukan transfer pada bahasa pemrograman yang lain, misalnya C++. Pada matlab terdapat tiga windows yang digunakan dalam operasinya yaitu command windows (layar perintah) dan figure windows (layar gambar), serta Note Pad (sebagai editor program). MATLAB adalah system interaktif yang mempunyai basis data array yang tidak membutuhkan dimensi. Ini memungkinkan kita dapat menyelesaikan banyak masalah komputasi teknis, khususnya yang berkaitan dengan formulasi matrik dan vector.
Nama MATLAB merupakan singakatn dari matrix labolatory . MATLAB awalnya dibuat untuk memudahkan dalam mengakses software matriks yang telah dikembangkan oleh LINPACK dan EISPACK. Dalam perkembangannya, MATLAB mampu mengintegrasikan beberapa software matriks sebelumnya dalam satu software untuk komputasi matriks. Tidak hanya itu, MATLAB juga mampu melakukan komputasi simbolik yang biasa dilakukan oleh MAPLE.
Pemakaian MATLAB meliputi :
· Matematika dan komputasi
· Pengembangan algoritma
· Akuisisi data
· Pemodelan, simulasi dan prototype
· Grafik saintifik dan engineering
· Perluasan pemakaian, seperti graphical user interface (GUI).
Sistem MATLAB terdiri atas lima bagian utama :
1. Development Environment. Ini adalah kumpulan semua alat-alat dan fasiltas untuk membantu kita dalam menggunakan fungsi dan file MATLAB. Bagian ini memuat desktop, Command window, command history, editor and debugger, dan browser untuk melihat help, workspace, files.
2. The MATLAB Mathematical Function Library. Bagian ini adalah koleksi semua algoritma komputasi, mulai dari fungsi sederhana seperti sum, sine, cosine sampai fungsi lebih rumit seperti, invers matriks, nilai eigen, fungsi Bessel dan fast Fourier transform.
3. The MATLAB language. Ini adalah bahasa matriks/array level tinggi dengan control flow, fungsi, struktur data, input/output, dan fitur objek programming lainnya.
Graphics. MATLAB mempunyai fasilitas untuk menampilkan vector dan matriks sebagai grafik. Fasilitas ini mencakup visualisasi data dua / tiga dimensi, pemrosesan citra (image), animasi, dan grafik animasi.
4. The MATLAB Application Program Interface (API). Paket ini memungkinkan kita menulis bahasa C dan Fortran yang berinteraksi dengan MATLAB. Ia memuat fasilitas untuk pemanggilan kode-kode dari MATLAB (dynamic linking), yang disebut MATLAB sebagai mesin penghitung, dan untuk membaca dan menulis MAT-files.

Tutorial Dasar Matlab

Berikut akan dijelaskan dasar-dasar penggunaan MATLAB untuk mengolah salah satu problem matematika yaitu matriks.  
Misalkan Anda akan mamanfaatkan MATLAB untuk membuat suatu matriks dengan jumlah baris 3, kolom 3 (atau 3-kali-3) . Perhatikanlah bahwa semua baris harus memiliki jumlah elemen yang sama. Anda ketik  :
>> A = [2 6 9; 1 2 8; -4 1 -2]
Bila Anda menekan Tombol Enter, akan tampil
A =
     2     6     9
     1     2     8
    -4     1    -2
Selanjutnya bila Anda menginginkan mendapatkan invers dari matriks A tersebut, anda cukup mengetik
>> inv(A)  {ENTER}
  0.0976   -0.1707   -0.2439
    0.2439   -0.2602    0.0569
   -0.0732    0.2114    0.0163
Sederhana bukan?. Ada banyak perintah langsung yang telah dipersiapkan MATLAB untuk mengolah matriks dan operasi matriks.  Anda dapat meminta bantuan MATLAB untuk mengetahui berbagai perintah berkaitan dengan matriks cukup dengan mengetik :
>> help matlab\elmat
Anda akan diperlihatkan berbagai perintah dasar-dasar matriks dan operasi matriks sebagai berikut :

Inilah salah satu cara meminta bantuan penggunaan perintah MATLAB. Untuk mengetahui fungsi perintah dan cara penggunaannya, Anda cukup klik perintah yang ditandai warna biru. Misal Anda klik zeros , maka akan ditampilkan fungsi perintah zeros dan penggunaannya seperti gambar berikut :

Selanjutnya Anda juga dapat memanfaatkan MATLAB untuk menggambar kurva (Plot Fungsi).

Plot Fungsi

Menggambar Grafik
Fungsi plot adalah untuk menggambar grafik dalam bentuk yang dapat berbeda-beda, tergantung pada argumen masukan. Jika y adalah vektor, plot (y) menghasilkan grafik garis linear dari elemen y terhadap indeks  y. Jika Anda menetapkan dua vektor sebagai argumen, plot (x, y) menghasilkan grafik dari y terhadap x.
Misalnya, Anda akan melukis grafik sinus dengan masukan vektor x nilai berkisar dari 0 sampai 2π, maka lebih dulu menghitung sinus nilai-nilai x, lalu melukis dengan fungsi plot hasilnya:
x = 0: pi/100: 2 * pi;
y = sin (x);
plot (x, y)
Sekarang label sumbu dan menambahkan judul. Karakter pi \ menciptakan π simbol. Lihat teks string “” dalam dokumentasi Referensi MATLAB untuk simbol lebih lanjut:
xlabel (‘x = 0:02 \ pi’)
ylabel (‘Sinus dari x’)
title (‘Plot dari Fungsi Sinus’, ‘FontSize’, 12)
<a href='http://imgads.night-hawk.net/ck.php?n=a35a5bff&cb=735673350' target='_blank'><img src='http://imgads.night-hawk.net/avw.php?zoneid=28&cb=735673350&n=a35a5bff' border='0' alt='' /></a>
Membuat Kurva Data Rangkap dalam Satu Grafik
Beberapa argumen pasangan xy dapat dibuat beberapa kurva dengan panggilan tunggal untuk plot. Gambar secara otomatis akan menampilkan kurva dengan urutan  standar warna yang berbeda-beda antara kumpulan data. Lihat sumbu ColorOrder dan properti LineStyleOrder.
Misalnya, anda akan menggambar kurva tiga fungsi yang berhubungan dengan x, dengan masing-masing kurva dibedakan dengan warna yang berbeda :
x = 0: pi/100: 2 * pi;
y = sin (x);
y2 = sin (x-0,25);
Y3 = sin (x-0,5);
plot (x, y, x, y2, x, Y3)
Perintah legend menyediakan cara mudah untuk mengidentifikasi plot individu:
legend('sin(x)','sin(x-.25)','sin(x-.5)')

Menetapkan Style Warna

Menetepkan Style dan Warna
Dimungkinkan kita menetapkan warna, style garis, dan tanda tertentu (seperti tanda + atau linkaran) saat kita menggambar data menggunkan perintah plot.
plot(x,y,’color_style_marker‘)
color_style_marker adalah sebuah string yang berisi satu sampai empat karakter (dibatasi tanda petik) untuk membuat grafik dengan warna, style garis, dan jenis tanda :
  • String untuk warna diantaranya 'c', 'm', 'y', 'r', 'g', 'b', 'w', and 'k'. Ini menunjukkan arti cyan, magenta, yellow, red, green, blue, white, dan black.
  • Strings style garis berupa '-' untuk garis padat, '' untuk garis putus-putus, ':' untuk garis :, '-.' Untuk garis strip-titik.
  • Jenis tanda diantaranya adalah '+', 'o', '*', dan 'x' dan jenis tanda berisi adalah 's' untuk persegi, 'd' untuk permata, '^' untuk segitiga atas, 'v' untuk segitiga bawah, '>' untuk segitiga kanan, '<' untuk segitiga kiri, 'p' untuk pentagram, 'h' untuk heksagram, dan kosong untuk tanpa tanda.
Kita dapat juga mengubah warna, garis dan tanda secara interaktif.
Menggambar Garis dan Tanda Garis
Jika kita menetapkan jenis tanda bukan style garis, MATLAB hanya akan menggambar berupa tanda. Sebagai contoh,
plot(x,y,’ks’)
akan menggambar persegi hitam pada tiap titik data, tetapi tidak menghubungkan tanda dengan garis.
Pernyataan
plot(x,y,’r:+’)
akan menggambar grafik garis titik merah dan menempatkan tanda plus pada tiap titik data. Kita mungkin saja menginginkan menggunakan beberapa titik data untuk menggambar tanda kemudian kita menggunkanannya untuk menggambar garis.
x1 = 0:pi/100:2*pi;
x2 = 0:pi/10:2*pi;
plot(x1,sin(x1),’r:’,x2,sin(x2),’r+’)

Menggambar Grafik Lanjutan

Data Imajiner dan Kompleks
Bila argumen bagi plot berupa kompleks, bagian imajiner diabaiakan kecuali ketika saat plot diberikan sebagai argumen kompleks tunggal. Untuk kasus khusus ini, perintah pendeknya adalah menggambar bagian nyata vs bagian imajiner. Oleh karena itu,
plot(Z)
dengan Z adalah vektor atau matriks kompleks, adalah ekivalen dengan
plot(real(Z),imag(Z))
Sebagai cantoh,
t = 0:pi/10:2*pi;
plot(exp(i*t),’-o’)
axis equal
menggmabr poligon dengan  20- sisi dengan lingkaran kecil pada vertikalnya. Perintah axis equal membuat tambahan sama panjang pada sumbu x dan y, yang menjadikan gambar tampak lebih melingkar.

Menambah Gambar ke Grafik Yang Ada
Perintah hold memungkinkan kita menambah gambar pada grafik yang ada. Ketika kita ketik
hold on
MATLAB tidak mengganti grafik yang ada saat kita memberikan perintah gambar lain. Perintah menambah data baru pada grafik yang ada, mengatur skala sumbu jika diperlukan.
Sebagai contoh, pernyataan ini pertama membuat gambar kontur fungsi peaks, selanjutnya menyelipkan gambar berwarna pada fungsi yang sama.
[x,y,z] = peaks;
contour(x,y,z,20,’k')
hold on
pcolor(x,y,z)
shading interp
hold off
Perintah hold on menyebabkan plot pcolor digambungkan dengan plot contour dalam satu gambar.





Jendela Gambar

Jendela Gambar
Fungsi grafik secara otomatis membuka jendela gambar yang baru saat tidak ada jendela pada layar. Jika jendela gambar telah ada, MATLAB menggunakan jendela ini untuk keluaran grafik. Jika terdapat banyak jendela gambar yang terbuka, MATLAB akan memiliki target kelauaran gambar pada “jendela sekarang” (gambar terakhir yang digunakan atau di-klik)
Untuk membuat jendela gambar yang ada pada gambar sekarang, kita dapat meng-klik mouse saat pointer pada jendela atau kita dapat mengetik
figure(n)
dengan n bilangan yang ada pada bar judul gambar. Hasil perintah akan ditampilkan pada jendela ini.
Untuk membuka jendela gambar baru dan membuat padanya gambar sekarang, ketiklah
figure
Plot Rangkap dalam Satu Gambar
Perintah subplot memungkinkan kita untuk menampilkan plot rangkap dalam jendela yng sama atau mencetaknya pada selembar kertas yang sama. Dengan mengetik
subplot(m,n,p)
akan membagi jendela gambar kedalam matrik m-kali-n sub gambar kecil dan memilih subplot pada gambar yang muncul saat sekarang. Gambar diurutkan dari pertama pada baris pertama jendela gambar, kemudian baris kedua, dan seterusnya. Sebagai contoh, pernyataan ini akan mnggambar data dalam empat sub daerah yang berbeda pada jendela gambar.
t = 0:pi/10:2*pi;
[X,Y,Z] = cylinder(4*cos(t));
subplot(2,2,1); mesh(X)
subplot(2,2,2); mesh(Y)
subplot(2,2,3); mesh(Z)
subplot(2,2,4); mesh(X,Y,Z)

Mengatur Sumbu

Mengatur Sumbu-sumbu
Perintah axis mendukung sejumlah pilihan untuk menyetel skala, orientasi, dan ukuran gambar. Kita dapat juga menyetel pilihan ini secara interaktif.
Menetapkan Batas Sumbu
MATLAB menetapkan harga maksimum dan minimum data untuk memilih batas sumbu untuk membuat jangkauan batas.. Perintah axis mengizinkan kita untuk menetepkan batas.
axis([xmin xmax ymin ymax])
atau untuk gafik tiga dimensi,
axis([xmin xmax ymin ymax zmin zmax])
Gunakan perintah
axis auto
agar MATLAB secara otomatis mengatur pemilihan batas.
Menetapkan Rasio Sumbu
axis juga mengizikan kita untuk menetapkan sejumlah moda tertentu. Sebagai contoh,
axis square
membuat sumbu x dan sumbu y memiliki panjang yang sama.
axis equal
membuat pertambahan tanda batas skala pada sumbu-x dan sumbu-y yang memiliki panjang sama. Ini artinya perintah
plot(exp(i*[0:pi/10:2*pi]))
diikuti dengan perintah axis square or axis equal akan merubah bentuk oval ke bentul seperti linkaran.
axis auto normal
Menetapkan Tampilan Sumbu
Kita dapat menggunakan perintah axis untuk memperlihatkan sumbu atau menyembunyikannya.
axis on
akan memerperlihatkan sumbu. Dan telah menjadi penetapan pada MATLAB.
axis off
akan menyembunyikan sumbu.
Menetapkan Garis Kisi
Perintah grid akan memerintahkan agar garis kisi akan ditampilkan atau tidak. Pernyataan
grid on
akan menampilkan garis kisi dan
grid off
menghilangkan garis kisi.
Menberi Label Sumbu dan Judul Gambar
Perintah xlabel, ylabel, dan zlabel akan menambahkan label pada sumbu x-, y-, dan z. Sedangkan perintah  title akan menambahkan judul pada posisi atas gambar dan fungsi text akan menyisipkan teks dimanapun pada gambar. Notasi TeX menghasilkan huruf yunani. Kita dapat saja menetapkan secara interaktif.
t = -pi:pi/100:pi;
y = sin(t);
plot(t,y)
axis([-pi pi -1 1])
xlabel(‘-\pi \leq {\itt} \leq \pi’)
ylabel(‘sin(t)’)
title(‘Graph of the sine function’)
text(1,-1/3,’{\itNote the odd symmetry.}’)





Menyimpan dan Mengedit Gambar

Menyimpan Gambar
Untuk menyimpan gambar, pilihlah Save dari menu File. Untuk menyimpannya kita menggunakan format grafik, seperti TIFF, bila ingin menggunakan format lain pilihlah Export dari menu File.
Mengedit Gambar
MATLAB membuat bentuk sebuah grafik untuk memberi kemampuan untuk dapat dibaca, skala sumbu yang dapat diubah, termasuk mengubah warna dan jenis garis sesuai diinginkan. Namun, jika kita sedang membuat grafik, kita dapat saja mengubah bentuk gambar tertentu atau menambah label, judul dan notasi lain untuk membentu menjelaskan data.
MATLAB menyediakan dua cara untuk mengubah gambar yang kita buat.
  • Menggunakan mouse untuk memilih dan mengedit objek secara interaktif
  • Menggunakan fungsi MATLAB pada garis-perintah atau file-M
Gambar Mesh dan Permukaan
MATLAB mendefinisikan sebuah permukaan dengan koordinat titik z diatas bidang x-y, menggunakan garis lurus untuk menghubungkan titik-titik yang berdekatan. Fungsi gambar mesh dan surf menampilkan permukaan dalam tiga dimensi. mesh menghasilkan permukaan kerangka kawat yang berwarna hanya pada garis yang menghubungkan titik-titik tertentu. surf menampilkan baik garis yang saling berhubungan juga menampilkan permukaan berwarna.
Visualisasi Fungsi dua variabel
Untk menampilkan fungsi dua variabel, z = f (x,y),
  • Membangkitkan matriks X dan Y yang masing-masing terdiri atas baris dan kolom berulang, dalam domain fungsi.
  • Menggunakan X dan Y untuk mengevaluasi dan menggambar fungsi.
Fungsi meshgrid melakukan transformasi domain yang ditentukan oleh vektor tunggal atau dua vektor x dan y kedalam matriks X dan Y yang digunakan untuk mengevaluasi fungsi dua variabel. Baris X merupakan pemindahan dari vektor x dan kolom Y adalah pindahan dari vektor y.
Contoh –Membuat grafik fungsi sinc
Contoh berikut ini mengevaluasi dan menggambar grafik fungsi dua dimensi sinc, sin(r)/r, antara arah x dan y. R adalah jarak dari pusat, yang merupakan titik pusat matriks. Adding eps (a MATLAB command that returns the smallest floating-point number on your system) avoids the indeterminate 0/0 at the origin.
[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
mesh(X,Y,Z,’EdgeColor’,'black’)

Secara tetap, MATLAB memberi warna mesh menggunakan warna sekarang. Namun, contoh ini mengunakan mesh berwarna tunggal dengan menetapkan sifat permukaan EdgeColor. Lihatlah halaman referensi surface.
Kita dapat membuat mesh tranparan dengan melakukan disable terhadap hidden.
hidden off
Lihat halaman hidden.
 Refrensi : 1) http://gozovhi.blogspot.com
                2) http://ermanu.staff.umm.ac.id/panduan-matlab