International Journal of Scientific Engineering and Technology Volume No.3, Issue No.3, pp : 250-252
(ISSN : 2277-1581) 1 March 2014
A Numerical Simulator for Solving Ordinary Differential Equations B. K. Datta, N. Rahman & R. C. Bhowmik Department of Mathematics, Pabna University of Science and Technology. bimaldu@gmail.com, nl.nizhum@gmail.com & rajcumath@yahoo.com Abstract Numerical differential equations studies the methods for finding numerical approximations to the solutions of differential equations, occur in many scientific disciplines, for instance in physics, chemistry, biology, and economics. Because of its various applications, this is often viewed as a discipline in and of itself. In this paper we develop a numerical simulator for solving ordinary differential equations (ODEs). This simulator is incorporated with a combination of Euler, modified Euler and Runge-Kutta second and fourth order methods.
1. Introduction Very often the differential equations appearing in physical problems cannot be solved analytically. Thus it becomes imperative to discuss their solutions by numerical methods. In numerical method, we do not proceed in the hope of finding a relation between variables but we find the numerical values of the dependent variables for certain values of independent variables[i]. The process of finding a derivative is called differentiation. The modern development of differentiation is usually credited to Isaac Newton (1643–1727) and Gottfried Leibniz (1646–1716), who provided independent and unified approaches to differentiation and derivatives[ii]. In numerical analysis, numerical differentiation describes algorithms for estimating the derivative of a mathematical function or function subroutine using values of the function and perhaps other knowledge about the function. Isaac Newton (16421727), Joseph Raphson (1648-1715), Leonhard Euler (17071783), Joseph Lagrange (1736-1813), Carl David Tolme Runge (1856-1927), Martin Wilhelm Kutta (1867-1944), George Dantzig (1914-2005) and so on have developed the numerical differentiation. Programming language C is very flexible and powerful. It was originally designed in the early 1970s. It allows us to maximum control with minimum command. It is recognized worldwide and used in a multitude of applications especially in Numerical solution of Differential Equations. Along with other numerous benefits, we have used programming language C in this paper. The outline of this paper is as follows: Section 2 contains the description of the existing methods of numerical IJSET@2014
differential equations with methodology. In Section 3, we develop a numerical simulator, using the programming language C, which gives us the solution of an ordinary differential equation simultaneously regarding four popular existing methods namely Euler, modified Euler, RungeKutta second and fourth order. Moreover, the technique identifies the method that gives the best solution comparing with possible exact solution of the problem. We devote Section 4 to a trial of the simulator for a specific problem. Conclusions are given at the end at Section 5.
2. Existing methods We give a brief description of the existing methods of numerical differential equations like Euler, modified Euler, Runge-Kutta second and fourth order in this section with their methodology. 2.1 Euler method In mathematics and computational science, the Euler method is a first-order numerical procedure for solving ODEs with a given initial value. It is the most basic explicit method for numerical ODEs. We consider the differential equation [iii]
y f ( x, y)
(1)
with the initial condition y ( x0 ) y0
(2)
Suppose that we wish to solve the equation (1) with (2) for the
value
of
xr x0 rh
y at
( r 1, 2, 3, ...).
Integrating (1) with respect to x from y 0 to
y1 and x 0 to
x1 , we get x1
y y0 f ( x, y ) dx
(3)
x0
Assuming that f ( x, y ) f ( x0 , y0 ) in x0 x x1 , this gives Euler’s formula
y1 y0 h f ( x0 , y0 ) [for x x0 h ]
(4)
Similarly for the range x1 x x2 , we have x2
y1 y1 f ( x, y ) dx x1
Page 250
International Journal of Scientific Engineering and Technology Volume No.3, Issue No.3, pp : 250-252
(ISSN : 2277-1581) 1 March 2014
Substituting f ( x1 , y1 ) for f ( x, y ) where x1 x x2 ,
W2 ( 2 1) / 3 2 and
we have y2 y1 h f ( x1 , y1 ) [since x2 x1 h ] . And
W3 ( 2 1) / 3 2 , We
obtain
Gill,
proceeding in this way, we obtain the general formula
yn1 yn h f ( xn , yn ) , n 0,1, 2, ...
(5)
y0 (h / 2)[ f ( x0 , y0 ) f ( x1 , y )] ; (6)
1 2 2 0 , leads
k 2 h f ( x0 h / 2, y0 k1 / 2)
Consequently, y1 y0 (1 / 6)( k1 2k 2 k3 k 4 )
is the nth approximation to y1 . The iterative 0
formula (6) can be started by choosing y1 from Euler’s formula y1 y0 h f ( x0 , y0 ) 0
2.3 Runge-Kutta method (second order) Substitute y1 y0 h f ( x0 , y0 ) on the right side of equation (5), we obtain
y1 y0 (h / 2) [ f 0 f ( x0 h, y0 h f 0 )] (7) Where f 0 f ( x0 , y0 ) and x1 x0 h .
k1 h f 0 and k 2 h f ( x0 h, y0 k1 ) so
that equation (7) becomes y1 (1 / 2)[ k1 k 2 ] . This is known as Runge-Kutta second order formula.
(8)
h , value of x , direct result r . Step-1: Set n ( x x0 ) / h , y00 y0 , yoe y0 , interval
y02 0 , y04 0 , y1 y00 h f ( x0 , y00 ) Step-2: Set i 1 Step-3: While i n repeat Step-4 to step-7
j i repeat step-10
y10 y00 (1 / 2) h f ( x0 , y0 ) f ( x1 , y1 ) , y1 y10 Step-7: Set y1e y0 e h f ( x0 , y0 e ) ,
k1 h f ( x0 , y0 )
k11 h f ( x0 , y04 ) ,
k 2 h f ( x0 0 h, y0 0 k1 )
k 22 h f ( x0 h / 2, y04 k11 / 2) ,
k3 h f ( x0 1h, y0 1k1 1k1 ) k 4 h f ( x0 2 h, y0 2 k1 2 k 2 1k3 )
(9)
Where the parameters have to be determined by expanding both sides of (8) by Taylor’s series and securing agreement 4
of terms up to and including those containing h . The choice of the parameters is, again arbitrary and we have therefore several fourth order Runge-kutta formulae. If for set
1 ( 2 1) / 2 ,
IJSET@2014
INPUT: function f ( x, y ) , initial condition ( x0 , y0 ) ,
Step-6: Set x1 x0 h ,
Where
2 1 / 2 ,
We here give the algorithm that can solve differential equation numerically regarding four methods- Euler, modified Euler, Runge-Kutta second and fourth order simultaneously. Moreover, it will ensure which method gives the best solution with comparing exact solution.
Step-5: While
y1 y0 W1k1 W2 k 2 W3 k3 W4 k 4
we
3. Algorithm[vi]
Step-4: Set j 1
2.4 Runge-Kutta method (fourth order)[iv] We mention the fourth order formulae defined by
example
choice
k 4 h f ( x0 h, y0 k3 )
n 0,1, 2, ...
Now set
0 1 1/ 2 ,
the
k3 h f ( x0 h / 2, y0 k 2 / 2) (n) 1
Where y
whereas
k1 h f ( x0 , y0 )
We thus obtain the iterative formula
(n) 1
0 1 1 / 2 ,
of
to the fourth order Runge-Kutta formulae, whereas
y1 y0 (h / 2) [ f ( x0 , y0 ) f ( x1 , y1 )] y
method
2 1 1 , W1 W4 1 / 6 and W2 W3 2 / 6
2.2 Modified Euler’s method Integrating (3) by means of trapezoidal rule to obtain
( n 1) 1
the
0 0 1 1 / 2 ,
2 0 ,
1 ( 2 1) / 2 ,
2 1,
1 ( 2 1) / 2 , W1 W4 1 / 6 ,
k33 h f ( x0 h / 2, y04 k 22 / 2) , k 44 h f ( x0 h, y04 k33 ) , y1r4 y04 (k11 2k 22 2k33 k 44 ) / 6 , k1 h f ( x0 , y02 ) , k 2 h f ( x0 h, y02 k1 ) , y1r2 y02 (k1 k 2 ) / 2 ,
y0 e y1e ,
y00 y10 ,
y04 y1r4 , y02 y1r2 , x0 xn . Step-8: Set
a y1e r , b y10 r , c y1r2 r , d y1r4 r Page 251
International Journal of Scientific Engineering and Technology Volume No.3, Issue No.3, pp : 250-252 If ( a b and a c )
(ISSN : 2277-1581) 1 March 2014
4.2 Output The required interpolated value of y[0.0400] in Euler
If ( a d )
method: 0
y1e Else
The required interpolated value of y[0.0400] in modified
y1r4 If ( b a and b c ) If ( b d ) y10
Euler method: 1 The required interpolated value of y[0.0400] in RungeKutta method: 0.960790
Else
y1r4 If ( c a and c b ) If ( c d ) y1r2
The required interpolated value of y[0.0400] in Runge-
Else
5. Conclusion[v]
Kutta 4th order method: 0.960789 The Runge-Kutta 4th order method is the best.
y1r4 Output: y1e , y10 , y1r2 and
y1r4 with message which method
gives best solution.
4 Findings We are now offering a trial of the simulator for the numerical differential equation
dy y , with condition dx
y(0) 1 to find y(0.04) . 4.1 Input This is a program of differential equation. Enter Equation:
y
dy dx
Enter value of 0.01
References i. A. Kaw, E.E. Kalu, Numerical Methods with Applications, Lalu.com, 2008. ii. C. Edwards, Jr. The Historical Development of the Calculus, Springer-Verlag, 1997. iii. M. Goyal, Computer-based Numerical & Statistical Techniques, Infinity Science Press LLC, New Delhi, India, 2007.
h:
Enter value of x 0 : 0 Enter value of y 0 : 1 Enter target: 0.04 Type the exact value 0.9607894
IJSET@2014
In this paper, we develop a simulator incorporated with the traditional Euler, modified Euler, Runge-Kutta second and fourth order methods for solving ordinary differential equations. It been observed in the paper that the result obtained according to our procedure is much nearer to the exact solution. We therefore, hope that this algorithm can solve differential equation problems numerically and can save our time and labour. Finally, we have seen that RungeKutta fourth order gives the best solution among these.
iv. S. S. Sastry, Introductory Methods Numerical Analysis, Prentice-Hall India, 2005.
of
v. Bimal kumar Datta & M .Babul Hasan, ‘A code for solving Non-Linear Programming Problems’ , Dhaka Univ.J.Sci.59(1);25-31,2011(january). vi. Bimal kumar Datta & M .Babul Hasan, ‘A computer oriented Lagrange Method for solving Non-Linear Programming Problems’, Dhaka Univ.J.Sci.59(1);7175,2011(january).
Page 252