Professional Documents
Culture Documents
P.MTK VI B1
A. Pengertian
Metode Runge Kutta yaitu suatu metode yang digunakan untuk menyelesaikan
persamaan diferensial secara numerik atau pendekatan sehingga mendapatkan
penyelesaian yang lebih signifikan daripada penyelesaian secara eksak atau analitik.
Metode Runge Kutta merupakan gabungan dari suatu kelas besar metode
pendekatan satu langkah (metode Euler, Heun, dan titik tengah). Metode ini mencapai
keakuratan dari suatu pendekatan Taylor tanpa memerlukan turunan-turunan tingkat
tinggi. Bentuk umumnya:
Dengan :
B. Algoritma
1. Tentukan persamaan f(x,y)
2. Tentukan
dan
.
dan nilai
4. Tentukan nilai h
5. Jumlah loop,
6. Untuk i=1 sampai n maka:
a.
b.
7. Simpan nilai
8. Lanjutkan nilai i
Muthmainnah (109017000057)
P.MTK VI B1
C. Contoh
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
clear all
clc
f=inline('x-2*y+1');
y(1)=0.5;
a=0;
b=2;
n=10;
h=(b-a)/n;
fe=inline(dsolve('Dy=t-2*y+1','y(0)=0.5'));
totalerr=0;
x(1)=a;
disp(sprintf('|-----------------------------------------------|'))
disp(sprintf('|
Metode Runge Kutta 4
|'))
disp(sprintf('|-----------------------------------------------|'))
disp(sprintf('| i |x(i)| k1 | k2 | k3 | k4 | y(i)|ye(i)|error |'))
disp(sprintf('|-----------------------------------------------|'))
for i=1:n;
ye(i)=fe(x(i));
err=abs(y(i)-ye(i));
totalerr=totalerr+err;
k1=h*f(x(i),y(i));
k2=h*f(x(i)+(h/2),y(i)+(k1/2));
k3=h*f(x(i)+(h/2),y(i)+(k2/2));
k4=h*f(x(i)+h,y(i)+k3);
y(i+1)=y(i)+(k1+(2*k2)+(2*k3)+k4)/6;
disp(sprintf('|%2g|%3.2f|%6.4f|%6.4f|%6.4f|%6.4f|%7.7f|%7.7f|
%7.7f |',i-1,x(i),k1,k2,k3,k4,y(i),ye(i),err));
x(i+1)=x(i)+h;
end
disp(sprintf('|-----------------------------------------------|'))
NRE=totalerr/i;
disp(sprintf('Nilai Total Error = %10.7f', NRE))
Output :
|
Metode Runge Kutta 4
|
|-----------------------------------------------------------------------------------------|
| i | x(i)|
k1
|
k2
|
k3
|
k4
|
y(i)
|
ye(i)
|
error
|
|-----------------------------------------------------------------------------------------|
| 0 |0.00 | 0.0000 | 0.0200 | 0.0160 | 0.0336 | 0.5000000 | 0.5000000 | 0.0000000 |
| 1 |0.20 | 0.0330 | 0.0464 | 0.0437 | 0.0555 | 0.5176000 | 0.5175800 | 0.0000200 |
| 2 |0.40 | 0.0551 | 0.0640 | 0.0622 | 0.0702 | 0.5623590 | 0.5623322 | 0.0000268 |
| 3 |0.60 | 0.0699 | 0.0759 | 0.0747 | 0.0800 | 0.6253255 | 0.6252986 | 0.0000269 |
| 4 |0.80 | 0.0798 | 0.0838 | 0.0830 | 0.0866 | 0.7004982 | 0.7004741 | 0.0000241 |
| 5 |1.00 | 0.0865 | 0.0892 | 0.0886 | 0.0910 | 0.7838540 | 0.7838338 | 0.0000202 |
| 6 |1.20 | 0.0909 | 0.0927 | 0.0924 | 0.0940 | 0.8726957 | 0.8726795 | 0.0000162 |
| 7 |1.40 | 0.0939 | 0.0951 | 0.0949 | 0.0960 | 0.9652152 | 0.9652025 | 0.0000127 |
| 8 |1.60 | 0.0959 | 0.0967 | 0.0966 | 0.0973 | 1.0602003 | 1.0601906 | 0.0000097 |
| 9 |1.80 | 0.0973 | 0.0978 | 0.0977 | 0.0982 | 1.1568383 | 1.1568309 | 0.0000073 |
|-----------------------------------------------------------------------------------------|
Nilai Total Error = 0.0000164
Muthmainnah (109017000057)
P.MTK VI B1
METODE TAYLOR
A. Pengertian
Metode taylor merupakan suatu metode pendekatan yang menggunakan deret Taylor
sebagai bentuk perbaikan nilai untuk nilai fungsi secara keseluruhan pada penyelesaian
persamaan diferensial.
dengan:
B. Algoritma
1. Tentukan nilai x0, y0, h, dan n.
2. Tentukan fungsi persamaan diferensialnya.
3. Tetapkan iterasi untuk 1 sampai n for i = 1:n
4. Tentukan x(i) sesuai iterasi.
5. Cari y(i) dengan rumus
6. Cetak hasil.
C. Contoh
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
clear all
clc
x0=0;
y0=0;
a=0;
b=1;
n=10;
h=(b-a)/n;
x(1)=a;
f1=inline('sin(x)-y');
f2=inline('cos(x)-sin(x)+y');
f3=inline('-cos(x)-y');
disp(sprintf('|----------------------------|'))
disp(sprintf('|
Metode Taylor
|'))
disp(sprintf('|----------------------------|'))
disp(sprintf('| i |
x(i) |
y(i)
|'))
disp(sprintf('|----------------------------|'))
for i=1:n+1
y(i)=y0+(x(i)-x0)*f1(x0,y0)+(x(i)-x0)^2*f2(x0,y0)/factorial(2)+(x(i)-
Muthmainnah (109017000057)
P.MTK VI B1
19.
20.
21.
22.
x0)^3*f3(x0,y0)/factorial(3);
disp(sprintf('| %2g | %3.2f
x(i+1)=x(i)+h;
%7.5f
|',i-1,x(i),y(i)));
end
disp(sprintf('|----------------------------|'))
Output:
|----------------------------|
|
Metode Taylor
|
|----------------------------|
| i |
x(i) |
y(i)
|
|----------------------------|
| 0 | 0.00 |
0.00000
|
| 1 | 0.10 |
0.00483
|
| 2 | 0.20 |
0.01867
|
| 3 | 0.30 |
0.04050
|
| 4 | 0.40 |
0.06933
|
| 5 | 0.50 |
0.10417
|
| 6 | 0.60 |
0.14400
|
| 7 | 0.70 |
0.18783
|
| 8 | 0.80 |
0.23467
|
| 9 | 0.90 |
0.28350
|
| 10 | 1.00 |
0.33333
|
|----------------------------|