Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДОСЛІДЖЕННЯ ЧИСЕЛЬНИХ МЕТОДІВ ВИРІШЕННЯ НЕЛІНІЙНИХ РІВНЯНЬ МЕТОДАМИ НЬЮТОНА, СІЧНИХ ТА ПРОСТОЇ ІТЕРАЦІЇ.docx
Скачиваний:
66
Добавлен:
02.10.2018
Размер:
393.22 Кб
Скачать

1.4 Метод січних

Однією з головних проблем при застосуванні методу Ньютона є необхідність аналітичного опису похідної. Якщо це складно чи неможливо, то можна застосувати її наближену оцінку. Тоді замість методу дотичних застосовується метод січних, за яким

(1.8)

де - наближена оцінка похідної, що розглядається як січна, а не як доти-

чна, і може бути оцінена за формулою

, (1.9)

чи

(1.10)

де h — деякий невеликий крок.

Алгоритм цього методу подібний методу Ньютона, але з іншою ітераційною формулою.

Рисунок 1.3 - Метод січних

1.5 Метод простої ітерації

Цей метод можна використовувати лише якщо доведена збіжність ітераційного алгоритму. В цьому методі процес розв’язання потрібно починати з пошуку інтервалу збіжності. Умовою збіжності є те що максимальне значення І-ї похідної правої частини рівняння Х=g(x) (1) (до такого вигляду потрібно привести вихідне рівняння f(x)=0 ) повинна бути менша за 1. Якщо умова не виконується, то алгоритм не збіжний. Коли в інтервалі збіжності немає коренів, треба застосовувати інші методи або приходити до рівняння (1) через інші способи.

Похибка ж методу на n – ій ітерації обчислюється так:

Δ< (1.11)

Рисунок 1.4 - Метод простої ітерації

2 Алгоритми методів

У цьому розділі розглянуто схеми алгоритмів таких методів: Ньютона, січних та простої ітерації.

Рисунок 2.1 – Схема алгоритму методу Ньютона

Рисунок 2.2 – Схема алгоритму методу січних

Рисунок 2.3 – Схема алгоритму методу простої ітерації

3 Розробка програмного забезпечення

3.1 Вибір мови програмування

Для вирішення цієї задачі було обрано середовище програмування С++, так як воно має ряд вагомих переваг перед іншими середовищами і мовами програмування. Зокрема такими перевагами є те, що:

- не вимагає великих затрат як апаратної частини комп’ютера так і програмної;

- дозволяє досить просто реалізовувати поставлені задачі;

- є дуже візуальним і наглядним що робить його зручним інструментом в користуванні;

- ця мова є досить гнучка і дозволяє використовувати технології об’єктно-орієнтованого програмування.

Обрана мова програмування цілком підходить для розв’язання поставленого завдання.

3.2 Вхідні та вихідні дані

Вхідні дані: нелінійне рівняння: , похідна від нього, початкове наближення, де х0 (-1.68; -0,067; 2.31), допустима похибка Δ, вхідне рівняння для методу ітерації.

Вихідні дані: знайдені корені х, які задовольняють умову:

< Δ, кількість кроків для отримання розв’язку із заданою похибкою, кількість ітерацій.

3.3 Структура програмного забезпечення

Програмний продукт складається з наступних функцій:

- int main() - головна функція програми

- double findNewton(double x, double eps) - функція обрахунку методом Ньютона.

- double findSecant(double x, double eps) - функція обрахунку методом січних

- double findSimpleIteration(double x, double eps) - функція обрахунку методом простої ітерації

Схему програми наведено у додатку А, лістинг у додатку Б.