MATLAB Program for Modified Euler's method
MATLAB Codes:
%
Modified Euler's method
%
Example 1: Approximate the solution to
the initial-value problem
%
dy/dt=e^t ; 0<=t<=2 ; y(0)=1;
%
Example 2: Approximate the solution to
the initial-value problem
%
dy/dt=y-t^2+1 ; 0<=t<=2 ; y(0)=0.5;
%f
= @(t,y) (exp(t)+0*y); %Example 1
f = @(t,y) (y-t^2+1); %Example
2
a = input('Enter
left end ponit, a: ');
b = input('Enter
right end point, b: ');
n = input('Enter
no. of subintervals, n: ');
alpha = input('Enter
the initial condition, alpha: ');
h = (b-a)/n;
t=[a zeros(1,n)];
w=[alpha zeros(1,n)];
for i = 1:n+1
t(i+1)=t(i)+h;
wprime=w(i)+h*f(t(i),w(i));
w(i+1)=w(i)+(h/2)*( f(t(i),w(i))+
f(t(i+1),wprime));
fprintf('%5.4f %11.8f\n',
t(i), w(i));
plot(t(i),w(i),'r*');
grid on;
xlabel('t
values'); ylabel('w values');
hold on;
end
OUTPUT:
>> modifiedEulermethod
Enter left end ponit, a: 0
Enter right end point, b: 2
Enter no. of subintervals, n: 10
Enter the initial condition, alpha: 1
0.0000 1.00000000
0.2000 1.43600000
0.4000 1.95112000
0.6000 2.54516640
0.8000 3.21790301
1.0000 3.96904167
1.2000 4.79823084
1.4000 5.70504162
1.6000 6.68895078
1.8000 7.74931995
2.0000 8.88537034
>>
>> modifiedEulermethod
Enter left end ponit, a: 0
Enter right end point, b: 2
Enter no. of subintervals, n: 10
Enter the initial condition, alpha: 1
0.0000 1.00000000
0.2000 1.43600000
0.4000 1.95112000
0.6000 2.54516640
0.8000 3.21790301
1.0000 3.96904167
1.2000 4.79823084
1.4000 5.70504162
1.6000 6.68895078
1.8000 7.74931995
2.0000 8.88537034
>>
No comments