Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичні матеріали для забезпечення лабораторн...doc
Скачиваний:
3
Добавлен:
12.11.2019
Размер:
673.28 Кб
Скачать

Лабораторна робота №2 Метод пропорційних частин (хорд)

Нехай треба знайти корінь рівняння f(x) на відрізку [A,B] і відомо, що f(x) неперервна на [A,B] і f(A) f(B)<0; крім цього, f(x) та f(x)на відрізку [A,B] зберігає свій знак. Для розв’язання рівняння доцільно використати метод пропорційних частин (метод хорд), котрий дає розв’язки задачі для досить малих за меншу кількість арифметичних операцій, ніж метод половинного ділення.

Для наближеного кореня рівняння /1/ (Лабораторна робота №1) замінимо функцію на відрізку [A,B] лінійною функцією

P(x) = f(A) + (x-A)(f(B) – f(A))/(B-A),

що на кінцях відрізка [A,B] приймає ті ж самі значення, що й функція f(x). За перше наближене значення кореня f(x) беремо корінь функції P(x), тобто знаходимо таке значення x1, при якому P(x1) =0. Це значення x1 (перше наближення) визначається за формулою

x1 = Af(A)(B-A)/(f(B) – f(A)) /2/

Потім розглядаємо відрізки [A,x], [x,B] і обираємо з цих двох відрізків той, на кінцях якого функція f(x) має різні знаки. Ті ж самі обчислення повторюємо на обраному відрізку і отримуємо друге наближення кореня x2 і т. д. Поки не отримаємо корінь рівняння /1/ з заданою точністю.

Схема для обчислення методом пропорційних частин реалізується так.

Спочатку задаємо точність , з якою треба отримати розв’язок, потім:

1). надамо значення x0 =A та x1 = B;

2). обчислюємо наближення до кореня за формулою:

x =( x0 f(x1 ) - x1 f(x0 ))/(f(x1 ) – f(x0 )) /3/

3). перевіряємо виконання нерівності f(x)< , і, якщо ця нерівність виконується, тоді x вважаємо розв’язком рівняння /1/, а інакше продовжуємо обчислення.

4). перевіряємо умову f(x)f(x0)<0, і при її виконанні надамо значення x, інакше надамо x0 значення x та повторюємо обчислення з пункту 2).

Надамо геометричну інтерпретацію методу. Нехай функція y = f(x) має графік, зображений на мал. 2.

З’єднаємо точки та прямою і точку перетину цієї прямої з віссю візьмемо за перше наближення до кореня. Потім з’єднаємо точки , прямою і точку перетину прямої з віссю приймаємо за друге наближення до кореня. Цей процес продовжуємо до тих пір, доки не виконається умова виходу з ітераційного процесу.

Блок-схема алгоритму методу пропорційних частин зображена на мал.2.

Лабораторна робота №3 Метод Рибакова

Нехай необхідно знайти декілька дійсних коренів рівняння /1/ на відрізку [A,B], причому похідна функції f(x) на [A,B] може мати розриви першого роду.

Для розв’язання цієї задачі доцільно використовувати метод Рибакова. Опишемо схему цього метода. До початку ітераційного процесу задамо точність , з якою необхідно отримати корені рівняння /1/, обираємо деяке число М, що задовольняє нерівності (при умові A x B) max f(x)  M.

Завищення М не порушує збіжності методу, а тільки уповільнює. Потім:

1). надамо значення x0 = A;

2). для кожного к = 0,1,2… (к – номер ітерації) обчислюємо к +1-е наближення до кореня за формулою: xk+1 = xk + f(xk) /M ;

3). перевіряємо умову xk+1 < B, якщо умова не виконується то вважаємо, що всі корені були знайдені, а інакше, продовжуємо подальші обчислення;

4). перевіряємо виконання умови xk+1 - xk >,

при виконанні переходимо до п.2); а інакше вважаємо одним з коренів;

5). обчислюємо початкове наближення до наступного кореня: x0 = xk+1 +.

Надамо геометричну інтерпретацію розглянутого ітераційного процесу. Нехай функція y = f(x) має графік, зображений на мал. 3. Початкове наближення до кореня x0 = A. Через точку (A, f(A)) проводимо пряму (тангенс кута нахилу дорівнює М). Точку перетину цієї прямої з віссю OX вважаємо першим приближенням до першого кореня. Через точку (x1, f(x1)) проводимо пряму, паралельну першій. Точку перетину цієї прямої з віссю OX приймаємо за друге наближення до першого кореня і т.д., доки не отримаємо корінь. Відступив від нього вправо на , починаємо шукати наступний корінь.

Тут змінна T отримує значення 1, після першого виконання умови п.4. При цьому змінні x2 і x3 запам’ятовують значення xk+1. Значення x = (x2 +x3)/2 буде надруковано, якщо при новому значенні xk+1 не виконується умова /6/. Інакше знову змінюється x2 (отримує значення xk+1), а x3 зберігає своє значення.