Matlab

April 29, 2017 | Author: Surya RoGanda Situngkir | Category: N/A
Share Embed Donate


Short Description

Pengenalan Matlab...

Description

PETUNJUK PEMAKAIAN PEMAKAIAN PERANGKAT LUNAK

MatLab+Simulink

DISUSUN : EDIWAN

INSTITUT TEKNOLOGI BUDI UTOMO JAKARTA 1996

1. PENDAHULUAN

MatLab adalah suatu program komputer yang memudahkan seseorang dalam memprogram

komputer,

dengan

MATLAB

persoalan-persoalan

numeris

maupun

 perhitungan yang komplek dapat diselesaikan dengan mudah mud ah tanpa tan pa harus haru s menulis menuli s program komputer yang sangat panjang, karena Matlab menyediakan rutin siap pakai yang lengkap,  begitu juga fasilitas grafis yang langsung ditampilkan, baik 2 maupun 3 dimensi. Dengan demikian MatLab dapat melayani mahasiswa, ilmuwan dan akhli teknik seperti layaknya sebuah

“laboratorium “laboratorium”” yang cocok untuk komputasi matematika dan dibuat oleh

Perusahaan The Math Work Amerika Serikat. Program ini ditulis dengan bahasa Fortran dan dirancang untuk semua sistem operasi. MatLab adalah software untuk keperluan operasi-operasi matriks dengan elemen kompleknya, fungsi-fungsi, analisa data, polinomial, integral, deferensial, persamaan linier, non linier serta pemroses sinyal dan sebagainya, tanpa harus menuliskan program komputer yang panjang, karena MatLab telah menyediakan sekumpulan rutin siap pakai yang merupakan

algoritma-algoritma

dalam

komputasi

numeris.

Bidang

yang

dapat

memanfaatkan software ini terutama industri, teknik, ekonomi, statistik dan yang membutuhkan lainnya. Seperti halnya software-software yang lain, MatLab selalu berkembang mulai dari versi dos, windows, macintosh hingga jaringan serta fasilitas bantuan yang sewaktu-waktu dapat dipanggil jika diperlukan.

1. PENDAHULUAN

MatLab adalah suatu program komputer yang memudahkan seseorang dalam memprogram

komputer,

dengan

MATLAB

persoalan-persoalan

numeris

maupun

 perhitungan yang komplek dapat diselesaikan dengan mudah mud ah tanpa tan pa harus haru s menulis menuli s program komputer yang sangat panjang, karena Matlab menyediakan rutin siap pakai yang lengkap,  begitu juga fasilitas grafis yang langsung ditampilkan, baik 2 maupun 3 dimensi. Dengan demikian MatLab dapat melayani mahasiswa, ilmuwan dan akhli teknik seperti layaknya sebuah

“laboratorium “laboratorium”” yang cocok untuk komputasi matematika dan dibuat oleh

Perusahaan The Math Work Amerika Serikat. Program ini ditulis dengan bahasa Fortran dan dirancang untuk semua sistem operasi. MatLab adalah software untuk keperluan operasi-operasi matriks dengan elemen kompleknya, fungsi-fungsi, analisa data, polinomial, integral, deferensial, persamaan linier, non linier serta pemroses sinyal dan sebagainya, tanpa harus menuliskan program komputer yang panjang, karena MatLab telah menyediakan sekumpulan rutin siap pakai yang merupakan

algoritma-algoritma

dalam

komputasi

numeris.

Bidang

yang

dapat

memanfaatkan software ini terutama industri, teknik, ekonomi, statistik dan yang membutuhkan lainnya. Seperti halnya software-software yang lain, MatLab selalu berkembang mulai dari versi dos, windows, macintosh hingga jaringan serta fasilitas bantuan yang sewaktu-waktu dapat dipanggil jika diperlukan.

2. OPERASI DASAR Seperti yang telah disebutkan diatas bahwa MatLab mempunyai beberapa perintah yang siap pakai, yang berupa variabel, pernyataan, maupun fungsi yang dapat langsung dipergunakan. Tetapi seperti halnya program komputer lainnya, MatLab juga mempunyai  perintah-perintah dasar pemrograman sebagai berikut : Yang dipakai dalam operasi / pembuatan program Matlab : - Angka 0 1 2 3 4 5 6 7 8 9 - Abjad A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,v,q,r,s,t,u,v,w,x,y,z - Simbol + - * / . , ; ' " = $ [ ] ( ) : % ? dll Contoh : >> 2+5 >> 9-5 >> 9*23 , 67/52 >> 3*14 , 4-16 , 51+6 ; 12/7 >> A=2+7 soal 1.

>> b= 8-3 jawab : b= 5 soal 2. >>3+7 jawab 10 soal 3. >> 3*15 jawab 45 soal 4. character string menggunakan tanda (‘) >>

c=‘Selamat Datang’

>> cs=(c) atau >> c= ‘Selamat’ >>

cs=(c,’Datang’)

jawab : Selamat Datang

>> gaya=10; >> luas=2; >> tekanan=gaya*luas; >> disp(tekanan); 20 >> disp(tekanan) 20 Statement disp sama dengan print pada basic Catatan : Tanda baca koma ',' memisahkan dua perintah dalam satu baris, sedangkan tanda titik koma ';' diahir baris akan menyimpan hasil perhitungan dimemori komputer dan tidak akan menampilkan hasil perhitungan di layar serta dapat menggunakan hurup  besar atau kecil dan kedua-duanya.

3. OPERASI ARITMATIC Operasi aritmatic diperlukan untuk suatu proses aljabar yang akan dilakukan oleh komputer dimana proses ini didalam pemrograman Matlab digunakan beberapa simbol khusus yang dinamakan operator, untuk melakukan operasinya yaitu: Operator

Simbol Operasi

Tanda

Tingkatan

