Максимальный корень второй производной
Вот код нахождения Первой производной:
double firstDerivative(FooPointer f, double x)
{
return (f(x + 0.0000001) - f(x)) / 0.0000001;
}
Вот Второй производной:
double secondDerivative(FooPointer f, double x)
{
double v1 = firstDerivative(f,x);
double v2 = firstDerivative(f, x+ 0.0000001);
return (v2 - v1) / 0.0000001;
}
И вот нахождения корня:
double rootSearch(double a, double b,double h, FooPointer f, double x)
{
double fooA = (((f((a + 0.0000001) + 0.0000001) - f(a + 0.0000001)) /
0.0000001)
- ((f(a + 0.0000001) - f(a)) / 0.0000001)) / 0.0000001;
double max;
while (b - a > h)
{
double c = (a + b) / 2;
max=c;
double secondDerivative = (((f((c + 0.0000001) + 0.0000001) - f(c +
0.0000001)) / 0.0000001)
- ((f(c + 0.0000001) - f(c)) / 0.0000001)) / 0.0000001;
if (fooA * secondDerivative >= 0){a = c;}
else{b = c;}
}
** В общем корень находит, но никак не могу понять как здесь найти его максимальное значение. Буду благодарен советам!**