Example #1
0
 private static void FindSolutionByNewton()
 {
     iteration = 0;
     for (int q = 0; q < 25; q++)
     {
         var diff = poly.Evaluate(chosenComplex).Divide(derivationPoly.Evaluate(chosenComplex));
         chosenComplex = chosenComplex.Subtract(diff);
         if (Math.Pow(diff.RealPart, 2) + Math.Pow(diff.ImaginaryPart, 2) >= 0.5)
         {
             q--;
         }
         iteration++;
     }
 }
Example #2
0
        private static float FindSolution(Polynome polynome, Polynome polynomeDerivated, ref ComplexNumber complexNumber)
        {
            // find solution of equation using newton's iteration
            float it = 0;

            for (int q = 0; q < 30; q++)
            {
                ComplexNumber diff = polynome.Evaluate(complexNumber).Divide(polynomeDerivated.Evaluate(complexNumber));
                complexNumber = complexNumber.Subtract(diff);

                if (Math.Pow(diff.RealPart, 2) + Math.Pow(diff.ImaginaryPart, 2) >= 0.5)
                {
                    q--;
                }
                it++;
            }

            return(it);
        }