Annum Membandingkan 6 Metode
Annum Membandingkan 6 Metode
−2 = C
1
𝑦= 𝑥 6 + 2𝑥 -2 (nilai asli fungsi).
2
- Perhitungan Matlab
clc;
clear all;
a=1;
b=2;
n=10;
h=(b-a)/n;
t=zeros (n+1,1);
for i=1:n+1
t(i)=a+(i-1)*h;
end
%penyelesaian asli
1
was=zeros(n+1,1);
was(1)=2;
for i=2:n+1
was(i)= fas(t(i));
end
%taylor
tay=zeros (n+1,1);
tay(1)=2;
for i=2:n+1
tay(i)=tay(i-1)+ h*(f(t(i-1),tay(i-1))+(h/2)*faks1(t(i-1),tay(i-1))+...
(h/6)*faks2(t(i-1),tay(i-1))+(h/24)*faks3(t(i-1),tay(i-1)));
end
%nilai error
e=zeros (n+1,1);
for i=1:n+1
e(i)=abs(tay(i)-was(i));
end
figure (1)
plot (t,tay,t,was)
xlabel ('t')
legend ('taylor','penyelesaian asli')
figure (2)
plot(t,e)
xlabel('t')
ylabel ('error')
- Tabel Perbandingan
Perhitungan asli Perhitungan metode Nilai eror
taylor
2 2 0
200.096.000.000.000 160.000.000.000.000 0.400960000000000
203.072.000.000.000 129.568.640.000.000 0.735033600000000
223.328.000.000.000 113.737.600.000.000 109.590.400.000.000
298.304.000.000.000 121.532.160.000.000 176.771.840.000.000
5 168.121.600.000.000 331.878.400.000.000
946.496.000.000.001 278.121.600.000.000 668.374.400.000.000
181.347.200.000.000 490.509.440.000.000 132.296.256.000.000
2
334.572.800.000.000 865.612.800.000.000 248.011.520.000.000
586.870.400.000.000 149.463.296.000.000 437.407.104.000.000
98 251.216.320.000.000 728.783.680.000.000
Tabel 1. Nilai dengan perhitungan asli, perhitungan metode taylor dan
nilai eror
Pada tabel diatas dapat dilihat bahwa perbandingan nilai penyelesaian asli
dan penyelesaian menggunakan metode taylor pada awalnya memiliki nilai sama
, namun dengan bertambahnya waktu nilai dari penyelesaian asli dan metode
taylor berbeda . perhitungan dengan metode taylor menunjukkan nilai lebih kecil
dari pada perhitungan asli, dan nilai eror yang dihasilkan semakin bertambahnya
waktu semakin meningkat.
- Gambar Grafik
3
Gambar 2. Grafik nilai eror penyelesaian asli dan metode taylor
Pada gambar 2 grafik dapat diketahui bahwa nilai eror mengalami kenaikan
pada waktu setelah 0,4 dan terus mengalami kenaikan sampai waktu 2 dengan
maksimal nilai eror 70.
n=10;
a=1;
b=5;
h=(b-a)/n;
t=zeros(n+1,1);
for i=1:n+1
t(i)=a+(i-1)*h;
end
w=zeros(n+1,1);
w(1)=0.5;
%asli
was=zeros(n+1,1);
was(1)=0.5;
for i=2:n+1
was(i)=fas(t(i));
end
4
%Metode Euler
w_el=zeros(n+1,1);
w_el(1)=0.;
for i=2:n+1
w_el(i)=w_el(i-1)+h*f(t(i-1),w_el(i-1));
end
plot (t,w_el,'g',t,was)
figure (2)
plot(t,e)
xlabel('t')
ylabel ('error')
- Tabel Perbandingan
- Gambar Grafik
5
Gambar 3. Grafik nilai penyelesaian asli dan penyelesaian dengan metode
euler
Dari gambar 3 dapat diketahui bahwa nilai penyelesaian asli dengan
penyelesaian dengan metode euler grafik sedikit berjauhan. Dengan grafik
penyelesaian asli naik dan grafik penyelesaian euler awalnya berhimpit, namun
seiring dengan bertambahnya t kedua tabel tersebut bergerak menjauhi satu sama
lain. Dan grafik perhitungan dengan metode euler lebih rendah dari pada grafik
perhitungan asli.
Pada gambar 4 grafik dapat diketahui bahwa nilai eror mengalami kenaikan
pada waktu setelah 2,5 dan terus mengalami kenaikan sampai waktu 5 dengan
maksimal nilai eror 4000.
6
clc;
clear all;
n=100;
a=1;
b=3;
h=(b-a)/n;
t=zeros(n+1,1);
for i=1:n+1
t(i)=a+(i-1)*h;
end
%asli
was=zeros(n+1,1);
was(1)=-2;
for i=2:n+1
was(i)=fas(t(i));
end
%midpoin metode
w_mid=zeros(n+1,1);
w_mid(1)=-2;
for i=2:n+1
w_mid(i)=w_mid(i-1)+h*f(t(i-1)+h/2,w_mid(i-1)+(h/2)*f(t(i-1),w_mid(i-1)));
end
plot (t,w_mid,'*g',t,was,'r')
figure (2)
plot(t,e)
xlabel('t')
ylabel ('error')
- Tabel Perbandingan
7
200.000.983.040.000 - 415.360.982.905.996
215.359.999.865.996
200.003.000.000.000 - 419.002.999.334.555
218.999.999.334.555
200.007.464.960.000 - 422.567.462.522.994
222.559.997.562.994
200.016.134.720.000 - 426.056.127.456.185
226.039.992.736.185
200.031.457.280.000 - 429.471.438.625.560
229.439.981.345.560
200.056.687.040.000 - 432.816.644.247.991
232.759.957.207.991
200.096.000.000.000 - 4.360.959.101.621.100
235.999.910.162.110
Tabel 3. Nilai perhitungan asli, perhitungan metode midpoin dan eror
Pada tabel diatas dapat dilihat bahwa perbandingan nilai penyelesaian asli
dan penyelesaian menggunakan metode midpoin pada awalnya memiliki nilai
sama , namun dengan bertambahnya waktu nilai dari penyelesaian asli dan
metode midpoin berbeda . perhitungan dengan metode midpoin menunjukkan
nilai lebih kecil dari pada perhitungan asli, dan nilai eror yang dihasilkan
semakin bertambahnya waktu semakin meningkat dan nilai eror yang dihasilkan
relatif besar.
- Gambar Grafik
8
Dari gambar 5 dapat diketahui bahwa nilai penyelesaian asli dengan
penyelesaian dengan metode midpoin grafik berjauhan. Kedua grafik awalnya
berdekatan, namun seiring bertambahnya nilai t kedua grafik bergeak menjauh.
Grafik midpoin lebih tinggi daripada grafik perhitungan asli.
Pada gambar 6 grafik dapat diketahui bahwa nilai eror mengalami kenaikan
dari waktu 0 dan terus mengalami kenaikan sampai waktu 2 dengan maksimal
nilai eror 90.
- Perhitungan Matlab
clc;
clear all;
n=10;
a=1;
b=5;
h=(b-a)/n;
t=zeros(n+1,1);
for i=1:n+1
t(i)=a+(i-1)*h;
end
w=zeros(n+1,1);
w(1)=0.5;
%asli
was=zeros(n+1,1);
was(1)=0.5;
9
for i=2:n+1
was(i)=fas(t(i));
end
%Metode Heun
for i=2:n+1
w(i)=w(i-1)+(h/4)*(f(t(i-1),w(i-1)+3*f(t(i-1)+((2*h)/3),...
w(i-1)+(2*h/3)*f(t(i-1)+(h/3),w(i-1)+(h/3)*f(t(i-1),w(i-1))))));
end
plot (t,w,'g',t,was)
figure (2)
plot(t,e)
xlabel('t')
ylabel ('error')
- Tabel Perbandingan
10
- Gambar grafik
Gambar 8. Grafik nilai eror nilai asli dan perhitungan dengan metode
heun
Pada gambar 8 grafik dapat diketahui bahwa nilai eror mengalami kenaikan
pada waktu setelah 0 dan terus mengalami kenaikan sampai waktu 2 dengan
maksimal nilai eror < 90.
- Perhitungan Matlab
clc;
clear all;
11
n=10;
a=1;
b=5;
h=(b-a)/n;
t=zeros(n+1,1);
for i=1:n+1
t(i)=a+(i-1)*h;
end
w=zeros(n+1,1);
w(1)=0.5;
%asli
was=zeros(n+1,1);
was(1)=0.5;
for i=2:n+1
was(i)=fas(t(i));
end
w(i)=w(i-1)+(k1+2*k2+2*k3+k4)/6;
end
plot (t,w,'g',t,was)
figure (2)
plot(t,e)
xlabel('t')
ylabel ('error')
- Tabel Perbandingan
Perhitungan penyelesaian Perhitungan metode Nilai eror
asli runge-kutta
0.500000000000000 0.500000000000000 0
200.096.000.000.000 0.140001133333333 186.095.886.666.667
203.072.000.000.000 -0.139880933333333 217.060.093.333.333
12
223.328.000.000.000 -0.337993400000000 257.127.340.000.000
298.304.000.000.000 -0.445003466666667 342.804.346.666.667
5 -0.428538333333333 542.853.833.333.333
946.496.000.000.001 -0.204001200000000 966.896.120.000.001
181.347.200.000.000 0.413044733333334 177.216.752.666.667
334.572.800.000.000 177.753.226.666.667 316.797.477.333.333
586.870.400.000.000 451.319.420.000.000 541.738.458.000.000
98 964.312.333.333.334 883.568.766.666.667
Tabel 5. Nilai Perhitungan asli, perhitungan dengan metode runge kutta dan
eror
Pada tabel diatas dapat dilihat bahwa perbandingan nilai penyelesaian asli
dan penyelesaian menggunakan metode runge-kutta pada awalnya memiliki nilai
sama , namun dengan bertambahnya waktu nilai dari penyelesaian asli dan
metode runge-kutta berbeda . perhitungan dengan metode runge-kutta
menunjukkan nilai lebih besar dari pada perhitungan asli, dan nilai eror yang
dihasilkan semakin bertambahnya waktu semakin meningkat.
- Gambar Grafik
13
Gambar 10. Grafik perbandingan nilai asli dan perhitungan dengan
metode runge-kutta
Pada grafik dapat diketahui bahwa nilai eror mengalami kenaikan pada
waktu setelah 0 dan terus mengalami kenaikan sampai waktu 2 dengan maksimal
nilai eror 90.
PERBANDINGAN 6 METODE
- Perhitungan dengan matlab
clc;
clear all;
n=100;
a=0;
b=2;
h=(b-a)/n;
t=zeros(n+1,1);
for i=1:n+1
t(i)=a+(i-1)*h;
end
w=zeros(n+1,1);
w(1)=0.5;
14
%asli
was=zeros(n+1,1);
was(1)=0.5;
for i=2:n+1
was(i)=fas(t(i));
end
%taylor
tay=zeros (n+1,1);
tay(1)=2;
for i=2:n+1
tay(i)=tay(i-1)+ h*(f(t(i-1),tay(i-1))+(h/2)*faks1(t(i-1),tay(i-1))+...
(h/6)*faks2(t(i-1),tay(i-1))+(h/24)*faks3(t(i-1),tay(i-1)));
end
%nilai error
e=zeros (n+1,1);
for i=1:n+1
e(i)=abs(tay(i)-was(i));
end
%modifikasi euler
me=zeros(n+1,1);
me(1)=2;
for i=2:n+1
me(i)=me(i-1)+(h/2)*(f(t(i-1),me(i-1))+...
f(t(i),me(i-1)+h*f(t(i-1),me(i-1))));
15
end
%nilai error
e=zeros (n+1,1);
for i=1:n+1
e(i)=abs(me(i)-was(i));
end
%midpoin metode
w_mid=zeros(n+1,1);
w_mid(1)=-2;
for i=2:n+1
w_mid(i)=w_mid(i-1)+h*f(t(i-1)+h/2,w_mid(i-1)+(h/2)*f(t(i-1),w_mid(i-1)));
end
%nilai error
e=zeros (n+1,1);
for i=1:n+1
e(i)=abs(w_mid(i)-was(i));
end
%Metode Heun
for i=2:n+1
w_heun(i)=w(i-1)+(h/4)*(f(t(i-1),w(i-1)+3*f(t(i-1)+((2*h)/3),...
w(i-1)+(2*h/3)*f(t(i-1)+(h/3),w(i-1)+(h/3)*f(t(i-1),w(i-1))))));
end
%nilai error
e=zeros (n+1,1);
for i=1:n+1
e(i)=abs(w_heun(i)-was(i));
16
end
%Metode runge kuta
for i=2:n+1
k1=h*f(t(i-1),w(i-1));
k2=h*f(t(i-1)+(h/2),w(i-1)+k1/2);
k3=h*f(t(i-1)+(h/2),w(i-1)+k2/2);
k4=h*f(t(i),w(i-1)+k3);
w_runge(i)=w(i-1)+(k1+2*k2+2*k3+k4)/6;
end
%nilai error
e=zeros (n+1,1);
for i=1:n+1
e(i)=abs(w_runge(i)-was(i));
end
figure (1)
plot (t,tay,t,was,t,me,t,w_heun,t,w_mid,t,w_runge)
xlabel ('t')
legend ('taylor','penyelesaian asli','heun','midpoin','rungekutta','euler')
- Tabel Perbandingan nilai eror
17
Gambar 11. Grafik perhitungan nilai penyelesaian asli dan penyelesaian
dengan 6 metode
Pada gambar 11. Dapat dilihat bahwa dari ke-6 metode penyelesaian asli
memilliki grafik paling tinggi dan ke 5 metode lainnya berada dibawah jauh dari
grafik perhitungan asli. Dari ke 5 metode yang mendekati nilai perhitungan asli
adalah metode taylor.
18