Exemple #1
0
        public override float findRoot(Segment ab, Polynomial F, float e)
        {
            float a = ab.a;
            float b = ab.b;
            float fa, fb, fc;

            //N = 0;

            while (true)
            {
                fa = F.f(a);
                fb = F.f(b);
                fc = F.f((a + b) / 2.0f);

                if ((b - a) < 2 * e)
                    break;
                if (fc == 0)
                    break;
               //     System.Console.WriteLine("x = {0} {1}", b-a, 2 * e);
              //  N++;

                if (fa * fc < 0)
                    b = (a + b) / 2.0f;
                else
                    a = (a + b) / 2.0f;
            }
            return (a + b) / 2.0f;
        }
Exemple #2
0
 public abstract float findRoot(Segment ab, Polynomial F, float e);