Euler := proc( f :: operator, # RHS a :: numeric, # left end point b :: numeric, # right end point x0 :: numeric, # initial value n :: integer # number of nods ) local t, x, h, k; h := evalf( (b-a)/(n-1) ); t := Vector(n); for k from 1 to n do t[k] := evalf(a + (k-1)*h); end do; x := Vector(n); x[1] := x0; for k from 1 to n-1 do x[k+1] := evalf(x[k] + h*f(t[k],x[k])); end do; return t, x; end proc;