Метод хорд в С++

photo
Здесь решается квадратное уравнение \(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;}
Онлайн всего: 1
Гостей: 1
Пользователей: 0

STUDLAB Сообщить про опечатку на сайте