function [x,y] = eulerApprox(startx,h,endx,starty,func) % file: eulerApprox.m % This matlab subroutine will find the approximation to % a D.E. given by % y' = func(x,y) % y(startx) = starty % % To run this file you will first need to specify % the following: % startx : the starting value for x % h : the step size % endx : the ending value for x % starty : the initial value % func : routine name to calculate the right hand % side of the D.E.. This must be specified % as a string. % % ex: [x,y] = eulerApprox(0,1,1/16,1,'f'); % Will return the approximation of a D.E. % where x is from 0 to 1 in steps of 1/16. % The initial value is 1, and the right hand % side is calculated in a subroutine given by % f.m. % % The routine will generate two vectors. The first % vector is x which is the grid points starting at % x0=0 and have a step size h. % % The second vector is an approximation to the specified % D.E. % x = [startx:h:endx]; y = 0*x; y(1) = starty; for i=2:max(size(y)), y(i) = y(i-1) + h*feval(func,x(i-1),y(i-1)); end