Penjumlahan Pengurangan Perkalian Pembagian Pangkat

+ * / ^

Plus Minus Asteris Slash

3 3 2 2 1

Contoh :

>> a=(18+6)/4 jawab : a= 6 >> 90*(23+6) , b^3 , a^(1/3)

>> a+b^2

,

c^3

>> fprintf(‘Luas= %8.3f meter kwadrat \n’,pi*4.5^2)

jawab : Luas=

63.617 meter kwadrat

Angka 8 menunjukkan disediakan 8 kolom untuk output dan pada 8 kom ada 3 desimal

4. FUNGSI STANDART MATEMATIK 4.1 Fungsi umum Untuk fungsi matematik lain, selain operasi-operasi dasar diatas maka komputer mempunyai 'perpustakaan' yang akan mengerjakan fungsi-fungsi itu berdasar 4(empat) operasi dasar ( + , - , * , / dan ^ ) diatas, fungsi-fungsi tersebut adalah :

Tabel 2.2 Fungsi dasar Matlab No

Nama variabel

Keterangan

1

abs()

Menyatakan harga mutlak, misal  x

2

sqrt()

Menyatakan akar pangkat dua, misal  x

3

exp()

Menyatakan harga eksponensial, misal e x

4

log()

Menyatakan harga ln, misal ln(x)

5

log10()

Menyatakan harga logaritma basis 10, misal log(x)

6

log2()

Menyatakan harga logaritma basis 2, missal log  x

2

Fungsi

Notasi Matematik

BahasaProgram

Akar dari x

 X  x ex  sin x cos x ln x log x, log10(x),log2(x) tg x arc tg

SQR(X)

Harga Mutlak Eksponen x Sinus x Cosinus x ln x Log x Tangen x Arcus Tg

ABS(X) EXP(X) SIN(X) COS(X) LOG(X) ALOG(X) TAN(X) ATAN(X)

contoh : 1. soal :

16

>> sqrt(16) atau >> x=16 >> sqrt (x) jawab : 4 2.

e0.25( 0.2) 0.01. 3.

>> exp(-0.25*0.2)/(0.01*sqrt(3)) jawab: 54.9192

4.2. Fungsi Trigonometri Semua fungsi trigonometri tersedia dalam paket perangkat lunak Matlab ini termasuk inversenya. Namun perlu diingat bahwa Matlab mengerjakan semua fungsi trigonometri dalam satuan radian, sehingga bila ingin ke derajat dikali pi/180 Contoh :

>> a=cos(30) jawab : a= 0.154 COS 30 = 0.866 dalam sistem derajat

>> a=sin(pi/2) jawab : a= 1 >> >> >> >> >>

sudut=90*pi/180 250/sin(pi/6) sudut=acos(0.5*sqrt(2)) sudut=sudut*180/pi sudut=atanh(0.4)

%sudut 90o dalam radian %inverse sudut 2 2  dalam radian %dalam derajat %inverse hiperbolik tangen

4.3. Logaritmik dan eksponen Matlab juga menyediakan fungsi-fungsi dasar logaritmik, akar pangkat dan eskponensial Contoh : >> log(100) >> log10(100) >> exp(0) >> log(exp(1)) >> 2^4+8^2-4*sqrt(23)

%dasar bilangan alami %dasar 10

