Selasa, 25 Juni 2013

Matlab

Matlab Dasar


 

 

Tujuan lesson ini menyajikan dasar-dasar MATLAB. Tutorial ini tidak mensyaratkan pengetahuan awal tentang MATLABMATLAByang digunakan minimal MATLAB versi 5.3 profesional, Release 11 under Windows 95.

1. Command Window
Kita dapat membuka MATLAB dengan mengklik icon MATLAB pada desktop komputer atau dapat pula dengan memilih folder MATLAB pada program group. Selanjutnya kita akan melihat tampilan yang disebut command window. Window ini memungkinkan kita menulis perintah-perintah sederhana. Untuk menghapus perintah yang masih tersisa pada command window, ketik clc kemudian tekan Enter. Namun perintah tersebut tetap aktif. Untuk menonaktifkannya anda ketik clear.
Untuk menjalankan komputasi sederhana, ketik perintahnya kemudian tekanEnter. Sebagai contoh :
>> s = 2 + 3
s =
5
>> fun = sin(pi/4)
fun =
0.7071
Pada contoh kedua, fungsi trigonometri sinus dan bilangan p dinamai dalam MATLAB dengan sin dan pi .
Diingatkan bahwa hasil-hasil pada komputasi di atas tersimpan dalam bentuk variabel, yang namanya dapat dipilih oleh user. Variabel-variabel ini dapat dipanggil kembali dengan mengetik namanya kemudian tekan Enter. Misalnya
>> s
s =
3
Penulisan variabel : Dimulai dengan letter, dapat diikuti dengan letter atauangka atau underscore. MATLAB hanya dapat mengenal 31 karakter pertama dari nama variabel.
Mengubah format tampilan : Terdapat beberapa format tampilan bilangan pada MATLAB. Format standard (default) adalah short ( empat digit setelah tanda decimal) . Untuk menampilkan digit yang lebih banyak lakukan sebagai berikut :
klik File – pilih Preferences – klik Numerical Format – pilih
format yang diinginkan
Kita juga dapat memilih format langsung dari command window. Misalnya,
>> format long
>> fun
fun =
0.70710678118655
Untuk mengembalikan ke format standard, lakukan
>> format short
>> fun
fun =
0.7071
Beberapa format bilangan pada command window :
1. format default
2. format short : fixed point with 5 digits.
3. format long : fixed point format with 15 digits.
4. format short e : floating point format with 5 digits.
5. format long e : floating point format with 15 digits.
6. format short g : best of fixed or floating point format with 5 digits.
7. format long g : best of fixed or floating point format with 15 digits.
8. format hex : hexadecimal format.
9. format + : the symbols +, - and blank are printed for
positive, negative and zero elements. Imaginary
parts are ignored.
10. format bank : fixed format for dollars and cents.
11. format rat : rational format.
Untuk mengahiri MATLAB, ketik exit kemudian tekan Enter. Cara lain adalah dengan memilih Exit MATLAB option pada File toolbar. Semua informasi / data yang tidak tersimpan akan hilang. Cara menyimpan data ini akan dibicarakan pada bagian 3.
2. Bilangan dan operasi aritmatika pada MATLAB
Terdapat tiga jenis bilangan yang digunakan dalam MATLAB :
· Bilangan bulat (integer)
· Bilangan real (real number)
· Bilangan kompleks (complex number)
Bilangan bulat ditulis tanpa tanda decimal (.). Contoh :
>> xb = 10
xb =
10
Namun, bilangan berikut
>> xr = 10.01
xr =
10.0100
disimpan sebagai bilangan real. Representasi bilangan oleh mesin tidak dibicarakan pada tutorial ini. Variabel realmin dan realmax menyatakan bilangan real positip terkecil dan terbesar yang dapat dicapai oleh MATLAB.
>> realmax
ans =
1.7977e+308
>> realmin
ans =
2.2251e-308
Bilangan kompleks dalam MATLAB disajikan dalam bentuk a + b i. Satuan imajiner  dinyatakan dengan i atau j.
>> i
ans =
0 + 1.0000i
Terdapat pula tiga variabel yang menyatakan bukan bilangan :
  • - Inf
  • Inf
  • NaN
