Académique Documents
Professionnel Documents
Culture Documents
Metnum Tugas
Metnum Tugas
ti
Euler
RK-2
RK-3
exact
errEuler
errRK-2
errRK-3 ');
disp('========================================================================
=======================================');
%Memulaiperhitungan
y1=awal;
for i=1:(batas(2)-batas(1))/h+1
ti=batas(1)+(i-1)*h;
%Euler
ifti==batas(1)
y2=y1;
else
y2=y1+h*subs(subs(dy,'t',ti-h),'y',y1);
end
exact(i)=subs(solexact,'t',ti);
errEuler=abs(exact(i)-y2);
y1=y2;
%RK-2
ifti==batas(1)
yn(i)=y1;
else
k11=h*subs(subs(dy,'t',ti-h),'y',yn(i-1));
k21=h*subs(subs(dy,'t',ti),'y',yn(i-1)+k11);
yn(i)=yn(i-1)+(1/2)*(k11+k21);
end
exact(i)=subs(solexact,'t',ti);
errRK2=abs(exact(i)-yn(i));
%RK-3
ifti==batas(1)
yn3(i)=y1;
else
k12=h*subs(subs(dy,'t',ti-h),'y',yn3(i-1));
k22=h*subs(subs(dy,'t',ti-h/2),'y',yn3(i-1)+(1/2)*k12);
k32=h*subs(subs(dy,'t',ti),'y',yn3(i-1)-k12+2*k22);
yn3(i)=yn3(i-1)+(1/6)*(k12+4*k22+k32);
end
exact(i)=subs(solexact,'t',ti);
errRK3=abs(exact(i)-yn3(i));
fprintf(' %2.0f %10.3f %12.6f %12.6f %12.6f %12.6f %13.6f %13.6f %13.6f\n',i1,ti,y2,yn(i),yn3(i),exact(i),errEuler,errRK2,errRK3);
end
disp('========================================================================
=======================================');
2.
dsolve('Dy = -0.5*y+4*exp(0.8*t)','y(0)=2')
ans =
40/13*exp(4/5*t)-14/13*exp(-1/2*t)
Hasil :
a)
h = 0.2
MasukkanPersamaandiferensialdy/dt = '-0.5*y+4*exp(0.8*t)'
Masukkanbatas interval [a,b]= [0,1]
Masukkannilaiawaly(0) = 2
Masukkanukuranlangkah h = 0.2
Masukkanpenyelesaianeksaknya = '40/13*exp(4/5*t)-14/13*exp(-1/2*t)'
=========================================================================
itiEuler
RK-2
RK-3
exact
errEulererrRK-2
errRK-3
=========================================================================
0
0.000
2.000000
2.000000
2.000000
2.000000
0.000000
0.000000
0.000000
0.200
2.600000
2.639404
2.636334
2.636362
0.036362
0.003042
0.000029
0.400
3.278809
3.361976
3.355545
3.355606
0.076797
0.006370
0.000061
0.600
4.052630
4.184784
4.174635
4.174732
0.122102
0.010052
0.000097
0.800
4.940227
5.127609
5.113304
5.113443
0.173216
0.014166
0.000139
1.000
5.963389
6.213435
6.194446
6.194631
0.231243
0.018804
0.000185
=========================================================================
b) h = 0.4
MasukkanPersamaandiferensialdy/dt = '-0.5*y+4*exp(0.8*t)'
Masukkanbatas interval [a,b]= [0,1]
Masukkannilaiawaly(0) = 2
Masukkanukuranlangkah h = 0.4
Masukkanpenyelesaianeksaknya = '40/13*exp(4/5*t)-14/13*exp(-1/2*t)'
=========================================================================
iti
Euler
RK-2
RK-3
exact
errEuler
errRK-2
errRK-3
=========================================================================
0
0.000
2.000000
2.000000
2.000000
2.000000
0.000000
0.000000
0.000000
0.400
3.200000
3.381702
3.355138
3.355606
0.155606
0.026096
0.000468
0.800
4.763404
5.171542
5.112376
5.113443
0.350038
0.058100
0.001067
Analisis :
1) Metode Euler
Semakin besar nilai h maka errornya semakin besar dan nilai euler dan iterasinya
semakin kecil.
2) Metode RK-2
Semakin besar nilai h maka errornya semakin besar tetap inilai RK-2 semakin
kecil dan iterasinya semakin kecil.
3) Metode RK-3
Semakin besar nilai h maka errornya semakin besar tetapi nilai RK-3 semakin
kecil dan iterasinya semakin kecil.
Kesimpulan :
Dari ketiga metode, metode RK-3 yang paling efektif di gunakan untuk
menyelesaikan Karen nila iErrornya semakin mendekati 0(nol).
3. Dsolve('Dy=2*y-2*t^2-2*t','y(0)=1')
ans =
t^2+2*t+1
Hasil :
Menggunakanukuranlangkah
a) h=0.2
MasukkanPersamaandiferensialdy/dt = '2*y-2*t^2-2*t'
Masukkanbatas interval [a,b]= [0,1]
Masukkannilaiawaly(0) = 1
Masukkanukuranlangkah h = 0.2
Masukkanpenyelesaianeksaknya= 't^2+2*t+1'
============================================================================
itiEuler
RK-2
RK-3
exact
errEuler errRK-2
errRK-3
============================================================================
0
0.000
1.000000
1.000000
1.000000
1.000000
0.000000
0.000000
0.000000
0.200
1.400000
1.432000
1.439467
1.440000
0.040000
0.008000
0.000533
0.400
1.864000
1.940160
1.958672
1.960000
0.096000
0.019840
0.001328
0.600
2.385600
2.522637
2.557487
2.560000
0.174400
0.037363
0.002513
0.800
2.955840
3.176702
3.235720
3.240000
0.284160
0.063298
0.004280
1.000
3.562176
3.898320
3.993086
4.000000
0.437824
0.101680
0.006914
============================================================================
b) h=0.4
MasukkanPersamaandiferensialdy/dt = '2*y-2*t^2-2*t'
Masukkanbatas interval [a,b]= [0,1]
Masukkannilaiawaly(0) = 1
Masukkanukuranlangkah h = 0.4
Masukkanpenyelesaianeksaknya= 't^2+2*t+1'
============================================================================
iti Euler
RK-2
RK-3
exact
errEuler errRK-2
errRK-3
============================================================================
0
0.000
1.000000
1.000000
1.000000
1.000000
0.000000
0.000000
0.000000
0.400
1.800000
1.896000
1.951467
1.960000
0.160000
0.064000
0.008533
0.800
2.792000
3.040320
3.212648
3.240000
0.448000
0.199680
0.027352
Analisis:
1) Metode Euler
Semakin besar nilai h maka errornya semakin besar dan nilai euler dani terasiny
asemakin kecil.
2) Metode RK-2
Semakin besar nilai h maka errornya semakin besar tetapi nilai RK-2 dan
iterasinya semakin kecil.
3) Metode RK-3
Semakin besarnilai h maka errornya semakin besar tetapi nilai RK-3 dan
iterasinya semakin kecil.
Kesimpulan:
Dari ketiga metode, metode RK-3 yang paling efektif di gunakan untuk
menyelesaikan karena nilai Errornya semakin mendekati 0(nol).
4.
Dsolve('Dy= (y-t*y)/t^2','y(-1)=1')
ans =
-1/exp(1)/exp(1/t)/t
Hasil :
MasukkanPersamaandiferensialdy/dt = '(y-t*y)/t^2'
Masukkanbatas interval [a,b]= [-1,1]
Masukkannilaiawaly(-1) = 1
Masukkanukuranlangkah h = 0.4
Masukkanpenyelesaianeksaknya = '-1/exp(1)/exp(1/t)/t'
============================================================================
itiEuler
RK-2
RK-3
exact
errEulererrRK-2
errRK-3
============================================================================
0
-1.000
1.000000
1.000000
1.000000
1.000000
0.000000
0.000000
0.000000
-0.600
1.800000
3.000000
3.175926
3.246223
1.446223
0.246223
0.070297
-0.200
0.200
5.000000
55.666667
97.159808 272.990750
267.990750
217.324083
175.830942
-0.012394
-0.115806
-0.135335