0% found this document useful (0 votes)
224 views3 pages

Euler Method Using Mathematica

Euler and Modified Euler mathematica programming

Uploaded by

Shashank Mishra
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
224 views3 pages

Euler Method Using Mathematica

Euler and Modified Euler mathematica programming

Uploaded by

Shashank Mishra
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Assignment no: 8.

Euler and Modified Euler equation to solve


tial Equations

Differen-

Method:1 Solving Differential equation by NDSolve function


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

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


0.5

-2

-1

-0.5

-1.0

-1.5

-2.0

clear@modiefiedeulerD
clear@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

Assignment 8.nb

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<,
In[77]:=

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<=

plt@3D = ListPlot@%7,
PlotStyle Directive@RGBColor@0., 0.95, 0.09D, [email protected], DashedD,
Joined TrueD

0.5

-2

Out[77]=

-1

-0.5

-1.0

-1.5

-2.0

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<=

Assignment 8.nb

plt@2D = ListPlot@%19, PlotStyle


Directive@RGBColor@1., 0., 0.56D, [email protected], DashedD, Joined TrueD
0.5

-2

-1

-0.5

-1.0

-1.5

-2.0
In[78]:=

plt11 = Show@8plt@1D, plt@2D<, plt@3DD

0.5

-2

Out[78]=

-1

-0.5

-1.0

-1.5

-2.0

From these three graphs it is evident that the modified eulers method is perfect match to the
analytical solution obtained from Mathematica but there is significant error if soultion is obtained
from Eulers method.

You might also like