Міносвіти Росії
Федеральне державне бюджетне освітня установа
вищої професійної освіти
" Нижегородський державний технічний університет
ім. Р.Є. Алексєєва"
Арзамаський політехнічний інститут (філія)
Лабораторна робота
з дисципліни Чисельні методи
Варіант №6
Виконали:
студентки гр. АСПМ 12-1
Кузнєцова Ольга
Мінєєва Ірина
Архипова Катерина
Перевірив викладач:
Еварт Т.Є.
Арзамас
г.
Завдання №1
корінь дихотомія ньютон програма
Виконати відділення коренів для функції
Виконати уточнення коренів з точністю 0,001, використовуючи метод дихотомії, метод Ньютона, метод простої ітерації.
Рішення.
) Метод дихотомії
Лістинг програми на С ++
# include lt; iostream gt;
# include lt; cmath gt;
# include lt; iomanip gt; namespace std;
//прототип функції - права частьf (double x0);
//прототип функції - метод половинного деленіяpol (double a, double b, double eps, int amp; t); main ()
{(LC_ALL, Russian ); a, b, eps, R1, x1; t1; lt; lt; n Ввести початок відрізка а= raquo ;; gt; gt; a; lt; lt; n Ввести кінець відрізка b= raquo ;; gt; gt; b; lt; lt; n Ввести точність eps= raquo ;; gt; gt; eps; lt; lt; laquo ; n *** Метод дихотомії *** n raquo ;; lt; lt; n Початок відрізка а= lt; lt; a; lt; lt; n Кінець відрізка b= lt ; lt; b; lt; lt; n Точність eps= lt; lt; eps;=pol (a, b, eps, t1);=(ba)/(pow (2.0, t1)); lt; lt; n Корінь x= lt; lt; x1; lt; lt; n Кількість ітерацій t= lt; lt; t1; lt; lt; n Абсолютна похибка методу R1= lt; lt; R1; lt; lt; endl;
}
//визначення функції - права частьf (double x0)
{y;=pow ((x0 + 1), 3) + log (x0); y;
}
//визначення функції - метод половинного деленіяpol (double a, double b, double eps, int amp; t)
{x0;=1;: x0=(a + b)/2; (f (x0) == 0) goto c1; if (f (a) * f (x0) lt; 0) b=x0; a=x0; (abs (ba) gt; 2 * eps) {
t ++; c;
}: return x0;
}
Результат роботи програми
Ввести початок відрізка а=0.1
Ввести кінець відрізка b=0.2
Ввести точність eps=0.001
*** Метод дихотомії ***
Початок відрізка а=0.1
Кінець відрізка b=0.2
Точність eps=0.001
Корінь x=0.185938
Кількість ітерацій t=6
Абсолютна похибка методу R1=0.0015625
Для продовження натисніть будь-яку клавішу...
) Метод Ньютона
Лістинг програми на С ++
# include lt; iostream gt;
# include lt; cmath gt;
# include lt; iomanip gt; namespace std;
//прототип функції - права частьf (double x0);
//прототип функції - права частина - перша проізводнаяf1 (double x0);
//прототип функції - права частина - друга проізводнаяf2 (double x0);
//прототип функції - метод Ньютонаnewton (double x0, double eps, double M, double m, double amp; x, int amp; t, double amp; R); main ()
{setlocale (LC_ALL, Russian ); M, m, eps, R2, x2, x0; t2; lt; lt; n Ввести точність eps= raquo ;; gt; gt; eps; lt; lt; n Ввести абсолютне максимальне значення другої похідної функції правої частини рівняння на заданому відрізку M= raquo ;; gt; gt; M; lt; lt; n Ввести абсолютне мінімальне значення першої похідної функції правої частини на заданому відрізку m= raquo ;; gt; gt; m; lt; lt; n Ввести початкове наближення x0= raquo ;; gt; gt; x0; lt; lt; n *** Метод Ньютона *** n raquo ;; lt; lt; n Абсолютна максимальне значення другої похідної функції правої частини рівняння ...