P. 1
METODE RUNGE KUTTA

METODE RUNGE KUTTA

|Views: 2,625|Likes:

More info:

Published by: Nurul 'Nunu' Fazriyah on Jun 01, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

07/11/2013

pdf

text

original

Muthmainnah (109017000057

)
P.MTK VI B1
1

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
2

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
3

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
4


19.
20.
21.
22.
x0)^3*f3(x0,y0)/factorial(3);
disp(sprintf('| %2g | %3.2f | %7.5f |',i-1,x(i),y(i)));
x(i+1)=x(i)+h;
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 |
|----------------------------|

0949 | 0.k1.7004982 | 0.0838 | 0.0601906 | 0.0927 | 0.0759 | 0.MTK VI B1 C.20 | 0.1568309 | 0.7f|%7.0951 | 0.4f|%6.k3. 10.00 | 0. 5.7004741 | 0.'y(0)=0. b=2.8726957 | 0.5175800 | 0.5. 15.0622 | 0.0973 | 0.60 | 0. 7.ye(i).y(i).0555 | 0.4f|%7.0000 | 0. 18. 22. n=10.5623590 | 0.7f |'. fe=inline(dsolve('Dy=t-2*y+1'. 30. k1=h*f(x(i).0640 | 0.0978 | 0.0866 | 0. 4. y(i+1)=y(i)+(k1+(2*k2)+(2*k3)+k4)/6. clear all clc f=inline('x-2*y+1'). NRE)) Output : | Metode Runge Kutta 4 | |-----------------------------------------------------------------------------------------| | i | x(i)| k1 | k2 | k3 | k4 | y(i) | ye(i) | error | |-----------------------------------------------------------------------------------------| | 0 |0.0800 | 0. x(i+1)=x(i)+h. 11.5')).0940 | 0. 6.y(i)+(k1/2)).80 | 0. h=(b-a)/n.7838540 | 0.0602003 | 1.20 | 0. 32. 25. 12.0000162 | | 7 |1. k2=h*f(x(i)+(h/2).0830 | 0. 29.7f'. 17.0000241 | | 5 |1. a=0.0886 | 0.y(i)+k3).4f|%6. 16. 27.0551 | 0.9652152 | 0.0699 | 0.9652025 | 0.7f| %7. 31.4f|%6.0000269 | | 4 |0.5000000 | 0. 14.0437 | 0. 19.0966 | 0.0000000 | | 1 |0.80 | 0.err)).0924 | 0. 21. 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.2f|%6.0160 | 0. 2.8726795 | 0.0747 | 0.0000097 | | 9 |1. ye(i)=fe(x(i)).y(i)). 23.0000268 | | 3 |0.0909 | 0.0000127 | | 8 |1.40 | 0. err=abs(y(i)-ye(i)).0330 | 0.6253255 | 0.40 | 0.0939 | 0. disp(sprintf('|%2g|%3.5623322 | 0.1568383 | 1.60 | 0.0702 | 0.y(i)+(k2/2)). Contoh 1. 28. 24.x(i).0973 | 1. 3. 13.0865 | 0.Muthmainnah (109017000057) P.0798 | 0.i-1. x(1)=a.5000000 | 0. totalerr=0.0910 | 0. 9.0336 | 0.0000202 | | 6 |1.0967 | 0.6252986 | 0. k4=h*f(x(i)+h.0960 | 0. totalerr=totalerr+err.0200 | 0.0464 | 0.00 | 0.k2.0892 | 0. 20.0982 | 1.k4. k3=h*f(x(i)+(h/2). end disp(sprintf('|-----------------------------------------------|')) NRE=totalerr/i. 26.7838338 | 0. 8. y(1)=0.0000200 | | 2 |0.0977 | 0.0000073 | |-----------------------------------------------------------------------------------------| Nilai Total Error = 0.0959 | 0. disp(sprintf('Nilai Total Error = %10.5176000 | 0.0000164 2 .

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->