Post on 30-Sep-2015
description
M A T L A BMatlab: MATrix LABoratory: bahasa pemrograman yang dikembangkan oleh The MathworkInc (http://www.mathworks.com): bahasa pemrograman yang banyak digunakan untuk perhitungan numeric keteknikan, komputasi simbolik, visualisasi, grafis, analisis data matematis, statistika, simulasi, pemodelan dan desain GUI.Karakteristik MATLAB : Bahasa pemrogramannya didasarkan pada matriks (baris & kolom) Lambat karena bahasanya langsung diartikan. Contoh, tdk diperlukan pre-compiled. Menghindari kalang for (for loops). Setiap saat menggunakan bentuk-bentuk vector. Automatic memory management, missal kita tdk hrs mendeklarasikan array dahulu Tersusun rapi Memiliki waktu pengembangan program lebih cepat dibanding bahasa pemrograman lama (Fortran atau C). Dapat diubah ke bahasa C lewat MATLAB Compiler utk effisiensi lebih baik Tersedia banyak Toolbox utk aplikasi-aplikasi khusus. Bersama dengan Maple utk komputasi-komputasi simbolik. Dalam shared- memory parallel computers, seperti SGI Origin 2000, beberapa operasi secara otomatis dapat diproses bersama.The Commond Window Double klik ikon MATLAB shg muncul jendela kerja (workspace) Untuk membersihkan workspace, ketik clc dan tekan tombol Enter pada keyboard. Contoh :>> a = 1 + 6a = 7>> g1 = cos (3*pi/4) g1 = -0.7071
utk mengubah format angka yang tampil dpt dilakukan dgn mengetikkan :>> format long>> g1
g1 = -0.70710678118655>> format bank>> g1
g1 = -0.71
Berbagai Karakter SpesialTanda % penenda komentar (keterangan setelah tanda ini akan diabaikan dlm proses perhitungan selanjutnya).Contoh :>>y = 2:1:5% y = [ 2 3 4 5 ];Y = 2.003.004.005.00 Tanda ; merupakan perintah pembatas yg tdk ditampilkan di workspace, merupakan pemisah kolom & baris dlm matriks, missal :>> A = [1 2 3; 3 2 1];Tanda : merupakan pembatas jangkauan Misal :>> B = [0 : 3 : 9]B = 0 3.00 6.00 9.00Tanda merupakan transpose matriks. Misal :>>X = [ 3 2 4 5 ; 7 6 5 8 ]X = 3.002.004.005.007006.005.008.00>>X = X X = 3.007.002.006.004.005.005.008.00Tanda digunakan saat menuliskan baris perintah yang panjang.Contoh :>> p = sin(1) sin(2) + sin(3) sin(4) + sin(5) + cos(6) + Cos(7) sin(8) sin(9) cos (10) + cos (11)P =.0273Untuk keluar dari MATLAB, ketikkan exit di jendela kerja kemudian tekan Enter, atau klik menu File di sudut kiri atas, tekan tombol X di keyboard.Semua pekerjaan tadi dpt diakses kembali dg membuka jendela kerja dan menekan berulang kali tombol anak panah keatas keyboard.Semua pekerjaan akan hilang bila kita klik menu Edit dan kemudian klik perintak Clear Command History
Angka & Operasi AritmatikaAda 3 jenis angka di MATLAB : Bulat (Integer) Nyata (Real Numbers) Kompleks (Complex numbers)Bilangan bulat: Bilangan yang tdk mengandung bilangan berkoma (decimal).Contoh :>> xi = 10xi = 10Bilangan Real :>> xr = 12.6054 Xr = 12.60543 variabel sebagai nonnumbers, yaitu : -Inf (Negative infinity) Inf (Infinity) Nan (Not a number), missal 0.0/0.0 atau 4-4Daftar operasi dasar aritmatika di MATLAB :operasiSymbol
Penambahan + Contoh : 5+3
Pengurangan Contoh : 5-3
Perkalian* contoh 5*3
Pembagian/ atau \ , contoh 56/8 atau 8\56
Pangkat^ , contoh 5^2
RUANG KERJA MATLAB :Misal :hendak mengecek nilai tape, maka kita meminta kepada MATLAB dengan mengetikkan namanya pada PROMT>>tapetape = 2Bila ingin memanggil perintah sebelumnya, MATLAB menggunakan tombol panah (, , ) pada keyboard. Bila kita tekan berarti memanggil perintah terakhir, menggerakkan krusor kekiri/ kekanan.
VARIABELAturan penamaan VariabelCatatan & Contoh
Nama variable dibedakan antara huruf kecil & huruf kapitalItems, items, itEms dan ITEMS semuanya adalah variable yang berbeda
Panjang maksimum nama variable adalah 31 karakter setelah karakter ke 31 diabaikanHowaboutthisvariablename
Nama variable hrs diawali dg huruf, diikuti dg sembarang bilangan, huruf atau garis bawah. Karakter-karakter tanda baca tdk diperbolehkan krn byk diantaranya mempunyai arti tersendiri dlm MATLAB.how_about_this_variable_nameX51483A_b_c_d_e
Variabel KhususNilai
ansNama variable utk hasil apapun
piPerbandingan antara kell lingk dg garis tengahnya
epsBilangan terkecil sedemikian rupa sehingga bila ditambahkan pada satu, menghasilkan bilangan lebih besar dari satu pada suatu computer
flopsJumlah operasi floating point
infTak berhingga, missal 1/0
NaN atau nanBukan suatu bilangan, missal 0/0
i dan ji = j = V-1
narginJumlah argument input suatu fungsi
NargoutJumlah argument output suatu fungsi
realminBilangan real positif terkecil yang dpt digunakan
realmaxBilangan real positif terbesar yang dapat digunakan
HIMPUNAN PERSAMAAN LINIER-Menemukan penyelesaian dari sekumpulan persamaan linier A x = b A = [1 2 3;4 5 6;7 8 0]; x = [x1;x2;x3]; b = [366;804;351]; Persamaan diatas berarti perkalian matriks antara matriks A dengan vector x, sama dengan vector b.Masalah diatas adalah masalah mendasar dalam aljabar linier. Secara analitis penyelesaian ditulis sebagai :x = A-1.b Dengan mengoperasikan masalah diatas pada program MATLAB, akan didapat x= inv(A)*bataux=A\b x= x=25.000025.000022.000022.000099.000099.0000Operator pembagian kiri\ tidak didahului oleh titik karena merupakan operasi matriks, bukan operasi elemen ke elemen suatu array.Cara penyelesaian kedua karena lebih sedikit perkalian dan pembagian, sehingga lebih cepat, dan akurat.Jika suatu permasalahan MATLAB tidak dapat menemukan, maka akan tampil pesan kesalahan.Dalam MATLAB penggunaan operator / atau \ secra otomatis menemukan solusi yang memperkecil error kuadrat dalam A.x-b.
MATRIKS KHUSUSMatriks umum :>>a= [1 2 3;4 5 6];>>b= find(a>10)b= [ ]Matrikskhusus :>>zeros(3) %3x3 matriks berelemen nolans =0 0 00 0 00 0 0>>Ones(2,4) %2x4 matriks berelemen satuans =1 1 1 11 1 1 1>>zeros(3)+pians =3.1416 3.1416 3.14163.1416 3.1416 3.14163.1416 3.1416 3.1416
>>Menggunakan fungsi size utk menciptakan matriks dengan ukuran sama dengan matriks lain.
>>[1 2 3;4 5 6];>>ones(size(A))ans =1 1 11 1 1
Matriks-matriks khusus diberikan dalam table :Matriks Khusus
[ ]companeyehadamardhankelhilbinvhilbmagiconespascalrand
randnrossertoeplitzvanderwilkinsonzeroMatriks kosongMatriks companionMatriks identitasMatriks hadamardMatriks hankelMatriks HilbertInvers matriks HilbertMatriks segiempat ajaibMatriks dengan semua elemen satuMatriks segitiga pascalMatriks dg elemen bilangan random berdistribusi uniform dari 0 sampai dengan 1Matrik dg elemen bilangan random berdistribusi normal dg rata-rata nol dan varian unitMatriks test nilai eigen simetrisMatriks toeplitzMatriks vandermondeMatriks test nilai eigen WilkinsonMatriks dg semua elemen nol
Contoh :
ALJABARLINIER
Karakter-karakter Spesial dan Fungsi-fungsi MATLABSPESIAL KARAKTER
;Operator titik koma
Transpos konjugasi
.Transpos
*Perkalian
.Operator titik
^Operator pangkat
[]Operator vector kosong
:Operator titik dua
=Tanda sama
==Tanda sama dengan
\Pembagi kiri atau backlash
/Pembagi kanan
i,jUnit imajiner
~Logika tidak
~=Logika tidak sama dengan
&Logika dan
lLogika atau
{}Sel
FUNGSIDESKRIPSI
acosInvers cosinus
AxisKontrol skala sumbu & penampakan grafik
charMembentuk karakter array
cholFaktorisasi Cholesky
crossPerkalian silang vector
detDeterminan
diagMatriks diagonal dan diagonal dari suatu matriks
doubleMengubah ke presisi double
eigNilai eigen & vector eigen
eyeMatriks identitas
fillPengisian polygon 2-D
fixPembulatan ke nol
flipirMemutar matriks kea rah kanan/ kiri
flopsOperasi penjumlahan bilangan bulat
gridGaris bantu
hadamardMatriks hadamad
hilbMatriks Hilbert
holdMenahan grafik yang dikerjakan
invMatriks invers
isemptyBenar utk matriks kosong
legendLegenda grafik
lengthPanjang vector
linspaceLinierly spaced vector
logicalMengubah nilai numeric ke logika
magicMatriksl magic kuadrat
MaxKomponen terbesar
minKomponen terkecil
normMatriks atau normal vector
nullRuang nol
num2cellMengubah nilai numeric array ke dalam sel array
num2strMengubah angka ke string
OnesArray ones
pascalMatriks pascal
PlotPlot linier
polyMengubah akar-akar ke bentuk polynomialnya
PolyvalMengevaluasi polynomial
randPendistribusian bilangan acak secara teratur
RandnPendistribusian bilangan acak secara normal
rankRank suatu matriks
reffBentuk eselon baris tereduksi
remRemainder after division
reshapeMengubah ukuran
rootsMancari akar-akar polynomial
sinFungsi sinusoidal
sizeUkuran suatu matriks
sortPemilihan dalam pangkat yang menaik
subsSubstitusi simbolik
symInisialisasi simbolik dan variable
ticMemulai waktu pencatatan
titleJudul grafik
tocMembaca waktu pencatatan
toeplitzMatriks tioeplitz
trilMengekstrak bagian segitiga bawah
triuMengekstrak bagian segitiga atas
vanderMatriks vandermonde
vararginDaftar panjang variable argument masukan
zerosArray zeros
Vektor & Matriks Membuat sebuah vector baris :a = [1 2 3]a =1 2 3Membuat vector kolom :b = [1;2;3]b =123
PEMBUATAN GRAFIKGrafik dibuat dengan mencari nilai-nilai fungsi dalam suatu interval & menggambarkan vector hasilnya.Penggambaran grafik pada MATLAB menggunakan perintah plot.Fungsi Plot/ fplot mencari nilai-nilai fungsi yang akan digambar secara teliti dan meyakinkan bahwa semua keanehan yg melekat pd fungsi tersebut direpresentasikan dalam grafik hasil.Input, fungsi perlu nama fungsi dalam bentuk karakter string dan jangkauan grafik sebagai array 2 elemen.Contoh :>>fplot(humps,[0 2])>>title(menggambar humps dengan FPLOT)
Pada contoh diatas, humps adalah suatu fungsi M-file yang disediakan MATLAB.Fplot bekerja untuk setiap fungsi MATLAB dengan satu vector input ukuran sama& satu vector output.Artinya : seperti pada humps, variable output y merupakan vector yang berukuran sama danvektor input x, dengan y dan x berhubungan array ke array.Kesalahan Umum penggunaan fplot (demikian juga dg fungsi analisis numeric lain) :Lupa memberikan nama fungsi yang diapit oleh apostrop. (nama fungsi dalam bentuk karakter string hrs ditegaskan, jika diketik fplot humps,[0 2], MATLAB menganggap humps sebagai suatu variable dalam ruang kerja, bukan sebagai nama fungsi).Bagi fungsi-fungsi sederhana dapat diekspresikan sebagai satu karakter string seperti y=2exsin(x), fplot dapat menggambar grafiknya tanpa harus membuat M-file dahulu. Hal tersebut cukup dilakukan dg menulis fungsi ini sbg karakter string dengan menggunakan x sebagai variable bebas :
>>f=2*exp(-x).*sin(x);Disini fungsi f(x) = 2e-xsin(x) didefinisikan dengan perkalian array.>>fplot(f,[0 8])>>title(f), xlabel (x)
Gambar 2
Untuk memberi ilustrasi minimalisasi dan maksimalisasi satu dimensi, perhatikan Maksimum didekat xmax = 0.7 Minimum di dekat xmin = 4Secara analisis titik titik tersebut dapat ditunjukkan sebgai : Xmax = /4 0.785 dan xmin = 5/4 3.93.
% exp_fmin.mfn=2*exp(-x)*sin(x) ; % mendefinisikanfungsiuntuk minimumXmin=fmin(fn,2,5) %mencaridalam range 2