Anda di halaman 1dari 4

Untuk tugas metode numeris ini mahasiswa diminta membuat program menyelesaikan

persamaan diferensial dibawah ini dengan 4 metode yaitu Euler, Heun, Midpoint, dan Rungee
Kutta orde.

𝑑𝑦
= ysin3(t) y(0) = 1
𝑑𝑡

Untuk menyelesaikan persamaan diatas saya menggunakan h sebesar 0,5 dan interval
yang digunakan adalah 0 sampai 5. Berikut source code yang digunakan.
%metode Analitik
syms y(t)
ode = diff(y,t) == y*(sin(t))^3;
cond = y(0) == 1;
y(t) = dsolve(ode,cond)%metode Euler (0<t<5 dan h=0.5)
t1=zeros(10,1);
y1=zeros(10,1);
t1(1)=0;
y1(1)=1;
for n=1:10
t1(n+1)= t1(n)+0.5;
y1(n+1)= y1(n)+0.5.*y1(n).*(sin(t1(n))).^3;
end
%metode Midpoint (0<t<5 dan h=0.5)
t2=zeros(20,1);
y2=zeros(20,1);
t2(1)=0;
y2(1)=1;
for n=1:20
t2(n+1)= t2(n)+(0.5*0.5);
y2(n+1)= y2(n)+(0.5*0.5).*y2(n).*(sin(t2(n))).^3;
end
%metode Heun (0<t<5 dan h=0.5)
t3=zeros(10,1);
y3=zeros(10,1);
t3(1)=0;
y3(1)=1;
for n=1:10
t3(n+1)= t3(n)+(0.5);
yo(n+1)= y3(n)+ 0.5.*y3(n).*(sin(t3(n))).^3;
y3(n+1)= y3(n)+ 0.5.*(0.5.*((y3(n).*(sin(t3(n))).^3.)+(yo(n+1).*(sin(t3(n+1))).^3)));
end
%metode Runga-Kutta Orde 4 (0<t<5 dan h=0.5)
t4=zeros(10,1);
y4=zeros(10,1);
t4(1)=0;
y4(1)=1;
for n=1:10
t4(n+1)= t4(n)+0.5;
k1=y4(n).*(sin(t4(n))).^3;
k2=(y4(n)+0.5*k1*0.5).*(sin(t4(n)+(0.5*0.5))).^3;
k3=(y4(n)+0.5*k2*0.5).*(sin(t4(n)+(0.5*0.5))).^3;
k4=(y4(n)+k3*0.5).*(sin(t4(n)+0.5)).^3;
y4(n+1)= y4(n)+0.5.*((k1+2*k2+2*k3+k4)./6);
end
fplot(y(t),[0 5], 'r^-');
xlabel('t');
ylabel('y(t)');
hold on
grid on
plot(t1,y1,'md-');
plot(t2,y2,'cp-');
plot(t3,y3,'y*-');
plot(t4,y4,'gh-');
legend('Analitik','Euler','Midpoint','Heun','Runge Kutta 4th')
y(t) = exp((cos(t)*(cos(t)^2 - 3))/3)*exp(2/3)

Grafik hasil program

Anda mungkin juga menyukai