Решение уравнений методом хорд на C++
Уравнение вида aX^3+bX^2+cX+d=0 решается на C++ так:
#include <iostream>
#include <cmath>
double func(double x)
{
return pow(x, 3) - 2 * pow(x, 2) - 6 * x - 1;
}
double find(double infinum, double supremum, double epsilon)
{
while (fabs(supremum - infinum) > epsilon)
{
infinum = supremum - (supremum - infinum) * func(supremum) / (func(
supremum) - func(infinum));
supremum = infinum - (infinum - supremum) * func(infinum) / (func(
infinum) - func(supremum));
}
return supremum;
}
int main()
{
double a = -5, b = 5;
std::cout << find(a, b, 0.0001) << std::endl;
return 0;
}
13.11.2015, 13:24 -
Категория: Статьи » Программирование » C++