MATLAB Program for Forward Euler's Method
% Forward 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)
(0*y+exp(t)); % 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;
w(i+1)=w(i)+h*f(t(i),w(i));
fprintf('%5.4f %11.8f\n', t(i), w(i));
plot(t(i),w(i),'m*'); grid on;
xlabel('t values'); ylabel('w values');
hold on;
end
>> forwardmodifiedEulermethod
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.40000000
0.4000 1.87200000
0.6000 2.41440000
0.8000 3.02528000
1.0000 3.70233600
1.2000 4.44280320
1.4000 5.24336384
1.6000 6.10003661
1.8000 7.00804393
2.0000 7.96165272
>>
No comments