Solving an initial value problem with ode45
Contents
You need to download an m-file
You have to download the m-file dirfield.m.
format short g
Initial value problem
We consider the initial value problem
and we want to find the solution y(t) for t in [-2,1].
f = @(t,y) y-t; % define function f(t,y) dirfield(f,-2:.2:1, -2:.2:0.2); hold on xlabel('t'); ylabel('y') title('Direction field and initial point') t0 = -2; y0 = -1.2; % initial point plot(t0,y0,'bo')

Solve IVP with ode45
ode45 returns a vector ts of t values and a vector ys of corresponding y values.
Note that the last entry ys(end) is the y-value for time T. We can plot the solution using plot(ts,ys).
T = 1; % final t-value [ts,ys] = ode45(f,[t0,T],y0); % solve IVP yfinal = ys(end); % value for y at time T fprintf('y(T) = %g\n',yfinal) disp(' t y') disp([ts,ys]) % table of t and y values of solution plot(ts,ys,'b') % plot solution title('Solution of IVP')
y(T) = -2.01711 t y -2 -1.2 -1.925 -1.1406 -1.85 -1.0824 -1.775 -1.0255 -1.7 -0.96997 -1.625 -0.916 -1.55 -0.86366 -1.475 -0.81309 -1.4 -0.76442 -1.325 -0.71781 -1.25 -0.6734 -1.175 -0.63138 -1.1 -0.59192 -1.025 -0.55523 -0.95 -0.52153 -0.875 -0.49104 -0.8 -0.46402 -0.725 -0.44074 -0.65 -0.42149 -0.575 -0.40657 -0.5 -0.39634 -0.425 -0.39115 -0.35 -0.3914 -0.275 -0.39751 -0.2 -0.40993 -0.125 -0.42917 -0.05 -0.45574 0.025 -0.49022 0.1 -0.53324 0.175 -0.58544 0.25 -0.64755 0.325 -0.72034 0.4 -0.80464 0.475 -0.90135 0.55 -1.0114 0.625 -1.1359 0.7 -1.2759 0.775 -1.4327 0.85 -1.6076 0.925 -1.8019 1 -2.0171
