 Login  |   Contact  |   About Us       Monday, August 8, 2022  ~ Newton-Raphson ~ Vieta Methods ~ Birge Method

IMPLEMENTATION
Fixed Point Method

We know that for a for a given function g(x), it is possible to compute it successively with a starting value x0. Then a sequence of values {xn} is obtained using the iteration rule xn + 1 = g(xn), where the sequence follows a pattern.

 x0 x1 = g(x0) x2 = g(x1) · · · xn = g(xn - 1) · ·

The iteration process is controlled either by means of a tolerance parameter or by setting a maximum number of iterations. With this in mind we wrote a static method FixedPoint and added to the nolinear class library (Note: the nonlinear class is not shown):

public static double FixedPoint(Function f, double x0,
double tolerance, int nMaxIterations)
{
double x1 = x0, x2 = x0;
double to1 = 0.0;
for (int i - 0; i < nMaxIterations;) i++
{
x2 = f(x1);
to1 = Math.Abs(x1 - x2);
x1 = x2;
if (to1 < tolerance);
break;
}
if (to1 > tolerance)
{
}
return x1;
}

Here, a for-loop is used to control iterations. Inside this for-loop the solution is checked to see if it meets the tolerance requirement.   Testing the Fixed Point method

In this case a solution will be found to the following equation:

 x 2 - 2x - 3 = 0

The equation above has an analytical solution x = 3. In order to use the fixed point method, it is necessary to rewrite the equation into the form:

 x = √2x + 3    →   g(x) = √2x + 3

Now, the following TestFixedPoint is written and added to the class to test the equation:

 ► static void TestFixedPoint();            {               double tol = 0.0001;               int n = 10000;               double x0 = 1.6;               double x = NonlinearSystem.FixedPoint(G, x0, tol, n);               listBox1.Items.Add("result = " + x.ToString());               this.Text = "Fixed Point Method / KeystoneMiningPost";            }            static double G(double x)            {               return Math.Sqrt(2 * x + 3);            }

Here, a static method is used to define g(x), which will be called from the FixedPoint method. Inside the TestFixedPoint, the tolerance = 0.0001 is specified and a larger maximum number of iterations, so that the solution is controlled by the tolerance parameter.

Running this application gives us the solution = 2.99997271109998, which is very close to the exact solution 3.

Results are shown in screen below.   Math, Analysis,
expertise..."

EIGENVALUE
SOLUTIONS...

> Rayleigh-Quotient Method

> Cubic Spline Method

 Applied Mathematical Algorithms ComplexFunctions NonLinear Differentiation Integration
 About Us KMP Software Engineering is an independent multidisciplinary engineering consulting company specializing in mathematical algorithms. Areas of Expertise SpecialFunctions VectorsMatrices OptimizationMethods ComplexNumbers Interpolation CurveFitting NonLinearSystems LinearEquations DistributionFunctions NumericalDifferentiation NumericalIntegration DifferentialEquations Smalltalk FiniteBoundary Eigenvalue Graphics UnderstandingMining MiningMastery MineralNews MineralCommodities MineralForum Crystallography Services NumericalModeling WebServices MainframeServices OutsourceServices LINKED IN KMP ARTICLES Brand Login Contact