Minggu, 22 Februari 2009

Matlab dasar

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 tekan Enter. 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 atau angka 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) – klik Save.

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 fun disimpan 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, misalnya rank, 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 kata rank 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 bersamaan Ctrl + 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 A dinyatakan dengan A(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 ke j2.

A(k1:k2,j) : menghasilkan vector kolom yang dibentuk oleh matriks A dari baris 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.

4 komentar:

  1. mau tanya..
    kalo kita mau nyimpan data array atau matriks gmn ya?

    misal kita punya peintah

    A = 0;
    for i = 1:10
    A = 1 +A
    end

    hasil tersebut adalah 1, 2, 3,....9, 10.
    saya pingin menyimpan hasil tersebut kedalam matrik, dimana hasil tersebut dapat saya load sewaktu2.

    bagaimana cara nge save nya

    terima kasih.

    BalasHapus
  2. bagaiman cara selesaiin sebaran poisson dan sebaran normal ya???

    BalasHapus