Impact-Site-Verification: dbe48ff9-4514-40fe-8cc0-70131430799e

## Search This Blog

% Midpoint 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/2)*f(t(i),w(i));
%w(i+1)=w(i)+(h/2)*f( t(i), w(i)+ f(t(i+1),wprime) );
w(i+1)=w(i)+h*f( t(i)+(h/2), 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:
>> midpoint_method
Enter left end ponit, a:  0
Enter right end point, b:  2
Enter no. of subintervals, n: 10
Enter the initial condition, alpha:  .5
0.0000   0.50000000
0.2000   0.82800000
0.4000   1.21136000
0.6000   1.64465920
0.8000   2.12128422
1.0000   2.63316675
1.2000   3.17046344
1.4000   3.72116540
1.6000   4.27062178
1.8000   4.80095857
2.0000   5.29036946
>>