Комбинированый метод для вычисления корня уравнения

Автор: Пользователь скрыл имя, 08 Мая 2011 в 13:18, лабораторная работа

Краткое описание

Изучить комбинированный метод для вычисления действительного корня уравнения, уметь использовать данный метод для решения уравнений с использованием ЭВМ.

Файлы: 1 файл

Комбинированный метод для вычисления действительного корня уравнения.doc

— 140.50 Кб (Скачать)

      2.1 Цель работы:

      Изучить комбинированный метод для вычисления действительного корня уравнения, уметь использовать данный метод для решения уравнений с использованием ЭВМ. 

      2.2 Расчётные формулы 

      Расчётная формула вычисления -го приближения по методу касательных:

.

      Расчётная формула вычисления -го приближения по методу хорд:

.

      Начальное приближение  для метода касательных выбирают в соответствии с условием:

, если 
,

или

, если
.

     Начальное приближение  для метода хорд тогда принимается , или соответственно.

     Процесс вычисления корня останавливается, когда выполняется условие:

,

      где – заданная точность.

      За  приближенное значение корня уравнения принимается:

.

      2.3 Подготовительная  работа 

      Вычислить корень уравнения  с точность комбинированным методом.

      Графически  отделим корни. Для этого данное уравнение запишем в виде . Строим графики функций и (рис. 2.1).

Рисунок 2.1 

     Точный  корень уравнения  , отрезок [0;1] – интервал изоляции корня.

     Проверяем условия, гарантирующие единственность корня на [0;1] и сходимость метода: 

     

     

       непрерывна на [0;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;

    }

Информация о работе Комбинированый метод для вычисления корня уравнения