soal : e0.25(0.2 ) .sin(2. (0.2)

0.01. 3.log(18)

>> exp(-0.25*0.2)*sin(2*pi*0.2)/(0.01*sqrt(3)*log(18)) jawab: 18.0707

1. x  y  3 log100 , dimana x = 10 dan y = 4 (jawaban = 6) 2.

sin 

3. e

o x  ln 2 , dimana  = 45  dan x = 10 (jawaban = 0.4249)

2 4



e 2 2

23  (jawaban = 54.2736)

4.4 Fungsi Khusus Seperti yang telah dijelaskan diawal bahasan ini, MatLab mempunyai mempunyai  perintah yang siap pakai seperti yang ditabelkan dibawah ini,

Fungsi

Notasi Matematik

BahasaProgram

invers matrik Eigen value determinant Transpose Jumlah Akar polinomial

invers matrik A

inv(a) eig(a) det(a) A' sum(a) roots(a)

determinan matrik a A 

Penggunaan fungsi diatas akan dibahas tersendiri, pada operasi bagian berikutnya.

5. Operasi Dasar Vector 5.1. Vector Sederhana Penulisan vector di dalam Matlab dilakukan dengan menggunakan kurung tegak '[' dan ']'. Pemisahan antara elemen-elemen vector dapat dilakukan dengan memakai tanda koma ',' atau cukup dengan spasi saja . Jika ingin membuat vector kolom (i.e. satu kolom), maka tanda pemisah adalah tanda titik koma ';'. Contoh :

>> >> >> >>

clear %menghapus semua variabel sebelumnya x=[1,2,3,4] atau x=[1 2 3 4] y=[0.1,0.2,0.3,0.4] atau y=[0.1 0.2 0.3 0.4] z=[1+2i ; 2+2i ; 3+2i ; 4+2i] %complex column vector

soal 1. >> x =[2,1,3,4] atau x=[2 1 3 4]

%baris vector 

x= 2

1

3

4

soal 2. %column vector 

>> x=[2;-4;8] jawab : x= 2 -4 8

5.2. Pembentukan Vector  Selain dengan cara di atas untuk membuat sebuah vector (i.e. dengan memasukkan satu persatu elemen-elemen vector), ada beberapa cara yang dikenal Matlab untuk membuat sebuah vector. Yaitu :

>> >> >> >>

clear x=(1:0.1:5) x=1:8 atau x=1:1:8 y=linspace(1,2,11)

>> z=logspace(-1,2,16) dengan

%vector dari 1 sampai 5 dengan spasi 0.1 %vector dari 1 sampai 8 dengan spasi 1 %vector spasi linear dari 1 sampai 2 dengan 11 elemen %vector spasi logaritmik dari -1 sampai 2 16 elemen

contoh : >> z=0:pi/3:pi jawab : z= 0.0000 >>

1.0472

2.0944

3.1416

x=1:8 atau x=1:1:8

jawab : x = 1

2

3

>> x=5:-1:1 jawab : x =

4

5

6

7

8

% kenaikan negatif atau turun 4

3

2

1

4 3 2 1 5.3. Operasi Skalar dengan Vector Operasi matematika antara vector dengan skalar tidak memerlukan perintah khusus. Contoh :

>> 2 * x – 1 ans = 9

7

5

3

1

>> x / 2 ans = 2.5000

2.0000

>> r=[tan(pi/4)

1.5000

sqrt(9)

1.0000

0.5000

-5]

jawab : r= 1.0000

3.0000

5.0000

15.0000

-5.0000

>> p=5*r jawab : p= -25.0000

5.4. Operasi Vector dengan Vector 

Operasi matematika antara vector dengan vector tidak sesederhana seperti operasi vector dengan skalar. Jika dua vector memiliki jumlah elemen yang sama, maka operasi antara dua vector tersebut akan dilakukan dengan dasar perelemen-elemen yang  bersangkutan. Contoh : >> clear, clc >> x = linspace(1,10,10) , y = linspace (1,2,10) >> x + y >> x - y

x = 1

2

3

4

5

6

7

8

9

10

1.888

2.0

>> y = linspace (1,2,10) y = 1.0 1.11 1.22 1.33 1.44 1.55 1.66

1.77

>> x+y ans = 2.0 3.11 4.22 5.33 6.44 7.55 8.66

9.77

10.88 12.0

soal 1. >> x=[2;-4;8] x = 2 -4 8 >> y=[1;3;-5] y = 1 3 -5 >> z=x+y z= 3 -1 3  Namun untuk perkalian dan pembagian matrik, notasi penulisan sedikit berbeda, yaitu dengan menambahkan titik '.' sebelum tanda kali '*' dan tanda bagi '/'.

Contoh : >>x ./ y >>x .* y

soal 1. >>x=[1 2 3]; >>y=[4 5 6] >>z=x.*y

4

10

18

Demikian pula untuk akar pangkat : 2 >> x .^ 2 berarti 1 22 4 5 >> x .^ y berarti 1  2

soal 1.

>> x=[1 2 3] ; y=[4 5 6] >> z=x.^y jawab : z= 1 32 729 >> r=x.^2 jawab : r= 1

4

9

soal 2 >>x=[1 2 3;2 4 1; 3 2 5] >>y=3 >>r=sqrt(x.^2+y^2) jawab: ?

contoh 2. E = [1 2;3 4] F = [2 3;4 5] G = E .* F E= 1 2 3 4 F= 2 3 4 5 G= 2 6 12 20 E^3 ans = 37 54 81 118

E.^3 ans = 1

8

32 36

Nilai Invers X = inv(E)  X = -2.0000 1.0000 1.5000 -0.5000 nilai eigen eig(E) ans = -0.3723 5.3723 coefficients characteristic polynomial fungsi "poly" : p = poly(E)  p = 1.0000 -5.0000 -2.0000 

5.5. Manipulasi Vector Vector baris dapat diubah menjadi vector kolum dengan perintah transpose ' '' atau dot-transpose '.''. Perbedaan antara dua perintah ini adalah pada operasi bilangan

komplek dimana transpose akan memberikan hasil komplek konjugate sedangkan dottranspose hanya akan mengubah bentuk vector tanpa mengubah elemen vector.

Contoh : >> z = [ 1+2i ; 2+2i ; 3+2i ; 4+2i] vector >> z' >> z.'

%complex column

soal1. >>r=[tan(pi/4) sqrt(9) -5] r= 1.0000 3.0000 -5.0000 >> y=r’

jawab: y= 1.0000 3.0000 -5.0000

 Namun demikian dua perintah tersebut tidak berpengaruh untuk bilangan nyata :

>> x' , x.'

5.6. Operasi Elemen Vector Setelah mempelajari operasi vector dengan skalar dan vector dengan vector, ada

Contoh :

>> >> >> >>

x(4) , y(7) %elemen ke-4 dari vector x dan elemen ke-7 dari vector y x(4) / y(10) x(3:7) %blok elemen dari elemen ke-3 sampai ke-7 dari vector x %mengubah elemen vector x yang ke-4 menjadi 0 x(4) = 0

Latihan : 1.

adalah sebuah vector yang memiliki 20 elemen dari 0 sampai dengan 2. f   juga adalah sebuah vector yang merupakan fungsi dari = sin

+ 2

dengan mengikuti persamaan :f 

(sehingga f  juga memiliki 20 elemen). Bentuklah vector

dan f 

dengan menggunakan operasi vector yang telah dipelajari di atas. 2. Bentuklah vector g dengan persamaan g = f  - 2 3. Tampilkan dalam grafik antara

dengan f  dan g dengan perintah :

>> plot ( ,f,,g,'--'); Catatan : Apabila  tidak dapat ditulis dalam Matlab, cari nama variabel yang lain.

6. SISTEM PERSAMAAN LINIER 6.1. Pembentukan Matrik Matlab merupakan perangkat lunak yang pada awalnya dikembangkan dengan menggunakan sistem persamaan matrik. Pembentukan matrik di Matlab dilakukan dengan cara menulis elemen-elemennya dan dibatasi dengan tanda kurung tegak '[' dan ']'. Penulisan di baris baru dilakukan dengan memakai tanda titik koma ';'. Contoh : 1.

>> A = [1,2,3;4,5,6;7,8,9] atau >> A = [1 2 3; 4 5 6; 7 8 9]  jawab :

1 4 

2

3

5

6

 

adalah matrik A yang merupakan matrik 3 x 3.

contoh 2. >> B = [1 0 0 1; 1 1 1 1; 1 0 1 1; 1 2 0 1]

1 1  B = 1  1

0

0

1

1

0

1

2

0

1

  1  1 1

adalah matrik B yang merupakan matrik 4 x 4 Catatan : elemen satu baris dipisahkan dengan spasi atau tanda koma ';'.

6.2. Operasi Elemen Matrik Elemen-elemen di dalam sebuah matrik dapat ditunjuk berdasarkan lokasi baris dan kolumnya. Menurut default, nomor baris mendahului nomor kolum. Contoh : > A >  >> A(3,3) >> A(2,3)=0 dengan 0 >> A(3,3) * A(1,1)

%recall matrix A %recall elemen matrik A di baris 3 kolom 3 %mengubah elemen matrik A baris 2 kolom 3 sama

soal 1. >> a=[2 3 4 1;2 4 5 6;10 2 3 5;3 2 1 0]

jawab

2 2  10  3

3

4

4

5

2

3

2

1

1

  5  0 6

>> a(1,1)+a(2,1)+a(3,1)+a(4.1)

17 >> sum(a) jawab : 17

11

13

12

6.3. Manipulasi Matrik Operasi-operasi manipulasi matrik meliputi transpose, rotate, flip atas bawah, flip kiri kanan dan sebagainya. Daftar perintah-perintah selengkapnya dapat dilihat pada reference. Contoh : >> B = A + 2 >> C = A * B, D = B * A, E = A' >> flipud(A) %flip matrik atas bawah >> size(B) %dimensi matrik B >> det(B) %determinan matrik B >> inv(B) %inverse matrik B >> [X,D)=eig(a) % nilai dan fungsi eigen Soal 1. >> a=[16 3 2 13;5 10 11 8;9 6 7 12;4 15 14 1]

a=

16 5  9  4

3

2

10

11

6

7

15

14

13

  12   1  8

>>diag(a) 16 10 7 1

% diagonal matrik a

>> sum(diag(a)) 34

% penjumlahan diagonal matrik a

>> b=a’

% transpose matrik a

16 3 2 13

5 10 11 8

9 6 7 12

4 15 14 1

>> a = [1 2 3; 4 5 6; 7 8 9]

1 4 a=   7

3

2

  9 

5

6

8

inv(a)

soal 2.

1 4   7

2 5 8

3

  9  6

  x1  10  x   5   2 =    x3    2 

ditanyakan X1, X2, X3

Cara1 >> a = [1 2 3; 4 5 6; 7 8 9] >> b = [10 ; 5;2] x=a \ b Cara2 >> c=inv(a) >> x=c*b >> a=[0 1 -1;-6 -11 6;-6 -11 5]

0 6   6

1

11 11

1  6  5  

>> [X,D]=eig(a) jawab :

D=

-1 -2 -3

X=-0.7071 0.0000 -0.7071

0.2182 0.4364 0.8729

-0.0921 -0.5523 -0.8285

7. POLINOMIAL 7.1. Pembentukan Polinomial di dalam Matlab diwakili oleh vector baris yang berisikan koefisienkoefisien dari polinomial tersebut dengan orde menurun. Contoh :

>> c = [ 1 2 3 4 ]

%artinya x3 + 2x2 + 3x + 4

Untuk mencari akar-akar persamaan polinomial di atas x3 + 2x2  + 3x + 4 = 0, Matlab menggunakan perintah

>> akar = roots(c) contoh : y=x3 -30.x +30

>> y=[1 0 -30 30] >> akar=roots(y) jawab : akar= -5.9217 4.8845 1.0372 Matlab juga memiliki perintah untuk membentuk polinomial dari akar-akarnya : Contoh :

>> clear; >> akar = [1; 2; 3; 2+i; 2-i]; >> c = poly(akar) 7.2. Operasi polinomial Perkalian polinomial dilakukan dalam Matlab dengan menggunakan perintah conv. Contoh :

>> a = [1 0 2 1]; b = [1 1 3 24]; >> c = conv(a,b) Demikian pula sebaliknya untuk pembagian polinomial dilakukan dengna menggunakan perintah deconv,

Untuk penjumlahan dan pengurangan, orde dari polinomial harus sama. Jadi  polinomial dengan orde yang lebih rendah harus diawali dengan angka nol untuk mendapatkan vector baris yang sama.

Contoh :

>> e = [1 3 4 0 7]; f = [ 1 2]; >> g = e + [0 0 0 f]

8. Grafik 2-Dimensi dan 3-Dimensi 8.1. Perintah plot Perintah plot ini dipakai untuk menampilkan grafik 2-dimensi antara dua vector. Contoh :

>> >> >> >> >> >>

x = linspace(-10,12,100); y = x.^5 - 3*exp(x) + 13*x.^2; plot(x,y); grid; xlabel('variabel x'); ylabel('variabel y'); title('Grafik Percobaan'); zoom

soal 1. >> x=0:0.1:10; >> y=sin(x) >> plot(x,y) atau >> x=0:0.1:10; >> plot(x,sin(x))

soal 2. Warna grafik r=red, g=green dll >> t=(0:0.01:10); >> y1=sin(t); >> y2=cos(t); >> plot(t,y1,'r',t,y2,'g')

Soal 3 Hrafik 3 Dimensi >> t=0:1/50:5; >> plot3(sin(t.^2),cos(t.^2,t) plot3(sin(t.^2),cos(t.^2,t)

>> z=sqrt(x.^2+y.^2);z=bessel(0 z=sqrt(x.^2+y.^2);z=bessel(0,z);m=[-45 ,z);m=[-45 60];mesh(z,m)

Soal Jawab

t= 0:0.1:16*pi; x=exp(-0.03*t).*cos(t); y=exp(-0.03*t).*sin(t); z=t; plot3(x, y, z),

8.2. Manipulasi grafik Manipulasi grafik dapat dilakukan dengan berbagai perintah yang selengkapnya dapat dilihat pada halaman referensi. Sebagai contoh di sini akan ditampilkan manipulasi garis dan marker, axis serta tampilan beberapa grafik dalam satu window Contoh :

>> >> >> >> >>

>> >> >>

clear, clc x = linspace(-10,12,100); y = x.^5 - 3*exp(x) + 13*x.^2; z = x.^4.*sin(x); plot(x,y,’g:’,x,z,’r plot(x,y,’g:’, x,z,’r --’,x,y,’y+’,x,z,’wx’); w = x.^4.*cos(2.*x); x.^4.*cos(2.*x); hold on plot(x,w,’b -’,x,w,’mo’);

Untuk menampilkan beberapa grafik dalam satu window

>>clf reset,clc >>subplot 221;plot(x,y);grid;title(‘grafik pertama’);axis

off; >>subplot 222;plot(x,z);title(‘grafik kedua’); axis(‘square’); >>subplot 223;plot(x,w);title(‘grafik ketiga’); axis(‘equal’); >>subplot 224;plot(x,x.^2-3.*x);grid;title(‘grafik terakhir’);

Matlab melengkapi perintah di dalam grafik dengan fasilitas zoom. Untuk memperbesar, gunakan tombol mouse sebelah kiri dan untuk memperkecil gunakan tombol mouse sebelah kanan.

>> zoom on Setelah selesai, untuk kembali ke ukuran semula, gunakan perintah

>> zoom out 8.3. Comet animasi dan 3-dimensi plot Contoh di bawah ini akan menunjukkan animasi comet dalam grafik 3-dimensi sesuai dengan fungsi persamaan matematika yang kita inginkan. Contoh :

>> clf reset, clc >> [x,y]=meshgrid(-3:.5:4); z= x.^4.*cos(y); >> plot3(y,z,x);

>> clf; >> meshc(z); >> clf; >> colormap(hot); >> surfl(z); Latihan : 1. Tampilkan dalam bentuk grafik persamaan y( x)  3  e 0.005x  cos 2 x , dari x = 0 sampai dengan x = 2. 2. Gambarkan sebuah bola dengan radius = 3 menurut persamaan x2 + y2 + z2 = 9.

9. Data Analisis 9.1. File operasi Perangkat lunak Matlab memiliki kemampuan untuk mengambil data mentah dalam  bentuk matrik dari sebuah sebu ah file

Contoh : Sebuah file bernama data.dat  berisi data daftar harga buah-buahan perbulan dalam satu tahun. Kolom pertama berisi data bulan, kolom kedua adalah data harga  pisang, kolom ketiga, keempat k eempat dan kelima masing-masing berisi data harga h arga buah durian, semangka dan jeruk. File ini telah disiapkan, sehingga pemindahan file ke hard disk drive masing-masing komputer dilakukan dengan cara :

>> !copy a:\data.dat Akses data dari file data.dat  ke dalam Matlab workspace dilakukan dengan menggunakan perintah load.

>> load data.dat akan menghasilkan sebuah variabel data yang berisikan data-data dari matrik file data.dat

9.2. Fungsi Statistik Fungsi statistik Matlab dapat diilustrasikan sebagian sebagai berikut : Untuk mencari harga rata-rata dari masing-masing kolom :

>> rata_rata = mean(data) Untuk mencari harga tertinggi :

>> mahal = max(data) Untuk mencari harga termurah

 murah = min(data) >>  Demikian pula untuk mencari standard deviasi dari masing-masing kolom dapat dilakukan dengan menggunakan :

>> sd = std(data) Statistik kadang lebih suka menggunakan tampilan dalam bentuk grafik balok :

>> bar(data(:,1), data(:,2:5)); Latihan : 1. Tampilkan dalam bentuk matrik perbedaan harga masing-masing buah-buahan dengan masing-masing harga rata-ratanya dalam satu tahun. 2. Tampilkan dalam bentuk grafik perbedaan-perbedaan tersebut (plot biasa)

9.3. Differensiasi dan Evaluasi

Differensiasi polinomial dapat dilakukan dengan cara :

>> polyder(e) Evaluasi persamaan polinomial dapat dilakukan dengan menggunakan perintah  polyval. Contoh : 1

>> a = [1 2 0 -23]; >> x = linspace(-3,3,100); >> hasil = polyval(a,x); >> plot(x,hasil); contoh 2 4 2 Diketahui sebuah polinomial berbentuk 3 x 4 x  p = x  x 3 dan 4. Menggunakan perintah polyval akan dievaluasi pada =

-

>> p=[1 0 3 4 5]; >> x=[-3,4]; >> polyval(p,x) ans = 101

325

Turunan Fungsi pangkat 4 Px=4 x4 + 3 x2 + 4 x + 5 Disusun dalam matrik berikut

P=[4 0 3 4 5]; Polyder(p) Ans = 16

0

6

4

Hasilnya jika dituliskan dalam bentuk ungkapan matematis 3 16 x 6 x 4

5

Turunan Untuk dua perkalian fungsi Px =( 4 x4 + 3 x2 + 4 x + 5) (2 x3 + x2 + 3 x + 1) Jawab A=[4 0 3 4 5]; B=[2 1 3 1]; P=polyder(a,b)  p = 56  p  x

24

90

= 56 x

6

60 24 x

69 5

40

90 x

4

19 60 x

3

69 x

2

40 x

19

Latihan : 1. Carilah akar-akar persamaan x4 - 2x2 + 24 = 0 2. Plot persamaan tersebut dari x = -4 sampai dengan x = 4 3. Tentukan persamaan polinomial yang memiliki akar-akar -2, 1, 3, 3-i, 3+i

10. Differential Equation 10.1. First order linear equation : Bentuk umum dari persamaan linear order pertama dapat ditulis secara umum sebagai berikut : dy dx

 P ( x) y  Q ( x )  

1.1

untuk menyelesaikan persamaan di atas, langkah pertama yang dilakukan adalah memperoleh faktor integrasi   dengan menyelesaikan persamaan (1.2)

  e

  P (x )d x

 

1.2

Dengan mengalikan faktor integrasi ini dengan persamaan (1.1), maka akan diperoleh d dx

 y  Q( x)  

1.3

Persamaan y(x) yang merupakan penyelesaian persamaan linear order pertama (1.1) dapat diketahui dengan menyelesaikan persamaan (1.3). Langkah demikian harus ditempuh untuk dapat menyelesaikan persamaan (1.1) secara analitik. Namun perangkat lunak Matlab menyediakan kemudahan dengan memberikan fasilitas penyelesaian ordinary differential equation secara numerik dengan menggunakan perintah ode23 atau ode45. Untuk menyelesaikan persamaan (1.1) dengan menggunakan Matlab, langkah  pertama adalah membuat bentuk eksplisit dy dx

  P( x ) y  Q ( x )  

1.4

Kemudian membuat fungsi dalam Matlab m-file sebagai berikut :

function dy_dx = firstode(x,y) dy_dx = [- P(x)y + Q(x)]; Untuk memperoleh simulasi dari persamaan linear order pertama ini, perintah yang

%batas bawah x0=0; xf=1; %batas atas y0=[1]; %initial condition y(0) [x,y] = ode23('firstode',x0,xf,y0);

>> >> >> >> atau

>> [x,y] = ode45('firstode',x0,xf,y0); Contoh 1 Selesaikan persamaan differensial linear order pertama dy dx 1.5

 xy  x  , dengan kondisi awal  y(0) = 3

Analitik :

 P ( x) = x and Q( x) = x

 jadi x xdx   e  e

2

2

sehingga d

 dx

ye x

2

2

  xe x

2

2

 persamaan akhir dengan memperhitungkan kondisi awal : y( x)  2e  x

2

2

1

1

M atlab :

Bentuk eksplisit : dy dx

  xy  x , dengan kondisi awal y(0) = 3

Fungsi dalam Matlab m-file (click File, New, M-file )

function dy_dx = firstode(x,y) dy_dx = [-x*y+x]; M-file ini harus diberi nama (Save As) firstode.m    sesuai dengan nama fungsi. Kemudian invoke Matlab command window dengan perintah-perintah :

>> >> >> >>

%batas bawah x0=0; xf=1; %batas atas y0=[3]; %initial condition y(0) [x,y] = ode23('firstode',x0,xf,y0);

Untuk membandingkan hasil perhitungan numerik Matlab dengan hasil exact analitik, dapat dilakukan dengan

>> exact=2*exp(-(x.^2)./2)+1; >> error=y-exact >> plot(x,error); grid;

Contoh 2 a Sebuah roket jatuh bebas dari ketinggian 600 m dengan massa roket 80 kg ditulis seperti  persamaan dibawah ini, dV  =f(t,v) dt  4 2 dV  m = -m g + .V  15. dt  dV  dt 

  g  

4 V 2 15 m

  diganti

function rk=f(t,v) m=80; g=9.81; rk=-g+4/15*v^2/m;

dy dt 

=f(t,y)

% f(0)=0

simpan dalam file f.m >> clear all >>timerange=[0 30]; >>initialvelocity=0; >> [t,v]=ode45(@f,timerange,initialvelocity) >>plot(t,v)

table=[t,y]

tabel = 0 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0001 0.0001 0.0003 0.0004 0.0005 0.0160 0.0320 0.0480 0.0640 0.0800 0.1600 0.2400 0.3201 0.4001 0.8002 1.2002 13.2504 14.0004 14.7504 15.5004 16.2504 17.0004 17.7504 18.5004 24.5004 25.2504 26.0004 26.7504 27.5004 28.2504 29.0004 29.2503 29.5002 29.7501 30.0000

0 -0.0001 -0.0001 -0.0002 -0.0002 -0.0005 -0.0007 -0.0010 -0.0012 -0.0025 -0.0037 -0.0050 -0.1569 -0.3139 -0.4709 -0.6279 -0.7849 -1.5694 -2.3534 -3.1363 -3.9179 -7.7954 -11.5929 -53.3582 -53.5669 -53.7290 -53.8527 -53.9462 -54.0174 -54.0727 -54.1148 -54.2340 -54.2376 -54.2404 -54.2425 -54.2442 -54.2454 -54.2464 -54.2466 -54.2469 -54.2471 -54.2473

Soal 2 a perbaikan Tabel diatas menampilkan waktu dari 0 s/d 30 detik, untuk menampilkan sesuai keinginan seperti program dibawah ini, >> t=[0,0.1,0.2,0.3]; >> i=0; >> [t,y]=ode45(@f,t,i); >> table=[t,y] table = 0 0 0.1000 -0.9809 0.2000 -1.9611 0.3000 -2.9401 Soal 2 dy  (1   x) y 2 dx

2

atau y’=(1-x)y  dengan y(0)=1.5

function rk=f(x,y) rk=(1-x)*y^2; simpan f.m >> t=[0 0.1 0.2 0.3]; >> i=1.5; >> [x,y]=ode45(@f,t,i)

>> tabel=[x,y] tabel = 0 0.1000 0.2000 0.3000

1.5000 1.7493 2.0548 2.4291

Soal y˙ = −1000y + 1000 sin(t) + cos(t) with

y (0) = 1

10.2. Second and higher order linear differential equation Penyelesaian persamaan differensial orde dua dilakukan dengan mengubah orde dua tersebut menjadi orde pertama dengan mensubstitusikan variabel baru.

Contoh :

  cx  kx  0 Persamaan mx 1.8 dapat diselesaikan dengan menggunakan Matlab dengan memperkenalkan variabel  baru, y. y 1   x ,

y1  x

y 2   x ,

y2  x

1.9 Bentuk eksplisit dari persamaan (1.8) di atas adalah :

 x 

c m

 x

k  m

x

1.10 Substitusikan (1.9) ke dalam (1.10), sehingga memperoleh vektor kolom turunan y :

y2   y1   k    c  y2    y 2   y 1  m

m

1.11

Membuat fungsi dalam Matlab m-file (click File, New, M-file )

function dy_dx = two_ode(t,y); c = 1000; k = 10000; m = 2; dy_dx = [y(2); -c*y(2)/m-k*y(1)/m]; M-file ini harus diberi nama (Save As) two_ode.m    sesuai dengan nama fungsi. Kemudian invoke Matlab command window dengan perintah-perintah :

>> >> >> >>

%batas bawah t0=0; tf=0.1; %batas atas x0=[0;1]; %initial condition x(0) dan x (0) [t,y] = ode23('two_ode',t0,tf,x0);

Untuk orde tiga dan seterusnya, jumlah variabel baru yang dimasukkan tinggal ditambah saja. Latihan : 1. Selesaikan persamaan

(0)  1

d2 dt

2. Selesaikan persamaan dx dy

(0)

 1 dan x(0) = 0

2

d 3x dy 3

g

   0 , di mana g = 9.81, l = 2 dan (0) = 0 dan l

 2x

d2x dy 2

 24  0 , dengan kondisi awal

d2x dy 2

(0)   0 ,

10.3 Pencocokan kurva (Interpolasi)

Dari hasil eksperimen diperoleh data sebagai berikut x

1

2

3

4

5

6

7

8

9

10

y

1.3

3.2

11.3

15.1

25.5

38.2

47.1

68.2

81.3

98.2

P=0.9284X2+0.7693X-1.0350

Untuk polyvit(x,y,4) 0.9003 4.6209 9.4910 16.2300 25.2556 36.6836 50.3280 65.7013 82.014 98.1752

1

 pengenalan perangkat lunak Matlab

2

Praktek ITBU - Ediwan

3

 pengenalan perangkat lunak Matlab

4

Praktek ITBU - Ediwan

5

 pengenalan perangkat lunak Matlab

6

Praktek ITBU - Ediwan

7

 pengenalan perangkat lunak Matlab

8

Praktek ITBU - Ediwan

9

11. Script File : Matlab M-file 11.1 . M-File Matlab M-file sebenarnya hanyalah sekumpulan perintah-perintah Matlab yang dijadikan satu dalam sebuah text file. Text editing dapat dilakukan dengan menggunakan berbagai word  processor. Untuk membuat Matlab M-file, click File, New, M-file sehingga keluar notepad window. Kemudian tuliskan perintah-perintah yang diinginkan. Setelah selesai, kembali click

File dan Save. Berikan nama apa saja (8 karakter maksimum) dengan extension .m  . Setelah itu kembali ke Matlab command window dan jalankan program dengan mengetik nama file tersebut tanpa extensionnya. Contoh : 1. Click File, New, M-file 2. Ketik di dalam notepad window clear; clc; disp('Contoh Matlab M-file'); disp('tekan apa saja ...'); pause; clc;

disp('operasi penjumlahan dan pengurangan'); x = 3, y = 10, z = 34 p = x + y + z disp('tekan apa saja ...'); pause; clc; disp('operasi trigonometri dan apa saja ...'); sin(x) + exp(y) - log(z) disp('tekan apa saja ...'); pause; disp('end .......'); 3. Click File, Save 4. Ketik nama file test1.m  5. Kembali ke Matlab command window dan ketik

>> test1 Latihan : 1. Gambarkan grafik y(x) = sin 2x, dari x = -2 sampai x = 2, menggunakan Matlab M-file dengan nama sinus.m  pengenalan perangkat lunak Matlab

10

11.2. Pemrograman Komputer Pemrograman di dalam Matlab sangat mudah. Apalagi jika sudah pernah mengenal  bahasa pemrograman sebelumnya, seperti Basic atau Pascal. Berikut ini akan ditampilkan  program interaktive dalam Matlab M-file (meminta input). Contoh : Seandainya kita memiliki sebuah persamaan posisi mobil pada saat t detik y( t )

 V0 t 

1 2

at 2 sin t  

1.12

di mana V0 adalah kecepatan awal mobil dan a adalah percepatan. Dalam kurun waktu t = 0 sampai dengan t = 10 detik, kita ingin mengetahui posisi mobil  berdasarkan masukan kecepatan awal dan percepatan. Langkah pemrograman : Buka New Matlab M-file dengan cara click File, New, M-file. Tulis di dalamnya

%Program Posisi Mobil %menurut persamaan y=V0.*t+.5*a.*t.^2.*sin(t) %grafik posisi mobil dari t=0 sampai t=10 clear; close; input('Kecepatan awal V0 = '); V0 = ans; input('Percepatan = '); a = ans; t=linspace(0,10,100); y=V0.*t+.5*a.*t.^2.*sin(t); figure; plot(t,y); grid; xlabel('waktu t detik'); ylabel('posisi y meter'); temptext=['Grafik posisi mobil, V0=',int2str(V0),', a=',int2str(a)]; title(temptext); Kemudian ke File, Save As : mobil.m Setelah kembali ke Matlab command windows, ketik >> mobil Latihan : Praktek ITBU - Ediwan

11

1. Tiga orang telah berbelanja komputer, laptop dan software. Si Anto membeli masing-masing 3, 2 dan 1, Ira membeli 5 komputer dan 3 software dan Toto membeli masing-maing 2, 4 dan 12. Buatlah program perhitungan harga masing-masing barang berdasarkan variabel harga total yang dibayarkan oleh ketiga orang tersebut. Tanyakan kepada user untuk memasukkan nilai x, y dan z yang merupakan harga keseluruhan yang dibayar Anto, Ira dan Toto. Kemudian hitung harga masing-masing barang.

3  persamaan matematikanya : 5  2

2 0 4

1   komputer 

x   laptop   y 3     12  software   z 

11.3. Flow Control Sering kita temui dalam bahasa pemrograman flow control yang mengatur alur dari  program yang kita buat. Dalam Matlab ada tiga macam flow control yang sama dengan Pascal, yaitu : 1. For Bentuk umum dari For adalah :

for x = array commands end Contoh :

for x = 1:10 for y = 10:-1:1 z = sin(x)+cos(y); end; end; 2. While Bentuk umum dari While adalah :

While pernyataan commands end Contoh :

x = linspace(1,100);  pengenalan perangkat lunak Matlab

12

while y < 10 y = sin(x) + x; end; 3. If-else Bentuk umum dari If-else  adalah :

if pernyataan1 commands dikerjakan apabila pernyataan1 benar elseif pernyataan2 commands dikerjakan apabila pernyataan2 benar else commands dikerjakan apabila tidak ada yang benar end input('Nilai = ');N= ans; if N>=60 disp ('Saudara LULUS'); else disp('Saudara TDK LULUS'); end;

Praktek ITBU - Ediwan

13

Contoh 2:

input('harga apel = '); apel = ans; if apel > 2000 diskon = 0.10; else diskon = 0; end; apel = apel * (1-diskon) end; Contoh 3 input('A='); ans; input('A='); A a= =ans; input('B='); b= ans; input('B='); B= ans; input('C='); c =ans; ans; input('C='); C= if a==0 if A==0 X=-c/b X=-C/B else else d=b^2-4*a*c D=B^2-4*A*C; if d> simulink Alternately, you may click on the Simulink icon located on the toolbar as shown:

Simulink's library browser window like one shown below will pop up presenting the block set for model construction.

Praktek ITBU - Ediwan

21

To see the content of the blockset, click on the "+" sign at the beginning of each toolbox. To start a model click on the NEW FILE ICON as shown in the screenshot above. Alternately, you may use keystrokes CTRL+N. A new window will appear on the screen. You will be constructing your model in this window. Also in this window the constructed model is simulated. A screenshot of a typical working (model) window is shown below:

 pengenalan perangkat lunak Matlab

22

To become familiarized with the structure and the environment of Simulink, you are encouraged to explore the toolboxes and scan their contents. You may not know what they are all about at first, but perhaps you could catch on the organisation of these toolboxes according to their categories. For instance, you may see that the Control System toolbox consists of the Linear Time Invariant (LTI) system library and the MATLAB functions can be found under Function and Tables of the Simulink main toolbox. A good way to learn Simulink (or any computer  program in general) is to practice and explore. Making mistakes is part of the learning curve. So, fear not you should be! A simple model is used here to introduce some basic features of Simulink. Please follow the steps below to construct a simple model. STEP 1: CREATING BLOCKS. From BLOCK SET CATEGORIES section of the SIMULINK LIBRARY BROWSER window, click on the "+" sign next to the Simulink group to expand the tree and select (click on) Sources.

A set of blocks will appear in the BLOCKSET group. Click on the Sine Wave block and drag it to the workspace window (also known as model window).

Praktek ITBU - Ediwan

23

 Now you have established a source of your model.  NOTE: It is advisable that you save your model at some point early on so that if your PC crashes you wouldn't loose too much time reconstructing your model. This is among the reasons why I  prefer Linux or Unix! I am going to save this model under the filename: "simexample1". To save a model, you may click on the floppy diskette icon . or from FILE menu, select Save or using keystrokes CTRL+S. All Simulink model file will have an extension ".mdl". Simulink recognises file with .mdl extension as a simulation model (similar to how MATLAB recognises files with the extension .m as an MFile). Continue to build your model by adding more components (or blocks) to your model window. We'll continue to add a Scope from Sinks library, an Integrator block from Continuous library, and a Mux block from Signal Routing library.  NOTE: If you wish to locate a block knowing its name, you may enter the name in the SEARCH WINDOW (at Find prompt) and Simulink will bring up the specified block. To move the blocks around, simply click on it and drag it to a desired location. Once you've dragged over all necessary blocks, the workspace window should consist of the following components:

 pengenalan perangkat lunak Matlab

24

You may remove (delete) a block by simply clicking on it once to turn on the "select mode" (with four corner boxes) and use the DEL key or keys combination CTRL-X. STEP 2: MAKING CONNECTIONS To establish connections between the blocks, move the cursor to the output port represented by ">" sign on the block. Once placed at a port, the cursor will turn into a cross "+" enabling you to make connection between blocks. To make a connection: left-click while holding down the control key (on your keyboard) and drag from source port to a destination port. The connected model is shown below.

A sine signal is generated by the Sine Wave block (a source) and is displayed by the scope. The integrated sine signal is sent to scope for display along with the original signal from the source via the Mux, whose function is to mutiplex signals in form of scalar, vector, or matrix into a bus. STEP 3: RUNNING SIMULATION You now may run the simulation of the simple system above by clicking on the play button . Alternately, you may use keystrokes CTRL+T, or choose Start submenu (under Simulation menu). Praktek ITBU - Ediwan

25

Double click on the Scope block to display of the scope.

To view/edit the parameters, simply double click on the block of interest. Handling of Blocks and Lines The table below describes the actions and the corresponding keystrokes or mouse operations (Windows versions).

Annotations

 pengenalan perangkat lunak Matlab

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF