You are on page 1of 4

Muthmainnah (109017000057)

P.MTK VI B1

METODE RUNGE KUTTA

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

3. Tentukan nilai awal

.
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 memberikan nilai pendekatan awal

penyelesaiannya dapat diperoleh

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
|
|----------------------------|

You might also like