MATLAB Program for Backward Euler's method
MATLAB Program:
OUTPUT:
% Backward 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;
wprime=w(i)+h*f(t(i),w(i));
w(i+1)=w(i)+h*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
>> backwardmodifiedEulermethod
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.47200000
0.4000 2.03168000
0.6000 2.68088320
0.8000 3.42189517
1.0000 4.25755001
1.2000 5.19136201
1.4000 6.22768889
1.6000 7.37193423
1.8000 8.63079844
2.0000 10.01259007
>>
No comments