legend Euler
, Heun
, Blok Rasional
B. Program untuk contoh 2
clear clc
format long
x0=0; x awal
y0=1.01; y awal
z0=-2; z awal
xb=1; x akhir
N=128; banyaknya langkah pengintegralan
h=xb-x0N; ukuran-langkah
misalkan y=y f: y=z
g: y=z=-101z-100y x=[x0:h:xb];
x0,x1,x2,...,xb y=zerosN+1,1; Hy=zerosN+1,1; By=zerosN+1,1;
y=Euler, Hy=Heun, By=Blok Rasional
z=zerosN+1,1; Hz=zerosN+1,1; Bz=zerosN+1,1; y=Euler,
Hz=Heun, Bz=Blok Rasional y1=y0; Hy1=y0; By1=y0;
nilai awal y z1=z0; Hz1=z0; Bz1=z0;
nilai awal z penyelesaian numeris
penyelesaian dengan metode Euler for
i=1:N bagian f
fi=zi; yi+1=yi+hfi;
metode Euler bagian g
gi=-101zi-100yi; zi+1=zi+hgi;
metode Euler end
penyelesaian dengan metode Heun for
i=1:N k1=Hzi;
fx,y,z k3=-101Hzi-100Hyi;
gx,y,z x_baru=xi+h;
xn+1 y_baru=Hyi+hk1;
yn+1 z_baru=Hzi+hk3;
zn+1 bagian f
k2=z_baru; f[xn+1,yn+1,zn+1]
Hyi+1=Hyi+h2k1+k2; bagian g
k4=-101z_baru-100y_baru; g[xn+1,yn+1,zn+1]
Hzi+1=Hzi+h2k3+k4; end
penyelesaian dengan metode Blok Rasional for
i=1:2:N fi=Bzi;
f gi=-101Bzi-100Byi;
g diff_f=gi;
f - turunan pertama fx,y,z terhadap x diff_g=-100fi-101gi;
g - turunan pertama gx,y,z terhadap x
Byi+1=Byi+2hfi22fi-hdiff_f; metode 3
Lambert Bzi+1=Bzi+2hgi22gi-hdiff_g;
metode 3 Lambert
bagian f fi+1=Bzi+1;
Byi+2=Byi+1+hfi+1Byi+1-Byi2Byi+1- Byi-hfi+1;
metode 2 Lambert bagian g
gi+1=-101Bzi+1-100Byi+1; Bzi+2=Bzi+1+hgi+1Bzi+1-Bzi2Bzi+1-
Bzi-hgi+1; metode 2 Lambert
end Penyelesaian eksak
y_eksak=0.01exp-100x+exp-x; Plot grafik
figure bagian y
plotx,y_eksak, k
; plot y eksak
axis[0 1 0.3 1] hold
on grid
on plotx,y,
bo ;
plot Euler plotx,Hy,
r- ;
plot Heun plotx,By,
g ;
plot blok rasional keterangan grafik
title Penyelesaian eksak dan numeris untuk N=128
xlabel x
ylabel y
legend y eksak
, Euler
, Heun
, Blok Rasional
display penyelesaian eksak dan numeris B1=[y_eksak y Hy By];
disp y eksak y Euler Hy Heun By Blok Rasional
disp ======================================================
dispB1 Penghitungan kesalahan numeris
y_error=absy_eksak-y; Hy_error=absy_eksak-Hy;
By_error=absy_eksak-By; disp
Kesalahan penyelesaian numeris untuk N=128 error_1=[y_error Hy_error By_error];
disp y Euler Hy Heun By Blok Rasional
disp ====================================================
disperror_1 plot kesalahan numeris
figure plotx,y_error,
bo plot kesalahan Euler
hold on
grid on
plotx,Hy_error, r-
plot kesalahan Heun plotx,By_error,
g plot kesalahan blok rasional
Keterangan grafik title
Kesalahan penyelesaian numeris untuk N=128 xlabel
x ylabel
y legend
Euler ,
Heun ,
Blok Rasional Kesalahan maksimum
Error_max_EULER=maxy_error; Error_max_HEUN=maxHy_error;
Error_max_BLOK=maxBy_error; Error_max=[Error_max_EULER Error_max_HEUN Error_max_BLOK];
disp kesalahan maksimum
disp Euler Heun Blok Rasional
disp ===================================================
dispError_max
C. Program untuk contoh 3
clear clc
format long
x0=0; x awal
y0=1; y awal
xb=1; x akhir
N=64; banyaknya langkah pengintegralan
h=xb-x0N; ukuran langkah
x=[x0:h:xb]; x0,x1,x2,...,xb
y=zerosN+1,1; H=zerosN+1,1; B=zerosN+1,1; y=euler,
H=heun, B=Blok Rasional y1=y0; H1=y0; B1=y0;
nilai awal Penyelesaian numeris
penyelesaian dengan metode Euler