Метод хорд в С++
Здесь решается квадратное уравнение \(x^{2}-9x+14=0\) методом хорд. Если у вас другое уравнение поменяйте функцию. В этом методе используется производная исходной функции для определения точки нового интервала. Подробно о методе хорд можно прочитать, например, в Википедии. Здесь же только приведем схему на которой показаны первые три приближения метода. Для увеличения - кликните по рисунку. По сравнению с методом половинного деления - это более быстрый метод. Ниже приведен код программы, в которой реализован метод Хорд на языке С++. Код пригодится студентам, изучающим не только программирование, но и численные методы.
#include#include using namespace std; //Функция для полинома: double F(double x){ return x*x-9*x+14;} //Функция поиска корня: double FindRoot(double (*f)(double),double a,double b,double eps){ double c; while(abs(f(b)-f(a))>eps){ c=(f(b)*a-f(a)*b)/(f(b)-f(a)); if((f(a)*f(c)) > 0) a=c; else b=c; } return c;} int main(){ //Интервал, погрешность и корень: double a,b,eps,x; cout << "interval: "; cin >> a; cin >> b; //Проверка корректности интервала: if(F(a)*F(b) > 0){ cout << "Wrong interval!\n"; return 0;} cout << "error: "; cin >> eps; //Поиск решения: x=FindRoot(F,a,b,eps); cout << "x = " << x << endl; return 0;}