Modul Praktikum-matlab 2011new
description
Transcript of Modul Praktikum-matlab 2011new
-
MODUL PRAKTIKUM PIK 4410
PENERAPAN KOMPUTER PADA ILMU KELAUTAN Matlab Tutorial
Oleh: Onward Dimar K Nugraha
Prodi Ilmu Kelautan Fakultas Perikanan dan Ilmu Kelautan
Universitas Brawijaya 2011
-
i
Kata Pengantar
Kata computer tidak terlepas dari kata asalnya to compute, sehingga dengan demikian matematika sebagai ilmu dasar tidak dapat dipisahkan dengan penerapan komputer, khususnya di bidang ilmu kelautan. Ilmu Kelautan adalah sebuah cabang ilmu yang berkaitan secara menyeluruh (holistic) dari berbagai bidang ilmu-ilmu lainnya. Pengetahuan bidang keilmuan lain, seperti: kimia, fisika, biologi, matematika, teknik, manajemen, statistik, rekayasa teknologi, meteorologi dan klimatologi, oceanografi, remote sensing, pesisir dan pantai adalah merupakan syarat yang tidak bisa dihindari dalam rangka memahami bidang kelautan yang komprehensif. Modul praktikum ini disusun sebagai dasar acuan praktikum mahasiswa Ilmu Kelautan di Universitas Brawijaya, yang merupakan suatu modal usaha pembelajaran perhitungan matematika dengan menggunakan komputer. Kemampuan dasar ini diharapkan dapat menunjang mata kuliah lain, seperti: fisika dan kimia oceanografi, pemetaan dan penginderaan jarak jauh, pengolahan data statistik, geologi laut, proses-proses pantai dan tugas akhir. Selamat belajar dan semoga bermanfaat.
Onward Dimar K Nugraha
-
ii
Daftar Isi
Kata Pengantar ................................................................................................. i Daftar Isi .......................................................................................................... ii Matlab Dasar ................................................................................................... 1
1.1. Notasi di Matlab ..................................................................................... 1 1.2. Fungsi Trigonometri .............................................................................. 2 1.3. Konstanta khusus .................................................................................. 3 1.4.Operasi matriks ...................................................................................... 4
1.4.1. Operasi perkalian matriks ............................................................... 5 1.4.2. Matrik identitas (I) ........................................................................... 5
Grafik/Figure .................................................................................................... 6 2.1. Plotting grafik ......................................................................................... 6 2.2. Membuat Subplot .................................................................................. 9 2.3. Membuat plotting 3D ............................................................................. 9
Persamaan Linear dan Polinomial ................................................................. 12 3.1. Menyelesaikan Persamaan Matematika .............................................. 12
3.1.1. Persamaan Linear (Orde derajat 1) .............................................. 12 3.1.2. Persamaan Kuadrat (Orde derajat 2) ............................................ 12 3.1.3. Persamaan Orde Derajat Tinggi ................................................... 14
3.2. Menyelesaikan persamaan linear dengan solve method ..................... 14 3.3. Fungsi Polinomial ................................................................................ 15
3.3.1. Fungsi polyval ............................................................................... 15 3.3.2. Fungsi Polyfit ................................................................................ 16 3.3.3. Fungsi polyder .............................................................................. 18 3.3.4. Fungsi roots .................................................................................. 19 3.3.4. Fungsi poly ................................................................................... 19 3.3.5. Fungsi conv .................................................................................. 20 3.3.6. Fungsi deconv .............................................................................. 20
Persamaan Differensial .................................................................................. 22 4.1. Menggunakan ode23 ........................................................................... 22 4.2. Menggunakan ode45 ........................................................................... 22 4.3. Studi kasus dalam menggunakan sebuah persamaan differensial ...... 23
Matriks ........................................................................................................... 25 5.1. Determinan Matriks ............................................................................. 25 5.2. Menyelesaikan persamaan linear dengan matriks .............................. 25
5.2.1. Cara 1 dengan determinan ........................................................... 25 5.2.2. Cara 2 dengan matriks diperbesar / Augmented matrix ................ 25 5.2.3. Cara 3 dgn matriks invers ............................................................. 26
Statistik .......................................................................................................... 28 6.1. Pengolahan Data Statistik ................................................................... 28 6.2. Membuat persamaan matematika dari sampling data ......................... 30
Soal-Soal Tugas ............................................................................................ 35
-
1
Matlab Dasar
1.1. Notasi di Matlab
Notasi Matematika
Freemat/Matlab
A x B
BA
Ab
A
Log a
AB
A * B A / B
A^b SQRT(A) Log (a) Pi A \ B
Perintah (syntax) di matlab ; =sesudah baris persamaan artinya hasil hitungan tidak segera
ditampilkan di layar clear = membersihkan / reset dari awal
Matlab tidak memerlukan deklarasi variabel atau pernyataan dimensi pada setiap variabel yang akan digunakan dalam sebuah program komputer. Variabel dalam Matlab secara otomatis akan dibuat dan disimpan setiap kali Matlab menemukan nama variabel baru. Disamping itu, hal yang sangat penting untuk diingat bahwa variabel Matlab bersifat case sensitif, artinya antara huruf besar dengan huruf kecil dibedakan. Dibawah ini diberikan beberapa aturan penulisan variabel dalam Matlab:
1. Variable tidak boleh diawali dengan angka, misalnya 2abc, 45y, 3ok43 2. Variabel dapat merupakan kombinasi antara huruf dan angka,
misalnya ok45, ok45ok, abc432 dsb 3. Variabel tidak boleh menggunakan karakter khusus Matlab, misalnya
%, #, -, +, = , dsb. Misalnya %ok, net-cost, %x, @sign dsb.
-
2
4. Hindari memberikan nama variabel dengan nama-nama khusus yang ada di Matlab, misalnya hindari memberikan nama variabel dengan nama pi, eps, i, j. Karena pi=22/7, eps= 2 54 , i dan j memiliki harga 1.
5. Disarankan pembuatan variabel singkat tetapi penuh makna (informatif). Hal ini untuk menghindari kesalahan penulisan variabel yang berulang-ulang.
Perintah tambahan yang berguna untuk pemrograman a) clc: menghapus layar di command window b) close all: menghapus semua gambar yang tampil sebelumnya. c) clear: perintah untuk menghapus data di memori Matlab d) cd: perintah untuk mengubah direktori e) pwd: perintah untuk mengetahui kita berada di direktori mana pada
saat ini. f) dir: perintah untuk mengetahui file apa saja yang ada di current
directory g) mkdir: perintah untuk membuat direktori dibawah current direktori h) delete: perintah untuk menghapus file i) who: menampilkan semua variabel saat ini. j) whos: menampilkan semua variabel saat ini bersama dengan informasi
tentang ukuran, bytes, class dll k) what: menampilkan semua file dengan ekstensi .M (M-File)
1.2. Fungsi Trigonometri Ada beberapa fungsi trigonometri yang kita kenal dalam matematika. Fungsi-fungsi tersebut masuk ke dalam fungsi bawaan Matlab. Fungsi-fungsi trigonometri tersebut antara lain: sin(), cos(), tan(), sinh(), cosh(), tanh(), asin(), acos(), atan(), asinh(), acosh()dan atanh(). Disamping fungsi trigonometri, fungsi-fungsi dasar juga penting. Beberapa fungsi dasar tersebut antara abs(), sqrt(), exp(), log(), log10(), log2(). Untuk lebih jelasnya, lihat tabel dibawah ini:
-
3
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 ex 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, misal
2log x
1.3. Konstanta khusus Di Matlab ada beberapa konstanta khusus yang mana sebaiknya dihindari untuk didefinisikan kembali sebagai konstanta. Beberapa konstanta khusus tersebut antara lain:
No Nama variabel Keterangan
1 pi 3.14159265...
2 i Unit imajiner, -1 3 j Sama dengan i 4 eps Ketelitian relatif floating-point
5 realmin Bilangan floating-point terkecil
6 realmax Bilangan floating-point terbesar
7 inf Bilangan tak hingga
Contoh 1:
Hitung volume bola
=
3
34
rV pi , dimana r = 2 m
>> r = 2;
-
4
>>V = (4/3)*pi*r^3
Membuat interval baris bilangan >> x = [0:2:10] >> x = [0:0.1:1]
Membuat matriks >> A = [2;1;4] matrik kolom >> B = [2 0 4] matrik baris >> C = [1,1,9] matrik baris
1.4.Operasi matriks Contoh 1:
>> A = [-1,6;7,11] >> B = [2,0,1;-1,7,4;3,0,1] >> C =2*A
Contoh 2:
>> A = [5 1;0 9]; >> B = [2 -2;1 1]; >> A + B >> A B >> A transpose matrik A (AT)
Contoh 3: >> A = [2;1;4]; >> W = [ 3,0,3]; >> Y = a >> X = [2,1,1]; >> K = [1;4;5]; >> Y = W - X >> L = [2;3;3]; >> M = K + L
-
5
1.4.1. Operasi perkalian matriks >> A = [ 2 1;1 2]; >> B = [3 4;5 6]; >> A * B perkalian matriks >> A .* B bukan perkalian matriks, hy perkalian bilangan dlm
matriks
1.4.2. Matrik identitas (I) Untuk membuat matrik identitas, dengan cara: >> eye(4) matriks identitas dimensi 4 x 4
Latihan: 1. Hitunglah dengan menggunakan Matlab:
a. 4
115
b. 73385 +
c. 91.25
2. Carilah volume silinder hrV 2pi= , dimana tinggi=12 cm dan diameter=14cm
-
6
Grafik/Figure
2.1. Plotting grafik
Freemat dan Matlab juga menyediakan fasilitas untuk membuat grafik dari suatu persamaan.
Membuat grafik fungsi y = cos (x) untuk 0 x 10 >> x = [0:0.1:10]; artinya nilai x dari 0 s/d 10 dgn interval 0.1 >> y = cos(x); >> plot(x,y)
Membuat label >> x = [0:0.01:10]; >> y = cos(x); >> plot(x,y), xlabel(x), ylabel(cos(x))
Membuat grid >> x = [-6:0.01:6]; >> y = tanh(x); >> plot(x,y), grid on
Menggabungkan beberapa fungsi dalam satu plot misal fungsi f(t)= e-t dan g(t)= e-2t >> t = [0:0.01:5]; >> f = exp(-t); >> g = exp(-2*t); >> plot(t,f,t,g,--)
Keterangan: Untuk bentuk garis:
Solid line - Dashed line -- Dashed dot line -.
-
7
Dotted line :
Jadi jika ingin membuat garis yang berbeda, maka: >> plot(t,f,:,t,g,--)
Membuat legenda
>> x = [0:0.01:2];
>> y = sinh(x);
>> z = cosh(x);
>> plot(x,y,x,z,-.),xlabel(x),ylabel(potential), legend(sinh(x),cosh(x))
Mensetting warna:
>> x = [-5:0.01:5];
>> y = sinh(x);
>> z = cosh(x);
>> plot(x,y,r,x,z,b) atau >> plot(x,y,r,x,z,b--)
Keterangan:
Warna Variabel
White
Black
Red
Cyan
Green
w
b
r
c
g
-
8
Magenta
Yellow
m
y
Setting skala sumbu axis
Axis([xmin xmax ymin ymax])
Contoh 1:
Y = sin(2x+3) utk 0 x 5 , -1 y 1
>> x = [0:0.01:5];
>> y = sin(2*x+3);
>> plot(x,y),axis([0 5 -1 1])
Contoh 2:
Y = e-1.5x sin(5x+3) untuk 0 x 5, -1 y 1
>> x = [0:0.01:5];
>> y = exp(-1.5*x.*sin(5*x+3); .* digunakan utk perkalian 2 fungsi
>> plot(x,y),axis([0 5 -1 11])
Ingat!!
Untuk mengoperasikan dua fungsi, gunakan:
.* utk perkalian
.^ utk pangkat
Misal:
-
9
Y = sin2(5x) jadi
>> y = sin(5*x).^2;
2.2. Membuat Subplot
Membuat beberapa grafik dalam satu plot
Contoh:
Y = e-1.2xsin(20x)
Y = e-2x-sin(20x)
>> x = [0:0.01:5];
>> y = exp(-1.2*x).*sin(20*x);
>> subplot(1,2,1)
membuat 2 pane dlm 1 row
>> plot(x,y),xlabel(x),ylabel(exp(-1.2x)*sin(20)),axis([0 5 -1 11])
>> y = exp(-2*x).*sin(20*x);
>> subplot(1,2,2)
>> plot(x,y),xlabel(x),ylabel(exp(-2x)*sin(20x)),axis([0 5 -1 11])
2.3. Membuat plotting 3D
Contoh 1:
Z = cos(x)sin(y) utk -2 x, y 2
>> [x,y] = meshgrid(-2*pi:0.1:2*pi);
-
10
>> z = cos(x).*sin(y);
>> mesh(x,y,z),xlabel(x),ylabel(y),zlabel(z)
Contoh 2:
22 yxyez +=
>> [x,y]=meshgrid(-2:0.1:2);
>> z = y.*exp(-x.^2-y.^2);
Perintah mesh:
>> mesh(x,y,z),xlabel(x),ylabel(y),zlabel(z)
Jika ingin membuat surface plot, gunakan:
>> surf(x,y,z),xlabel(x),ylabel(y),zlabel(z)
Pilihan lain, gunakan surfl:
>> surfl(x,y,z),xlabel(x),ylabel(y),zlabel(z)
Contoh 3:
Contoh berikut hanya dapat dilakukan di Matlab, menggunakan cylindrical plot
>> t = [0:pi/10:2*pi];
>> [x,y,z] = cylinder(1+sin(t);
>> surf(x,y,z)
>> axis square
-
11
Contoh 4:
>> t = [0:pi/10:2*pi];
>> [x,y,z] = cylinder(1+cos(t);
>> surf(x,y,z)
>> axis square
shading faceted
Pelajari perintah-perintah 3D lainnya di matlab dengan menu help atau ketik help nama_fungsi. Syntax-syntax tersebut antara lain adalah: ezplot3, ezsurf, ezsurfc, ezmesh, emeshc, ezcontour dan ezcontourf.
Contoh 5:
Menggambar fungsi (x,y,z)= (sin(2t), cos(2t),t) dimana t 0
>> ezplot3 (cos(2*pi*t),sin(2*pi*t),t,[0.5])
Contoh 6:
Menggambar grafik 3D dari suatu fungsi
>> ezsurf ((x*y*exp((-x^2+y^2)))
LATIHAN: Buatlah plot grafik x-y (2D) dari persamaan berikut: x=sin(t), y1=sin(t+0.25), y1=cos(t-0.25) untuk 0 t 2.
-
12
Persamaan Linear dan Polinomial
3.1. Menyelesaikan Persamaan Matematika
Penyelesaian dengan menggunakan solve method :
3.1.1. Persamaan Linear (Orde derajat 1)
Contoh 1:
Selesaikan persamaan x+3=0, x+8=0
>> x = solve(x+3=0) cara 1
>> x = solve(x+8) cara 2
Contoh 2:
Selesaikan persamaan ax+5=0
>> x = solve(ax+5)
Contoh 3:
Menggunakan solve(equation, variable)
>> x = solve(ax+5,a)
3.1.2. Persamaan Kuadrat (Orde derajat 2)
Contoh 1:
Selesaikan x2-6x-12=0
-
13
>> s = solve(x^2=6*x-12=0)
Contoh 2:
>> d = x^2-6*x-12;
>> solve(d)
>> ezplot(d) cara mudah membuat plot grafik
Contoh 3:
Membuat grafik persamaan linear
>> ezplot(x+3)
Contoh 4:
Cari akar-akar dari persamaan x2+x-2=0
>> y = x^2+x-sqrt(2) atau y = x^2+x-2^1/2;
>> s = solve(y)
Hasil yang keluar susah dimengerti, oleh karena itu dapat dikonversi menjadi bilangan desimal, dengan cara:
>> x = double(s(1))
>> y = double(s(2))
Kemudian buat plotnya
>> ezplot(y)
-
14
3.1.3. Persamaan Orde Derajat Tinggi
Contoh 1:
Selesaikan persamaan berikut
4x4-5x3+4x2-5x+6=0 untuk -10x10
Solusinya:
>> y = x^4-5*x^3+4*x^2-5*x+6; >> s = solve(y); >> a = double(s(1)) akar ke-1 >> b = double(s(2)) akar ke-2 >> c = double(s(3)) akar ke-3 >> d = double(s(4)) akar ke-4 >> ezplot(5,[-10 10]), grid on
Contoh 2: Carilah akar-akar persamaan dari: X3+3x2-2x-6=0 untuk -8x8, -8y8 Solusinya: >> f = x^3+3*x^2-2*x-6; >> s = solve(f) >> ezplot(f,[-8,8,-8,8]), grid on
Latihan: Carilah akar-akar persamaan dari 2t3-t2+4t-6=0
3.2. Menyelesaikan persamaan linear dengan solve method
Contoh 1: Carilah nilai x dan y dari persamaan berikut: 5x+4y=3 x-6y=2
-
15
Solusinya: >> s = solve(5x+4y=3,x-6y=2); >> x = s.x
>> y = s.y menggunakan notasi (.) / dot
Contoh 2: Selesaikan persamaan berikut: w+x+4y+3z=5 2w+3x+y-2z=1 w+2x-5y+4z=3 w-3z=9
Solusinya: >> s1=w+x+4y+3z=5; >> s2=2w+3x+y-2z=1; >> s3=w+2x-5y+4z=3; >> s4=w-3z=9; >> s=solve(S1,S2,S3,S4); >> w=s.w
>> x=s.x
>> y=s.y >> z=s.z
3.3. Fungsi Polinomial
3.3.1. Fungsi polyval Fungsi polyval digunakan untuk menentukan nilai sebuah polinomial dalam bentuk p(x)=a0 + a1 x1 + a2 x2 + a3 x3 + a4 x4 +...+an-1 xn-1 + an xn Matlab memiliki cara sederhana untuk menyatakan polinomial seperti dia tas dengan cara
p >an an?1 ... a3 a2 a1 a0 @
-
16
Contoh
Diketahui sebuah polinomial berbentuk px) x43x24x5 akan dievaluasi pada x 2, ?3 dan 4. Jawab ?Pertama, kita nyatakan polinomial yang akan dievaluasi berbentuk p=[1 0 3 4 5]. ?Kedua, kita nyatakan titik evaluasi yaitu x=[2,-3,4] ?Ketiga, mengevaluai polinomial pada x, yaitu polyval(p,x) Jika ditulis dalam command window >> p=[1 0 3 4 5]; >> x=[2,-3,4]; >> polyval(p,x)
3.3.2. Fungsi Polyfit Jika kita telah memperoleh hasil dari sebuah eksperimen, maka kadang kita perlu mencocokan dengan bentuk fungsi apa data yang telah diperoleh. Mungkin saja cocok dengan fungsi yang berbentuk linier, kuadratis, polinomial tiga atau polinomial lainnya. Dengan menggunakan fungsi ini, kita dapat mencocokan data kita. Bentuk umum fungsi ini adalah:
p = polyfit(x,y,n)
dengan n adalah polinomial orde n, yaitu polinomial yang digunakan untuk mencocokan data.
Contoh:
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
-
17
Dari data eksperimen yang diperoleh, kita akan melakukan pencocokan ke bentuk polinomial tertentu. Tetapi, kalau kita lihat dari trend data y, kita bias menduga bahwa data kita mendekati polinomial orde 2 (kuadratis).
>> x=[1:10]; >> y=[1.3,3.2,11.3,15.1,25.5,38.2,47.1,68.2,81.3,98.2]; >> p=polyfit(x,y,2) Akhirnya diperoleh p berbentuk p = 0.9284 0.7693 -1.0350 yang merupakan koefisien polinomial p. Sekarang kita memiliki polynomial hasil pencocokan berbentuk p=0.9284 x2 + 0.7693 x1.0350 Untuk melihat seberapa bagus hasil pencocokan yang kita lakukan, marilah kita lakukan evaluasi pada titik-titik data yang kita miliki. >> f=polyval(p,x); >> tabel=[x' y' f' (y-f)'] >> tabel = 1.0000 1.3000 0.6627 0.6373 2.0000 3.2000 4.2173 -1.0173 3.0000 11.3000 9.6286 1.6714 4.0000 15.1000 16.8968 -1.7968 5.0000 25.5000 26.0218 -0.5218 6.0000 38.2000 37.0036 1.1964 7.0000 47.1000 49.8423 -2.7423 8.0000 68.2000 64.5377 3.6623 9.0000 81.3000 81.0900 0.2100 10.0000 98.2000 99.4991 -1.2991 Sekarang, marilah kita tampilkan selengkapnya dalam bentuk grafik dengan menuliskan code melalui jendela editor.
-
18
3.3.3. Fungsi polyder Fungsi polyder digunakan untuk menurunkan polinomial yang kita miliki. Bentuk umum penggunaan fungsi polyder adalah k = polyder(p) atau
k = polyder(a,b)
Contoh Turunkan polinomial di bawah ini P(x )=4x 4 + 3x 2 + 4x + 5 Jawab >> p=[4 0 3 4 5]; >> polyder(p) >> ans =
16 0 6 4
Hasilnya jika dituliskan dalam bentuk ungkapan matematis 16 x 3 + 6 x + 4
Contoh Turunkan polinomial di bawah ini P ( x )= (x4 + 3 x2 + 4x + 5) (2x3 + x 2 + 3 x +1)
-
19
Jawab a=[4 0 3 4 5]; b=[2 1 3 1]; p=polyder(a,b) p = 56 24 90 60 69 40 19 atau px 56 x624 x 590 x 460x369x 240 x19
3.3.4. Fungsi roots Fungsi roots digunakan untuk memperoleh akar dari sebuah polynomial orde n. Bentuk umum dari fungsi ini adalah: r = roots(c)
Contoh Diketahui sebuah polinomial p(x)=4x4 + 3x2 + 4x + 5 . Dapatkan akarakar polinomial tersebut dengan menggunakan fungsi roots. Jawab Polinomial p( x)=4x4 + 3x2 + 4x + 5 dapat dituliskan dalam Matlab berbentuk
>> p=[ 4 0 3 4 5]
Akar polinomial tersebut adalah
>>roots(p) >> ans = 0.6364 + 1.0830i 0.6364 - 1.0830i -0.6364 + 0.6222i -0.6364 - 0.6222i
3.3.4. Fungsi poly Fungsi poly digunakan untuk menentukan bentuk polinomial setelah akar akar polinomial tersebut diketahui. Bentuk umum fungsi poly adalah p = poly(r)
Contoh Diketahui akar polinomial p adalah 1,2,3,4 dan 5. Tentukan bentuk polinomialnya.
Jawab >> r=[1 2 3 4 5]; >> poly(r) ans = 1 -15 85 -225 274 -120
-
20
atau p(x )=x 515 x4 + 85 x 3225 x 2 + 274 x120
3.3.5. Fungsi conv Fungsi conv digunakan untuk mengalikan polinomial. Bentuk umumnya adalah w = conv(u,v)
Contoh Diketahui dua buah polinomial u ( x )=x2 + 3x + 2 dan v (x )=x 3 + 2x 2 + 3x +1 . Tentukan hasil perkalian dua polinomial tersebut. Jawab >> u=[1 3 2]; >> v=[1 2 3 1]; >> conv(u,v) ans = 1 5 11 14 9 2 atau x5 + 5 x4 + 11 x 3 + 14 x 2 + 9x + 2
3.3.6. Fungsi deconv Fungsi deconv berkebalikan dengan conv. Fungsi ini akan melakukan pembagian dua buah polinomial. Bentuk umumnya adalah [q,r] = deconv(v,u) dengan q dan r masing-masing adalah hasil bagi dan residu.
Contoh Diketahui dua buah polinomial yaitu p1 (x )=2x4 + 3x 3 + x 2 + 4x + 5 dan p2 (x ) =x2 + 3x + 4 , maka carilah hasil bagi antara p1 dengan p2 beserta residunya.
Jawab Dengan menggunakan fungsi deconv, maka kita dapat memperoleh hasil bagi dan residunya. >> p1=[2 3 1 4 5]; >> p2=[1 3 4]; >> [q r]=deconv(p1,p2) q = 2 -3 2 r = 0 0 0 10 -3
atau jika dinyatakan dalam bentuk matematis q=2x 23x + 2 dan r=10 x3
-
21
Latihan: 1. Selesaikan persamaan berikut: x-3y-2z=6 2x-4y-3z=8 -3x+6y+8z=-5
2. Carilah akar-akar persamaan 1 0. Gambarkanlah kurva fungsi tersebut untuk mengkonfirmasikan hasilnya.
-
22
Persamaan Differensial
4.1. Menggunakan ode23
cos
Buat function file satu.m function ydot = eq1(t,y) ydot = cos(t);
gunakan syntax seperti ini: [t,y] = ode23(nama_fungsi,[start_time, end_time], y(0))
>> [t,y] = ode23('eq1',[0 2*pi],2);
Coba kita cocokkan hasilnya dengan membandingkan hasilnya dengan menaikkan sebuah turunan y'=cos(t) y = sin(t)+C
>> f = 2 + sin(t); >> plot(t,y,'o',t,f),xlabel('t'),ylabel('y(t)'),axis([0 2*pi 0 4])
Cek error >> err = zeros(size(y)); >> for i = 1:1:size(y) err(i) = abs((f(i)y(i))/f(i)); end
Hasilnya: >> err
>> emax=max(err) maksimum error
4.2. Menggunakan ode45 >> [t,w] = ode45('eq1',[0 2*pi],2);
-
23
>> f = 2 + sin(t); >> plot(t,w,'o',t,f),xlabel('t'),ylabel('y(t)'),axis([0 2*pi 0 4])
Cek error >> err = zeros(size(w)); >> for i = 1:1:size(w) err(i) = abs((f(i)w(i))/f(i)); end >> wmax = max(err)
4.3. Studi kasus dalam menggunakan sebuah persamaan differensial Seorang tentara dengan bobot 80kg terjun dengan menggunakan parasut dari ketinggian 600m. Tentara tersebut tentunya kecepatan terjun dipercepat dengan percepatan gravitasi (9.81 m/s2) dan diperlambat dengan tahanan dari parasut. Dinyatakan dalam persamaan differensial, sebagai berikut:
4
15
Buat function file terjun.m function rk=f(t,y) mass= 9.81; g=9.81; rk=-g+4/15*y^2/mass;
>> clear all >> timerange=[0 30]; % seconds >> initialvelocity=0; %m/s >> [t,y]=ode45(@f,timerange, initialvelocity) >> plot(t,y), ylabel('velocity (m/s)'), xlabel ('time (s)')
Latihan: 1. Selesaikan persamaan differensial berikut ini:
!"# !
, # % % 1, & #
-
24
2. Gunakan ode45 untuk menghitung persamaan differensial berikut:
, 0 1
-
25
Matriks
5.1. Determinan Matriks
2112221122211211
xaaxaaaa
aaD =
=
Contoh 1: >> A = [1 3;4 5]; >> det(A)
5.2. Menyelesaikan persamaan linear dengan matriks
5.2.1. Cara 1 dengan determinan
5x + 2y - 9z = 44 -9x -2y + 2z = 11 6x + 7y + 3z = 44
=
=
=
z
yx
cbA ,441144
,
376229925
>> A = [5 2 -9;-9 -2 2;6 7 3]; >> b = [44;11;44]; >> c = det(A) >> d = A \ b
5.2.2. Cara 2 dengan matriks diperbesar / Augmented matrix
Untuk menyelesaikan persamaan linear dengan matriks diperbesar, diperlukan uji tes rank dari matrik sebuah ukuran jumlah independen linear baris / kolom. Jika nilai rank matrik A = matrik [A b], dengan catatan nilai rank < n (jumlah variabel persamaan), maka ada solusi persamaan linear tersebut. x 2y + z = 12
-
26
3x 4y + 5y = 20 -2x + y + 7z = 11
=
=
112012
,
712543121
bA
Augmented matriks
[A b] =
117122054312121
>> A = [1 -2 1;3 4 5;-2 1 7]; >> b = [12 20 11]; >> c = [A b] >> rank(A) >> rank(c) jika rank A dan rank C sama, maka >> c = A\b
5.2.3. Cara 3 dgn matriks invers
A A-1 = A-1A = 1 A x = b x = A-1 b di dalam Matlab untuk mencari matriks invers: A-1 = inv(A) Contoh 1:
=
8900112013242101
A
>> A = [1 0 -1 2;4 -2 -3 1;0 2 -1 1;0 0 9 8]; >> det(A) jika det 0, maka ada inversnya >> B = inv(A) >> C = A * B hasilnya matriks identitas
-
27
Contoh 2: 3x 2y = 5 6x 2y = 2 >> A = [3,-2;6,-2]; >> b = [5;2]; >> det(A); >> c = inv(A)*b
Latihan: 1. x + 2y + 3z = 12 2. x 2y + 3z = 1
-4x + y + 2z = 13 x + 4y + 3z = 2 9y 8y = -1 2x + 8y +z = 3
3. 3x + 2y - 9z = -65 -9x + 5y +2z = 16 6x + 7y + 3z = 5
-
28
Statistik 6.1. Pengolahan Data Statistik
Pengolahan data statistik menggunakan Matlab
Contoh 1:
Dari 36 siswa didapat nilai matematika sebagai berikut:
Jumlah Nilai Jumlah Nilai
1 100 7 78
2 96 4 75
4 90 6 70
2 88 1 69
3 85 2 63
1 84 1 55
2 82
>> X = [55,63,69,70,75,78,82,84,85,88,90,96,100];
>> Y = [1,2,1,6,4,7,2,1,3,2,4,2,1];
>> bar(x,y)
Contoh 2:
Nilai Jumlah
50 59 1
60 69 3
-
29
70 79 17
80 89 8
90 - 110 7
Terlebih dulu kita cari nilai tengah dari range data tersebut.
>> a = [54.5,64.5,74.5,84.5,94.5];
>> b = [1,3,17,8,7];
>> bar(a,b),xlabel(score),ylabel(jumlah siswa),title(Nilai Matematika)
Untuk menampilkan grafik horisontal, gunakan barh:
>> barh(a,b),xlabel(score),ylabel(jumlah siswa),title(Nilai Matematika)
Jika ingin menampilkan bentuk 3D:
>> bar3(a,b),xlabel(score),ylabel(jumlah siswa),title(Nilai Matematika)
Contoh 3:
Nilai UTS matematika di FPIK
Nilai PSPK MSP SEPK
91 100 10 5 8
81 90 13 10 17
71 80 18 20 15
61 70 3 5 2
51 60 0 3 1
Cari nilai tengahnya terlebih dulu:
-
30
>> x = [54.5,64.5,74.5,84.5,94.5];
kelompokkan dalam 3 kolom vektor:
>> pspk = [0;3;18;13;10];
>> msp = [3;5;20;10;5];
>> sepk = [1;2;15;17;8];
kemudian buat persamaan:
>> y = [pspk msp sepk];
>> bar(x,y),xlabel(nilai),ylabel(jumlahsiswa),legend(pspk,msp,sepk]
Contoh 4:
>> A = [11,11,12,12,12,,14,14,14,15,16,16,23,24,28,29,30];
>> mean(A)
>> median(A)
>> std(A)
Latihan:
Frequency 2 1 3 6 1 3 1 1 3 4 3 2 1 Weight
(pounds) 130 138 145 150 152 155 160 164 165 167 170 172 175
Carilah nilai mean, median dan standar deviasi.
6.2. Membuat persamaan matematika dari sampling data Contoh 1: Carilah persamaan matematika dan buat grafik kurva dari data permainan golf berikut:
Handicap 6 8 10 12 14 16 18 20 22 24 Score 3.94 3.8 4.1 3.87 4.45 4.33 4.12 4.43 4.6 4.5
>> handicap = [6:2:24];
-
31
>> score = [3.94,3.8,4.1,3.87,4.45,4.33,4.12,4.43,4.6,4.5];
mencari persamaan dengan polyfit orde 1 >> p = polyfit(handicap,score,1);
Bentuk persamaan orde/derajat 1 adalah: Y = mx + b Maka dicari nilai m dan b: >> m = p(1) >> b = p(2) kemudian buat plotnya: >> x = [6:2:24]; >> y = m*x+b; >> subplot(2,1,2); >> plot(handicap,score,o,x,y),xlabel(handicap),ylabel(score) untuk mengetahui nilai fungsi y pada tiap nilai x: >> w=m*handicap+b Tes error dng uji r2 R2 = 1- A/S Dimana: A = kuadrat jumlah selisih data yang dihitung dengan data nilai yang
dikumpulkan S = kuadrat jumlah selisih data yang dikumpulkan dengan nilai rata-
rata(mean) Jadi: >> ave=mean(score) >> A = sum((w-score).^2 >> S = sum((score-ave).^2 >> R2=1-A/S jika nilai mendekati 1, artinya persamaan tsb cocok dng error yg kecil
Contoh 2: Berikut adalah data harga rumah (dlm jutaan) di Malang:
-
32
Luasan 1200 1500 1750 2000 2250 2500 2750 3000 3500 4000 Harga 135 142 156 165 170 220 225 275 300 450
>> luas=[1200,1500,1750,2000,2250,2500,2750,3000,3500,4000]; >> harga=[135,142,156,165,170,220,225,275,300,450]; >> plot(luas,harga,'o'),xlabel('Rumah m2'),ylabel('Harga'), Title('Harga Rumah di Malang'),axis([1200 4000 135 450]) >> p=polyfit(luas,harga,1); >> m=p(1) >> b=p(2) >> x=[1200:10:4000]; >> y=mx+b >> subplot(2,1,2); >> plot(x,y,luas,harga,'o'),xlabel('Rumahm2'),... ylabel('Harga'),title('Harga Rumah di Malang'),axis([1200 4000 135 450])
Uji RMS (Root Mean Square) dari persamaan yg didapat: Y=(0.1032)x-28.4909 Dengan memasukkan nilai-nilai diatas didapat: >> w=m*luas+b
Luasan 1200 1500 1750 2000 2250 2500 2750 3000 3500 4000 Harga 135 142 156 165 170 220 225 275 300 450 Y 95 126 152 178 204 230 255 281 333 384
( ) 210
2
= =
N
jerror N
AjTiRMS
Dimana: T = nilai yang dikumpulkan A = nilai prediksi dari persamaan y N = jumlah data
-
33
>> d=(harga-w).^2; >> N=10; jumlah data=10 >> RMS=sqrt((1/N*sum(d)) nilai RMS mendekati 1
Kita ulangi proses dari awal dengan menaikkan orde/derajat persamaan. >> p=polyfit(luas,harga,2); orde 2 >> a=p(1) >> b=p(2) >> c=p(3) >> x=[1200:10:4000]; >> y=a*x.^2+b*x+c; >> plot(x,y,luas,harga,'o'),xlabel('Rumahm2'),... ylabel('Harga'),title('Harga Rumah di Malang'),axis([1200 4000 135 450]) >> w = a*luas.^2 + b*luas + c; >> d2=(harga-w).^2; >> N=10; >> RMS2=sqrt((1/N)*sum(d2))
Kemudian kita uji R2 >> m1=mean(harga) >> S=((harga-m1).^2) >> A=sum((w-harga).^2) >> R2=1-A/S
Hasilnya mendekati 1, jadi model persamaan ini dapat dipakai, yaitu: Y = ax2+bx+c, isikan nilai a, b dan c maka: Y = (3.75 x 10-5)x2 0.09x + 194.1715
Latihan: Carilah fungsi persamaan dari data yang dikumpulkan atlit angkat berat, sebagai berikut:
-
34
Usia 15 17 18 19 24 30 35 37 Beban 330 370 405 420 550 580 600 580
-
35
Soal-Soal Tugas
Tugas I Dasar-dasar penggunaan Matlab Terjemahkan pernyataan-pernyataan berikut ini dalam Matlab
Tugas II Plotting grafik/figure 1. Buatlah plot grafik dari persamaan 2(. untuk 0 * * 10
2. Gambarlah grafik fungsi ||,
untuk -5* * 5
Tugas III Persamaan Linear dan Polinomial 1. Hitunglah dengan Matlab persamaan ini:
-./0.!1#&./2.!/.1
, x=5 2. Tentukan harga p pada titik x= 1, -4, 10 dan 3 dari polynomial ini:
3. .- /.2 1.! #&. #
3. Carilah akar-akar persamaan 3 4 0. Gambarkanlah kurva fungsi tersebut untuk mengkonfirmasikan hasilnya
Tugas IV Persamaan Differensial Selesaikan persamaan differensial dan plot hasilnya dari permasalahan ini: Sebuah model penyebaran penyakit pada suatu populasi binatang diformulasikan ke dalam persamaan differensial biasa sebagai berikut:
0)),(1)(( = ttutkudtdu
-
36
U(t) menyatakan proporsi binatang yang terinfeksi setelah t hari. Jadi 1-u(t) menyatakan proporsi binatang yang tak terinfeksi. Infeksi baru terjadi jika binatang tak terinfeksi bertemu binatang terinfeksi. Banyaknya pertemuan penyebab infeksi adalah sebanding dengan nilai ))(1)(( tutu . Jadi laju
terjadinya infeksi perhari, yaknidtdu
sebanding dengan ))(1)(( tutu , sehingga
diperoleh persamaan differensial tersebut diatas. Konstanta k tergantung pada tingkat pada kepadatan populasi dan daya infeksi penyakit. Untuk keperluan contoh perhitungan, misalkan p= 100000 dan k=0.2. Mula-mula
hanya ada satu binatang terinfeksi, yaitu: 50 ,,((((
. Dengan Matlab kita
dapat menghitung hampiran nilai-nilai 5 untuk t>0.
Tugas V Bermain Matriks di Matlab ---diberikan pada saat kuliah--- Tugas VI Statistik di Matlab ---diberikan pada saat kuliah---