Home Login  |   Contact  |   About Us       Thursday, November 28, 2024   

j0110924 - Back to Home
   Skip Navigation LinksHOME ›  AREAS OF EXPERTISE  #3 ›   Differential Equations ›  ~ RungeKutta-Fehlberg



Skip Navigation Links.



"Ordinary Differential Equations"
RungeKutta-Fehlberg Method
Results for a coupled spring system with Step Size h

t
x1
x2
v1
v2

Solution from RungeKutta-Fehlberg Method

Step Size h = { 0. },




IMPLEMENTATION
Runge Kutta-Fehlberg Method

As with solving a single first-order ordinary differential equation, this method is a more efficient and effective method for performing numerical integration, because it can estimate the truncation error at each integration step and automatically adjust the step size to keep the error within a prescribed tolerance.

Error Algorithm Creation

There is simply no single choice that works well in all problems. To control the largest component of E(h), that error measure would be:

error(h) = MAXi|Ei(h)|

To control some gross measure of the error, the root-main-square error defined by

error(h) = √ 1/n ∑i=0n-1 E2i (h)

where n is the number of first-order differential equations.



Testing the Runge Kutta-Fehlberg Method

To test the method as defined above, a new TestRungaKuttaFehlberg() static method has been added and executed. Supporting code and methods are not shown.

An initial "Step Size h = { 0.5}" for the test has been defined.

           static void TestRunge KuttaFehlberg();
              {
                 ListBox1.Items.Clear();
                 ListBox2.Items.Clear();
                 ListBox3.Items.Clear();
                 ListBox4.Items.Clear();
                 ListBox5.Items.Clear();
                 double dt = t1;
                 double t0 = 0.0;
                 VectorR x0 = new VectorR(new double[] { x10, x20, v10, v20 });
                 VectorR x = x0;
                  for (int i = 0; i < 21; i++);
                 {
                  double t = 0.1 * i;
                   x = ODE.MultiRungeKuttaFehlberg(f1, t0, x, t, dt, 1e-5);
                   ListBox1.Items.Add(" " + t );
                   ListBox2.Items.Add(" " + x[0]);
                   ListBox3.Items.Add(" " + x[1]);
                   ListBox4.Items.Add(" " + x[2]);
                   ListBox5.Items.Add(" " + x[3]);
                 }
              }

The user can manipulate step size and try variations (0.1 - 0.9) only.



Other Implementations...


Object-Oriented Implementation
Graphics and Animation
Sample Applications
Ore Extraction Optimization
Vectors and Matrices
Complex Numbers and Functions
Ordinary Differential Equations - Euler Method
Ordinary Differential Equations 2nd-Order Runge-Kutta
Ordinary Differential Equations 4th-Order Runge-Kutta
Higher Order Differential Equations
Nonlinear Systems
Numerical Integration
Numerical Differentiation
Function Evaluation


   Quotes

Consulting Services - Back to Home


Home

Home Math, Analysis,
  expertise..."

EIGENVALUE
SOLUTIONS...


> Rayleigh-Quotient Method

> Cubic Spline Method

 

Applied Mathematical Algorithms

Home

ComplexFunctions

Home

NonLinear
Home

Differentiation
Home

Integration
About Us


KMP Software Engineering is an independent multidisciplinary engineering consulting company specializing in mathematical algorithms.

      (About Us) →
Areas of
Expertise


SpecialFunctions
VectorsMatrices
OptimizationMethods
ComplexNumbers
Interpolation
CurveFitting
NonLinearSystems
LinearEquations
DistributionFunctions
NumericalDifferentiation
NumericalIntegration
DifferentialEquations
Smalltalk
FiniteBoundary
Eigenvalue
Graphics
Understanding
Mining


MiningMastery
MineralNews
MineralCommodities
MineralForum
Crystallography
Services


NumericalModeling
WebServices
MainframeServices
OutsourceServices

LINKED IN
MINE REVIEW(by G.Pacheco)
Brand





Home

Login

Contact
Since 2006 All Rights Reserved  © KMP Software Engineering LINKS | PRIVACY POLICY | LEGAL NOTICE