Главная Учебники - Разные Лекции (разные) - часть 45
2.1
Цель работы:
Изучить комбинированный метод для вычисления действительного корня уравнения, уметь использовать данный метод для решения уравнений с использованием ЭВМ. 2.2 Расчётные формулы
Расчётная формула вычисления
Расчётная формула вычисления
Начальное приближение
или Начальное приближение Процесс вычисления корня останавливается, когда выполняется условие: где За приближенное значение корня уравнения принимается:
2.3 Подготовительная работа
Вычислить корень уравнения Графически отделим корни. Для этого данное уравнение запишем в виде
Рисунок 2.1 Точный корень уравнения Проверяем условия, гарантирующие единственность корня на [0;1] и сходимость метода:
За начальное приближение для метода касательных берём Процесс вычисления корня: . Условие Требуемая точность вычисления результата была достигнута за 2 итерации. Результат 0,607199. 2.4 Текст программной реализации
#include <iostream> #include <math.h> using namespace std; double f(double x) { return 3*x-cos(x)-1; } double fw(double x) { return 3+sin(x); } void main() { double xk, xh, tochnost, otvet; cout<<"Vvedite nachalnoe priblizhenie po metodu kasatelnih xk="; cin>>xk; cout<<"\nVvedite nachalnoe priblizhenie po metodu hord xh="; cin>>xh; cout<<"\nX-hord\t\tX-kasatelnih\tTochnost\n-----------------------------------"; int n; for(n=0; n<20; n++) { xh -= f(xh)*(xk-xh)/(f(xk)-f(xh)); xk -= f(xk)/fw(xk); tochnost=fabs(xh-xk); cout<<'\n'<<xh<<'\t'<<xk<<'\t'<<tochnost; if(tochnost<0.001) break; }; n++; otvet=(xh+xk)/2; cout<<"\n\nKolichestvo iteraciy="<<n; cout<<'\n'<<'\n'<<"Koren uravneniya="<<otvet; cin>>xk;
|