Variabel –Inf dan Inf adalah representasi IEEE untuk -¥ dan ¥. Biasanya dihasilkan oleh pembagian dengan nol. NaN berarti not-a-number, biasanya operasi matematik yang tak terdefinisi, seperti 0/0 atau ¥ - ¥.

Enam operasi aritmatika pada MATLAB

NAMA OPERASI
LAMBANG
Penjumlahan
+
Pengurangan
-
Perkalian
*
Pembagian
atau \
Pemangkatan
^
MATLAB mempunyai dua operator pembagian, yaitu
/ : untuk pembagian kanan
untuk pembagian kiri
>> kn = 47/7
kn =
6.7143
>> kr = 47\7
kr =
0.1489
3. Penyimpanan dan pemanggilan kembali
Semua variabel yang telah digunakan dalam MATLAB yang sedang digunakan disimpan dalam Workspace. Kita dapat melihat isi dari Workspace ini dengan cara :
klik File – pilih Show Workspace
atau langsung dari command window dengan perintah whos
>> whos
Name Size Bytes Class
ans 1x1 16 double array (complex)
fun 1x1 8 double array
kn 1x1 8 double array
kr 1x1 8 double array
s 1x1 8 double array
xb 1x1 8 double array
xr 1x1 8 double array
Grand total is 7 elements using 64 bytes
Menunjukkan semua variabel yang sedang digunakan. Untuk menyimpan variabel-variabel ini dapat dilakukan :
Klik File – pilih Save Workspace As – ketik nama file (misalnya fileku) – klikSave.
Dapat dilakukan langsung dari command window dengan perintah :
>> save fileku
Untuk mengaktifkan kembali data yang tersimpan dalam file fileku.mat dapat dilakukan dengan memberi perintah :
>> load fileku
Bila kita hanya ingin menyimpan variabel tertentu saja, katakanlah variabel fundisimpan dengan nama sinc, lakukan :
>> save sinc fun
Untuk mengaktifkan variabel fun dipanggil namanya dengan cara :
>> load sinc
Pastikan anda bekerja pada direktori yang dapat diakses oleh MATLAB. Sebaiknya anda mempersiapkan direktori baru sebelum menyimpan file anda. Untuk itu anda memulai dengan mendefinisikan direktori pribadi melalui windows explorer, misalnya
C :\ pelatihan
>> cd C:\
>> cd pelatihan
Setelah ini semua file yang anda simpan akan tersimpan pada direktori ini. Begitu juga ketika di lain waktu anda mau memanggil data dan menjalankan program yang ada dalam direktori ini, anda harus melakukan prosedur sebelumnya agar direktori anda dapat diakses.
4. Menggunakan bantuan (help)
Untuk mengetahui lebih mendalam fungsi MATLAB yang digunakan, misalnyarank, ketik pada command window.
>> help rank
RANK Matrix rank.
RANK(A) provides an estimate of the number of linearly
independent rows or columns of a matrix A.
RANK(A,tol) is the number of singular values of A
that are larger than tol.
RANK(A) uses the default tol = max(size(A))*norm(A)*eps.
Overloaded methods
help gf/rank.m
help sym/rank.m
help rptcp/rank.m
help xregdesign/rank.m
Kita dapat pula menampilkan informasi semua fungsi yang memuat suku katarank dengan perintah :
>> lookfor rank
CHOLUPDATE Rank 1 update to Cholesky factorization.
QRUPDATE Rank 1 update to QR factorization.
RANK Matrix rank.
SPRANK Structural rank.
GFRANK Compute the rank of a matrix over a Galois field.
XREGQR qr decomposition with rank chank
vrank.m: % function out = vrank(mat)
GANGSTR Zero out 'small' entries subject to structural rank.
FRANKE Franke's bivariate test function.
RANKSUM Wilcoxon rank sum test that two populations are identical.
SIGNRANK Wilcoxon signed rank test of equality of medians.
TIEDRANK Compute the ranks of a sample, adjusting for ties
RANK Matrix rank.
RANK Symbolic matrix rank.
RANK returns position of component in child list
RANKCHECK Perform rank checking on design
RANKCHECK Perform rank checking on design
RANK Matrix rank.
RANKCHECK Perforsm rank checking on design
FRANK Frank matrix
Perintah helpwin tanpa diikuti oleh suatu argumen akan membuka window help. Window help dapat dibuka langsung melalui help toolbar. Perintah helpwin yang diikuti oleh argument langsung menampilkan text bantuan untuk fungsi yang dimaksud.
>> helpwin zeros
menghasilkan informasi tentang fungsi MATLAB zeros.
zeros Zeros array.
zeros(N) is an N-by-N matrix of zeros.
zeros(M,N)or zeros([M,N])is an M-by-N matrix of zeros.
zeros(M,N,P,...) or zeros([M N P ...])is an M-by-N-by-P-
by-...
array of zeros.
zeros(SIZE(A)) is the same size as A and all zeros.
See also ones.
5. Demonstrasi MATLAB
Untuk mempelajari lebih mendalam tentang kemampuan MATLAB kita dapat melihat contoh-contoh yang didemonstrasikan. Untuk melihat ini kita dapat memberikan perintah demo pada command window atau langsung dari help toolbar :
klik Help – pilih Example and Demos
Pada window demo ini kita dapat memilih menu sesuai yang diinginkan.
6. Penghentian program
Dalam kasus kita menulis kode computer tidak tepat sehingga program yang dijalankan harus mengikuti tak berhingga iterasi maka kita perlu menghentikan (interupsi) program tersebut. Untuk itu kita dapat menekan secara bersamaanCtrl + c.
7. Perintah panjang
Dalam menulis statment yang terlalu panjang sebaiknya gunakan titik tiga tanpa spasi “. . . “ diikuti dengan Enter.
Contoh :
>> sin(1)-sin(2)+sin(3)-sin(4)+sin(5)- ...
cos(6)+cos(7)-cos(8)+cos(9)-cos(10)
x =
0.7744
Output suatu komputasi dapat disembunyikan dengan menambahakan semicolon “;”.
>> u = 2 + 3;
Namun demikian kita tetap dapat memanggil nilai dari variabel u dengan cara :
>> u
u =
5
8. Pendefinisian dan Operasi Matriks
Kita dapat memasukan matriks dalam MATLAB dalam beberapa cara :
· Memasukkan elemen matriks secara eksplisit
· Menjalankan matriks dari file data eksternal
· Membangun matriks dengan menggunakan fungsi built-in.
· Mendefinisikan matriks dengan m-file yang dibangun sendiri.
Starting dengan matriks Durer dengan memasukkan elemen demi elemen, dengan aturan sebagai berikut :
· Untuk memisahkan tiap-tiap elemen, gunakan space atau koma.
· Gunakan semi colon, ; (titik koma) untuk mengakhiri tiap-tiap baris.
· Lingkupi semua elemen dengan kurung siku, [ ].
Berikut matriks Durek yang kita maksudkan.
>> A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]
A =
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
>> sum(A)
ans =
34 34 34 34
Bila A suatu matriks, sum(A) berarti jumlah masing-masing kolom A. Untuk menghitung jumlah elemen pada setiap baris, kita terlebih dahulu mendefinsikan transpose A.
> A'
ans =
16 5 9 4
3 10 6 15
2 11 7 14
13 8 12 1
>> sum(A')'
ans =
34
34
34
34
merupakan vector kolom yang memuat jumlah pada setiap baris matriks A.
Jumlah pada diagonal utama diperoleh dengan menggunakan sum dan diag.
>> diag(A)
ans =
16
10
7
1
>> sum(diag(A))
ans =
34
Elemen yang terletak pada baris ke i dan kolom ke j matriks dinyatakan denganA(i,j).
>> A(1,4)
ans =
13
>> A(1,4)+A(2,4)+A(3,4)+A(4,4)
ans =
34
Jika kita memanggil elemen matriks yang melebihi dimensinya maka akan muncul pesan error.
>> A(4,5)
??? Index exceeds matrix dimensions.
Colon, : , adalah salah satu operator paling penting pada MATLAB.
Ekspresi :
> 1:10
ans =
1 2 3 4 5 6 7 8 9 10
menghasilkan vector baris yang memuat bilangan bulat dari 1 sampai dengan 10. Untuk memperoleh jarak yang tidak sama dengan satu, berikan besaran kenaikan/pengurangan. Contoh
>> 100:-7:50
ans =
100 93 86 79 72 65 58 51
>> 0:pi/4:pi
ans =
0 0.7854 1.5708 2.3562 3.1416
Ekspresi subscript yang menggunakan colon merujuk pada bagian/porsi suatu matriks.
A(k1:k2,j1:j1) : menghasilkan elemen-elemen pada matriks A mulai dari baris ke k1 sampai dengan baris ke k2 dan dari kolom ke j1 sampai dengan kolom kej2.
A(k1:k2,j) : menghasilkan vector kolom yang dibentuk oleh matriks A daribaris k1 sampai baris k2 pada kolom ke j.
A(k,j1:j2) : menghasilkan vector baris yang dibentuk oleh matriks A diambil dari baris ke k, mulai dari kolom ke j1 sampai kolom j2.
A(k,:) = menghasilkan baris k matriks A.
A(:,j) = menghasilkan kolom ke j matriks A.
> B=A(1:4,2:3)
B =
3 2
10 11
6 7
15 14
>> d=A(2,1:4)
d =
5 10 11 8
>> A(3,:)
ans =
9 6 7 12
>> A(:,2)
ans =
3
10
6
15
Cara lain untuk mendefinisikan martiks adalah dengan menggunakan fungsi-fungsi yang sudah terdefinisi pada MATLAB. MATLAB menyediakan 4 fungsi untuk membangkitkan matriks-matriks elementer yaitu
zeros
Semua elemen matriks nol
ones
Semua elemen matriks satu
rand
Elemen matriks adalah bilangan random yang dibangun oleh distribusi normal
randn
Elemen matriks adalah bilangan random yang dibangun oleh distribusi normal Elemen matriks adalah bilangan random yang dibangun oleh distribusi normal standar
>> Z=zeros(2,4)
Z =
0 0 0 0
0 0 0 0
>> F=5*ones(3,3)
F =
5 5 5
5 5 5
5 5 5
>> N=fix(10*rand(1,10))
N =
9 2 6 4 8 7 4 0 8 4
>> R = randn(4,4)
R =
-0.4326 -1.1465 0.3273 -0.5883
-1.6656 1.1909 0.1746 2.1832
0.1253 1.1892 -0.1867 -0.1364
0.2877 -0.0376 0.7258 0.1139
Bila aturan penulisan matriks sebelumnya, elemen yang dimasukkan juga matriks maka akan dihasilkan matriks baru dengan ukuran yang lebih besar.
>> B=[A A+32; A+48 A+16]
B =
16 3 2 13 48 35 34 45
5 10 11 8 37 42 43 40
9 6 7 12 41 38 39 44
4 15 14 1 36 47 46 33
64 51 50 61 32 19 18 29
53 58 59 56 21 26 27 24
57 54 55 60 25 22 23 28
52 63 62 49 20 31 30 17
>> sum(B)
ans =
260 260 260 260 260 260 260 260
Tetapi sum(B’)’, tidak semuanya sama. Coba check !
Untuk menghapus/menghilangkan baris atau kolom suatu matriks, gunakan sepasang kurung siku kosong [ ].
>> X=A;
>> X(:,2)=[]
X =
16 2 13
5 11 8
9 7 12
4 14 1
X(:,2)=[] menghilangkan kolom kedua matriks X