Euler Method using Mathematica

Post on 20-Oct-2015

111 views 3 download

Tags:

description

Euler and Modified Euler mathematica programming

Transcript of Euler Method using Mathematica

Assignment no: 8. Euler and Modified Euler equation to solve Differen-

tial Equations

Method:1 Solving Differential equation by NDSolve function

clear@ppDclear@ppD

pp = NDSolve@8y'@tD � t^2 + Hy@tDL^2 - 1, y@-2D � -2<, y, 8t, -2, 2<D88y ® InterpolatingFunction@88-2., 2.<<, <>D<<

plt@1D = Plot@Evaluate@y@tD �. ppD, 8t, -2, 2<, PlotStyle ® 8Orange, Thick<D

-2 -1 1 2

-2.0

-1.5

-1.0

-0.5

0.5

clear@modiefiedeulerDclear@modiefiedeulerD

modifiedeuler@f_, 8x_, x0_, xn_<, 8y_, y0_<, steps_D :=

Block@8xold = x0, yold = y0, sollist = 88x0, y0<<, x, y, h<, h = N@Hxn - x0L � stepsD;

Do@xnew = xold + h;

fold = f �. 8x ® xold, y ® yold<;

ynew = yold + Hh � 2L * HHfoldL + f �. 8x ® xold + h, y ® yold + h * fold<L;

sollist = Append@sollist, 8xnew, ynew<D;

xold = xnew;

yold = ynew, 8steps<D;

Return@sollistDD

solution = heun@x^2 + y^2 - 1, 8x, -2, 2<, 8y, -2<, 20D

98-2, -2<, 8-1.8, -1.04<, 8-1.6, -0.537726<, 8-1.4, -0.253993<, 8-1.2, -0.1073<,

8-1., -0.0621201<, 8-0.8, -0.0973579<, 8-0.6, -0.193606<, 8-0.4, -0.327991<,

8-0.2, -0.47472<, 9-2.77556 ´ 10-16

, -0.60954=, 80.2, -0.714329<, 80.4, -0.778617<,

80.6, -0.797869<, 80.8, -0.770441<, 81., -0.694706<, 81.2, -0.566662<,

81.4, -0.377375<, 81.6, -0.108672<, 81.8, 0.276739<, 82., 0.863166<=

In[77]:= plt@3D = ListPlot@%7,

PlotStyle ® Directive@RGBColor@0., 0.95, 0.09D, AbsoluteThickness@2.D, DashedD,

Joined ® TrueD

Out[77]=

-2 -1 1 2

-2.0

-1.5

-1.0

-0.5

0.5

euler@f_, 8t_, t0_, tn_<, 8y_, y0_<, steps_D :=

euler@f_, 8t_, t0_, tn_<, 8y_, y0_<, steps_D :=

Block@8told = t0, yold = y0, sollist = 88t0, y0<<, t, y, h<, h = N@Htn - t0L � stepsD;

Do@tnew = told + h;

ynew = yold + h * Hf �. 8t ® told, y ® yold<L;

sollist = Append@sollist, 8tnew, ynew<D;

told = tnew;

yold = ynew, 8steps<D;

Return@sollistDD

solution1 = euler@t^2 + y^2 - 1, 8t, -2, 2<, 8y, -2<, 20D

98-2, -2<, 8-1.8, -0.6<, 8-1.6, -0.08<, 8-1.4, 0.23328<, 8-1.2, 0.436164<,

8-1., 0.562212<, 8-0.8, 0.625428<, 8-0.6, 0.63166<, 8-0.4, 0.583459<,

8-0.2, 0.483544<, 9-2.77556 ´ 10-16

, 0.338307=, 80.2, 0.161197<, 80.4, -0.0256058<,

80.6, -0.193475<, 80.8, -0.313988<, 81., -0.36627<, 81.2, -0.33944<,

81.4, -0.228396<, 81.6, -0.0259629<, 81.8, 0.286172<, 82., 0.750551<=

2 Assignment 8.nb

plt@2D = ListPlot@%19, PlotStyle ®

Directive@RGBColor@1., 0., 0.56D, AbsoluteThickness@3.D, DashedD, Joined ® TrueD

-2 -1 1 2

-2.0

-1.5

-1.0

-0.5

0.5

In[78]:= plt11 = Show@8plt@1D, plt@2D<, plt@3DD

Out[78]=

-2 -1 1 2

-2.0

-1.5

-1.0

-0.5

0.5

From these three graphs it is evident that the modified euler’s method is perfect match to the

analytical solution obtained from Mathematica but there is significant error if soultion is obtained

from Euler’s method.

Assignment 8.nb 3