# Calculation using Euler's method

Given y' = 1 - 2x - 3y, starting condition y(4)=5 and h = 1/2

I am asked to estimate by hand the value for y(5).

My question is, if my staring value are as follows:

start:    x=4     y=5     y'= -22


then I suppose I have to do the Euler method the other way around and double the x-value instead of halving it since I need to get to $$x=5$$. However, in that case the next x-value will be $$x=8$$. How do I get $$x=5$$ if my step length is $$1/2$$?

Sorry if this question seems dumb or easy but I really don't see how I can get to the answer.

You compute in two steps first an approximation to $$y(4.5)=y(4+0.5)$$ and with that then $$y(5)=y(4.5+0.5)$$, all using the formula $$y(x+h)\approx y(x)+h\,f(x,y(x))$$ of the Euler forward method.

Setting $$u=3y+2x-1$$ so that $$y'=-u$$ gives $$u'=3y'+2=-3u+2$$. Then setting $$v=3u-2$$ so that $$u'=-v$$ results in $$v'=3u'=-3v$$, so that $$v=Ce^{-3x}$$. Inserting backwards gets $$u=\frac23+Ce^{-3x}$$, so that the exact solution is $$y(x)=\frac19-\frac23x+Ce^{-3x},$$ the constant $$C$$ is determined by the initial condition.

Of course you need $$Lh<0.1$$, where $$L$$ is the $$y$$-Lipschitz constant, here $$L=3$$, to get at least one digit correct. So usable step sizes are $$h=0.03$$ and below.

In python you get values for finer step sizes with the script

for N in [10,20,30,100]:
x, y, h = 4, 5, 0.5/N;
print "\nN=%3d, h=%.3g\n----"%(N,h)
for k in range(3):
print "%3d:  %8.4f  %10.6f"%(k,x,y);
if k==3: continue
for j in range(N): x,y = x+h, y+h*(1-2*x-3*y);


producing the table

N= 10, h=0.05
----
0:    4.0000    5.000000
1:    4.5000   -1.044449
2:    5.0000   -2.502154

N= 20, h=0.025
----
0:    4.0000    5.000000
1:    4.5000   -0.948994
2:    5.0000   -2.463288

N= 30, h=0.0167
----
0:    4.0000    5.000000
1:    4.5000   -0.918124
2:    5.0000   -2.450170

N=100, h=0.005
----
0:    4.0000    5.000000
1:    4.5000   -0.875670
2:    5.0000   -2.431692

• I'm sorry, I thought that it was $x_1 = x_0 * h$ instead of adding x and h. Thank you so much for your help! – P.ython Feb 11 at 18:13