Розв'язання рівнянь в EXCEL методом половинного поділу, методом хорд та дотичних. Реалізація чисельних методів розв'язання нелінійних рівнянь засобами програми MS Excel

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

Нехай після взяття похідної ми дійшли рівняння tg(x)=1/x. Проведемо такі перетворення:
tg(x)=1/x Ю x tg(x)=1 Ю x2 tg=1 Ю x2= 1 / tg(x) Ю x = ±.

Якщо в наведеному тут ланцюжку перетворень ніщо не схвилювало вашу думку, то можливо краще навчанняна цьому припинити і зайнятися чимось іншим, що не вимагає рівня знань вище за церковно-парафіяльну школу початку XX століття.

Справді, ми чудово вирішуємо квадратні та біквадратні рівняння, найпростіші тригонометричні та статечні. Ще водяться "мастодонти", які знають про існування формул Кардано для кубічних рівнянь. У загальному випадку надій на просте аналітичне рішення немає. Більш того, доведено, що навіть рівняння алгебри вище четвертого ступеня нерозв'язно в елементарних функціях. Тому рішення рівняння проводять чисельно у два етапи (тут йдеться лише про речові корені рівняння). На першому етапі проводиться відділення коренів- пошук інтервалів, в яких міститься лише по одному кореню. Другий етап рішення пов'язаний з уточненням кореняу вибраному інтервалі (визначенням значення кореня із заданою точністю).

1.1. Відділення коріння

У загальному випадкувідділення коренів рівняння f(x)=0базується на відомій теоремі, яка стверджує, що якщо безперервна функція f(x)на кінцях відрізка має значення різних символів, тобто. f(a)ґ f(b)Ј 0, то в зазначеному проміжку міститься хоча б один корінь. Наприклад, для рівняння f(x)= x 3 -6x+2=0бачимо, що за x®Ґ f(x)>0, при x®-Ґ f(x) , що вже свідчить про наявність хоча б одного кореня.

У загальному випадку вибирають деякий діапазон, де можуть виявитися коріння, і здійснюють "прогулянку" по цьому діапазону з вибраним кроком hдля виявлення зміни знаків f(x), тобто. f(x)ґ f(x+h) .

У разі подальшого уточнення кореня на виявленому інтервалі не сподівайтеся ніколи знайти точнезначення і домогтися обертання функції в нуль під час використання калькулятора чи комп'ютера, де самі числа представлені обмеженим числом символів. Тут критерієм може бути прийнятна абсолютнаабо відносна похибка кореня. Якщо корінь близький до нуля, лише відносна похибка дасть необхідну кількість значущих цифр. Якщо він дуже великий по абсолютній величині, то критерій абсолютної похибки часто дає зовсім зайві вірні цифри. Для функцій, що швидко змінюються на околиці кореня, може бути залучений і критерій: абсолютна величина значення функціїне перевищує заданої припустимої похибки.

1.2. Уточнення коренів методом половинного поділу (дихотомії)

Найпростішим із методів уточнення коренів є метод половинного поділу, або метод дихотомії, призначений для знаходження коренів рівнянь, поданих у вигляді f(x)=0.

Нехай безперервна функція f(x)кінцях відрізка має значення різних знаків, тобто. f(a)ґ f(b) Ј 0(), Тоді на відрізку є хоча б один корінь.

Візьмемо середину відрізка с=(a+b)/2. Якщо f(a)ґ f(c) Ј 0, то корінь явно належить відрізку від aдо (a+b)/2і в іншому випадку від (a+b)/2до b.

Тому беремо відповідний із цих відрізків, обчислюємо значення функції у його середині тощо. доти, доки довжина чергового відрізка не виявиться меншою від заданої граничної абсолютної похибки (b-a)e.

Оскільки кожне чергове обчислення середини відрізка cта значення функції f(c)звужує інтервал пошуку вдвічі, то при вихідному відрізку та граничній похибці eкількість обчислень nвизначається умовою (b-a)/2 n e, або n~log 2 ((b-a)/e ). Наприклад, при вихідному одиничному інтервалі та точності порядку 6 знаків ( e ~ 10 -6) після десяткової точки достатньо провести 20 обчислень (ітерацій) значень функції.

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

1.3. Уточнення коренів методом хорд

На відміну від методу дихотомії, що звертає увагу лише на знаки значень функції, але не на самі значення метод хорд використовує пропорційний поділ інтервалу ().

Рис. 3. Метод хорд

Тут обчислюються значення функції на кінцях відрізка, і будується "хорда", що з'єднує точки (a, f(a))і (b, f(b)). Крапка перетину її з віссю абсцис

приймається за чергове наближення до кореня. Аналізуючи знак f(z)у порівнянні зі знаком f(x)на кінцях відрізка, звужуємо інтервал до [ a,z] або [ z,b] і продовжуємо процес побудови хорд доти, доки різниця між черговими наближеннями не виявиться досить малою (у межах допустимої похибки) |Zn-Zn-1 |e.

Можна довести, що справжня похибка знайденого наближення:

Де X *- корінь рівняння, Z nі Z n+1- чергові наближення, mі M- найменше та найбільше значення f(x)на інтервалі [ a,b].

1.4. Уточнення коренів методом дотичних (Ньютона)

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

Найбільш популярним з ітераційних методів є метод Ньютона (метод дотичних).

Нехай відомо деяке наближене значення Z nкореня X *. Застосовуючи формулу Тейлора та обмежуючись у ній двома членами, маємо

звідки

.

Геометрично цей метод пропонує побудувати дотичну до кривої y=f(x)у вибраній точці x=Z n знайти точку перетину її з віссю абсцис і прийняти цю точку за чергове наближення до кореня ().

Очевидно, що цей метод забезпечує збіжний процес наближень лише при виконанні деяких умов (наприклад при безперервності та знаковості першої і другої похідної функції в околиці кореня) і при їх порушенні або дає розбіжний процес (), або призводить до іншого кореня ().

Очевидно, що для функцій, похідна яких в околиці кореня близька до нуля, використовувати метод Ньютона навряд чи розумно.

Якщо похідна функції мало змінюється на околиці кореня, можна використовувати видозміна методу

.

Існують інші модифікації методу Ньютона.

1.5. Уточнення коренів методом простої ітерації

Іншим представником ітераційних методів є метод простої ітерації.

Тут рівняння f(x)=0замінюється рівносильним рівнянням x = j (x)і будується послідовність значень

МІНІСТЕРСТВО ОСВІТИ І НАУКИ РФ

ФЕДЕРАЛЬНА ДЕРЖАВНА БЮДЖЕТНА

ОСВІТНЯ УСТАНОВА

ВИЩОЇ ПРОФЕСІЙНОЇ ОСВІТИ

«САМАРСЬКИЙ ДЕРЖАВНИЙ

АРХІТЕКТУРНО-БУДІВЕЛЬНИЙ УНІВЕРСИТЕТ»

Кафедра прикладної математики та обчислювальної техніки

ExcelіMathcad

МЕТОДИЧНІ ВКАЗІВКИ

до виконання лабораторних робіт

з дисципліни «Обчислювальна математика»

Рішення не лінійних рівняньвExcel таMathcad: Метод. указ. / Упоряд. , - Самара: ЗДАСУ, 20с.

Методичні вказівки розроблено відповідно до Державного освітнього стандарту вивчення дисципліни «Обчислювальна математика».

Розглянуто реалізацію чисельних методів при вирішенні нелінійних рівнянь та систем рівнянь в Excel та MathCad. Наведено варіанти завдань для індивідуального виконання та питання для самоконтролю та тестування.

Призначені для студентів спеціальності 230201 – « Інформаційні системита технології» всіх форм навчання.

Рецензент до. ф-м. н.

Ó , складання, 2012

ã ЗДАСУ, 2012

1.2 Відділення коріння

1.5 Метод хорд

1.6 Метод Ньютона (дотичних)

1.7 Комбінований метод

1.8 Метод ітерацій

2.2 Вирішення систем нелінійних рівнянь методом Ньютона

3 Завдання до лабораторних робіт

Лабораторна № 1. Відділення коренів та стандартні інструменти вирішення нелінійного рівняння

Лабораторна №2. Порівняння методів уточнення коренів нелінійного рівняння

Лабораторна №3. Розв'язання систем нелінійних рівнянь

Лабораторна № 4. Програмування методів розв'язання нелінійних рівнянь та систем

4 Питання та тести для самоконтролю


1 Розв'язання нелінійного рівняння

1.1 Загальні відомості про рішення нелінійного рівняння

Як правило, нелінійне рівняння загального вигляду f(х)=0неможливо вирішити аналітично. Для практичних завданьдостатньо знайти наближене значення x, в певному сенсіблизьке до точного вирішення рівняння хточн.

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

Досягнута точність може оцінюватися або «за функцією» (у знайденій точці x, функція досить близька до 0, тобто виконується умова | f(x)|≤ef, де efнеобхідна точність по осі ординат), або «за аргументом» (знайдено досить невеликий відрізок [ a,b], Усередині якого знаходиться корінь, тобто. | b-a|≤ex, де exпотрібна точність по осі абсцис).

1.2 Відділення коріння

Відділення коренів може здійснюватися поєднанням графічногоі аналітичногодослідження функції. Таке дослідження спирається на теорему Вейєрштраса, відповідно до якої для безперервної на відрізку [ a,b]функції f(х) та будь-якого числа y, що відповідає умові f(a)≤y≤f(b), існує на цьому відрізку точка x, в якій функція дорівнює y. Отже, для безперервної функціїдостатньо знайти відрізок, на кінцях якого функція має різні знаки, і можна бути впевненим, що на цьому відрізку є корінь рівняння f(х)=0.

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

прикладЗнайти з точністю до цілих всікоріння нелінійного рівняння y(x)=x3 ‑ 10x + 7 = 0а) побудувавши таблицю та б) побудувавши графік. Знайти корінь рівняння на виділеному відрізку, використовуючи опції «Підбір параметра» та «Пошук рішення».

РішенняСтворимо в Excel таблицю, що містить аргументи та значення функції та по ній побудуємо точкову діаграму . На малюнку 1 наведено знімок рішення.

На графіку видно, що рівняння має три корені, що належать відрізкам [-4, -3], та . Ці відрізки можна виявити і спостерігаючи за зміною знаків функції таблиці. За побудованим графіком можна дійти невтішного висновку, що у зазначених відрізках функція f(x) монотонна і, отже, кожному з них міститься лише з одному кореню.

Такий самий аналіз може бути виконаний і в пакеті Mathcad. Для цього достатньо набрати визначення функції f(x) , використовуючи оператор присвоювання (:=) і природні загальноприйняті позначення математичних операцій та стандартних функцій, задати цикл для зміни аргументу, наприклад, а потім вивести на екран таблицю значень функції (розташованими в одному рядку командами x= f(x)= ) та графік. Цикл можна задати, наприклад, командою x:=-5,-4.5…5 . Крок циклу формується шляхом завдання початкового і наступного за ним значень змінної, а перед кінцевим значенням змінної ставиться точка з комою, яка візуально відображається на екрані у вигляді крапки.

https://pandia.ru/text/78/157/images/image002_56.jpg" width="640" height="334">

Рисунок 1 – Таблиця та графік для відділення коріння нелінійного рівняння

1.3 Уточнення коренів стандартними засобами Excel та Mathcad

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

В Excel для уточнення значень коренів можна використовувати опції "Підбір параметра" та "Пошук рішення". Приклад оформлення рішення наведено на рисунках 2 та 3.

https://pandia.ru/text/78/157/images/image004_31.jpg" width="501" height="175 src=">

Рисунок 3 – Результати використання засобів вирішення рівнянняExcel

У Mathcad для уточнення коренів рівняння можна використовувати функцію root(….) або блок рішення. Приклад використання функції root(…) наведено малюнку 4, а блоку рішення малюнку 5. Слід звернути увагу, що у блоці рішення (після заголовка блоку Given) між лівою та правою частинами рівняння повинен стояти жирний знак рівності(тотожності), який можна отримати вибором з відповідної палітри інструментів, або натисканням клавіші одночасно Ctrlі = .


243" height="31">

Рисунок 5 – Рішення рівняння з використанням блоку розв'язанняMathcad

Як бачимо, кожен стандартний інструмент знаходить рішення рівняння з певною точністю. Ця точність залежить від методу, який використовується в пакеті та, певною мірою, налаштувань пакета. Керувати точністю результату тут досить складно, а то й неможливо.

У той же час дуже просто побудувати власну таблицю або написати програму, що реалізують один із методів уточнення коренів. Тут можна використовувати критерії точності розрахунку, що задаються користувачем. При цьому досягається і розуміння процесу розрахунків без опори на принцип Митрофанушки: «Візник є, довезе».

Далі розглянуто кілька найпоширеніших методів. Зазначимо очевидний момент: за інших рівних умов той методуточнення коренів буде більш ефективним, в якому результат з тією ж похибкою знайдено з меншимчислом обчислень функції f(x)(При цьому досягається і максимальна точність при однаковій кількості обчислень функції).

1.4 Метод розподілу відрізка навпіл

У цьому вся методі кожному кроці відрізок ділиться на дві рівні частини. Потім порівнюють знаки функції на кінцях кожної з двох половинок (наприклад, за знаком твору значень функцій на кінцях), визначають ту з них, в якій міститься рішення (знаки функції на кінцях повинні бути різні), і. звужують відрізок, переносячи в знайдену точку його межу ( аабо b). Умовою закінчення служить трохи відрізка, де міститься корінь («точність по x»), або близькість до значення значення функції в середині відрізка («точність по y»). Рішенням рівняння вважають середину відрізка, знайденого на останньому етапі.

приклад. Побудувати таблицю для уточнення кореня рівняння x3 –10 x+7=0 на відрізку [-4, -3] шляхом розподілу відрізка навпіл. Визначити скільки кроків треба зробити методом поділу відрізка навпіл і яка при цьому досягається точність по х,для досягнення точності з y, що дорівнює 0,1; 0,01; 0, 001.

РішенняДля вирішення можна використовувати табличний процесор Excel, що дозволяє автоматично продовжувати рядки. На першому кроці заносимо в таблицю значення лівого та правого кінців вибраного початкового відрізка та обчислюємо значення середини відрізка з=(a+b)/2, а потім вводимо формулу для обчислення функції у точці a (f(a)) і розтягуємо (копіюємо) її для обчислення f(c) та f(b). В останньому стовпці обчислюємо вираз ( b-a)/2, що характеризує ступінь точності обчислень. Усі набрані формули можна скопіювати до другого рядка таблиці.

На другому етапі необхідно автоматизувати процес пошуку тієї половини відрізка, де міститься корінь. Для цього використовується логічна функція ЯКЩО ( Меню: ВставкаФункціяЛогічні). Для нового лівого краю відрізка ми перевіряємо істинність умови f(a)*f(c)>0, якщо воно вірне, то ми як нове значення лівого кінця відрізка беремо число c a, c a. Аналогічно для нового правого краю відрізка ми перевіряємо істинність умови f(c)* f(b)>0, якщо воно вірне, то ми як нове значення правого кінця відрізка беремо число c(Т. К. Ця умова показує, що кореня на відрізку [ c, b] ні), інакше залишаємо значення b.

Другий рядок таблиці можна продовжити (скопіювати) на потрібне число наступних рядків.

Ітераційний процес завершується, коли чергове значення останньому стовпці стає меншим, ніж заданий показник точності ex. При цьому значення середини відрізка в останньому наближенні приймається як наближене значення шуканого кореня нелінійного рівняння. На малюнку 6 наведено знімок рішення. Для побудови аналогічного процесу в Mathcad можна використовувати бланк, подібний до наведеного на малюнку 7. Число кроків N може змінюватись до досягнення в таблиці результатів необхідної точності. При цьому таблиця автоматично подовжуватиметься або коротшатиме.

Отже, одним із трьох коренів нелінійного рівняння x 3 – 10x+ 7=0, знайденим з точністю e=0,0001, є x= - 3,46686. Як бачимо, він справді належить відрізку [-4; -3].

https://pandia.ru/text/78/157/images/image018_6.jpg" width="563" height="552 src=">

Рисунок 7 – Уточнення кореня методом поділу відрізка навпілMathcad

1.5 Метод хорд

У цьому методі нелінійна функція f(x)на відокремленому інтервалі [ а, b] замінюється лінійною – рівнянням хорди, т. е. прямий сполучає граничні точки графіка на відрізку. Умова застосування методу – монотонність функції на початковому відрізку, що забезпечує єдиність кореня у цьому відрізку. Розрахунок за методом хорд аналогічний розрахунку методом поділу відрізка навпіл, але тепер на кожному кроці нова точка xвсередині відрізка [ a, b] розраховується за будь-якою з наступних формул:

(х) > 0 ), або права його межа: x0 = b(якщо f(b) f"(х)>0). Розрахунок нового наближення на наступному кроці i+1 проводиться за формулою:

https://pandia.ru/text/78/157/images/image021_4.jpg" width="596" height="265 src=">

Рисунок 8 – Уточнення кореня методом дотичних до Excel

Розрахунки Mathcad виконуються аналогічно. При цьому значне полегшення доставляє наявність у цьому пакеті оператора, що автоматично обчислює похідну функції.

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

За певних умов може використовуватись спрощений метод Ньютона, У якому похідна обчислюється лише один раз – у початковій точці. При цьому використовується видозмінена формула

.

Природно, що спрощений метод зазвичай вимагає більшого числакроків.

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

.

У методі січучих необхідно задатися не однією, а двома початковими точками – x0 і x1 . Крапка x1зазвичай задається зрушенням x0до іншої межі відрізка на малу величину, наприклад, 0.01.

1.7 Комбінований метод

Можна показати, що якщо на початковому відрізку у функції f(x)зберігаються незмінними знаки першої та другої похідних, то методи хорд і Ньютона наближаються до кореня з різних. У комбінованому методі підвищення ефективності кожному кроці використовує обидва алгоритму одночасно. При цьому інтервал, де міститься корінь, скорочується з обох сторін, що зумовлює іншу умову закінчення пошуку. Пошук можна припинити, як тільки всередині інтервалу, отриманого на черговому кроці значення функції стане по модулю меншим, ніж попередньо заданої похибки ef.

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

https://pandia.ru/text/78/157/images/image025_10.gif" width="107" height="45 src=">.

Якщо метод Ньютона застосовується до лівої межі, – у попередніх формулах змінюються місцями позначення aі b.

1.8 Метод ітерацій

Для застосування цього методу вихідне рівняння f(x)=0перетворюють на вигляд: x=y(х). Потім обирають початкове значення х0і підставлять їх у ліву частину рівняння, отримуючи, у випадку, x1 = y(х0)¹ х0¹ y(х1), оскільки х0взято довільно і не є коренем рівняння. Отримане значення х1розглядають як чергове наближення до кореня. Його знову підставлять у праву частинурівняння та отримують наступне значення х2=y(х1)). Розрахунок продовжують за формулою хi+1=y(хі). Послідовність, що утворюється таким чином: х0, х1, х2, х3 х4,...за певних умов сходитися до кореня хточн.

Можна показати, що ітераційний процес сходиться за умови
|y(x) | < 1 на [a, b].

Існують різні способиперетворення рівняння f(x)= 0 до виду y(х) = х, причому в конкретному випадку одні з них приведуть до того, що сходить, а інші - до процесу обчислень, що розходиться.

Один із способів, полягає у застосуванні формули

https://pandia.ru/text/78/157/images/image027_10.gif" width="188" height="44 src=">

де М= max | y(x)| на [ a, b].

2 Розв'язання систем нелінійних рівнянь

2.1 Загальні відомості щодо вирішення систем нелінійних рівнянь

Систему nнелінійних рівнянь з nневідомими x1, x2, ..., xnзаписують у вигляді:

де F1, F2,…, Fn- Функції незалежних змінних, серед яких є нелінійні.

Як і у разі систем лінійних рівнянь, рішенням системи є такий вектор X*, який при підстановці звертає одночасно всі рівняння системи до тотожності.

https://pandia.ru/text/78/157/images/image030_8.gif" width="191" height="56">

Початкові значення x0 і y0 визначаються графічно. Для знаходження кожного наступного наближення (xi+1 , yi+1 ) використовують вектор значень функцій та матрицю значень їх перших похідних, розраховані в попередній точці (xi, yi) .

https://pandia.ru/text/78/157/images/image032_5.gif" width="276" height="63 src=">

Для розрахунку нових наближень на кроці i+1використовується матрична формула

https://pandia.ru/text/78/157/images/image034_4.gif" width="303" height="59 src=">.

Наведені формули особливо легко записати в Mathcad, де є оператори для обчислення похідних та дій з матрицями. Однак при правильному використанні матричних операцій ці формули досить просто записуються і в Excel. Щоправда, тут доведеться заздалегідь одержати формули для обчислення похідних. Для аналітичного обчислення похідних також можна використовувати Mathcad.

2.3 Розв'язання систем нелінійних рівнянь методами ітерацій

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

https://pandia.ru/text/78/157/images/image036_5.gif" width="114" height="57 src=">.

Якщо одне з рішень системи та початкові значення x0 і y0 лежать в області D, що задається нерівностями: axb, cyd, то розрахунок за методом простих ітераційсходиться при виконанні в області Dспіввідношень:

https://pandia.ru/text/78/157/images/image038_5.gif" width="75 height=48" height="48">< 1.

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

0 " style="border-collapse:collapse;border:none">

Інструмент (опція)

Початкове наближення

Коріньx

f(x)

3. Відсортувати отримані результати за точністю рішення.

Мучившись у школі над розв'язанням рівнянь на уроках математики, багато учнів часто впевнені, що витрачають час абсолютно марно, а тим часом така навичка знадобиться в житті не тільки тим, хто вирішить піти стопами Декарта, Ейлера чи Лобачевського.

На практиці, наприклад у медицині чи економіці, часто зустрічаються ситуації, коли фахівцю потрібно з'ясувати, коли концентрація активної речовини того чи іншого препарату досягне необхідного рівня в крові пацієнта або потрібно вирахувати час, необхідний конкретному бізнесу для того, щоб він став рентабельним.

Найчастіше йдеться про розв'язання нелінійних рівнянь різного типу. Зробити це максимально швидко, особливо з використанням ЕОМ, дозволяють чисельні методи. Вони добре вивчені та давно довели свою ефективність. До них належить і метод дотичних Ньютона, яким присвячена ця стаття.

Постановка задачі

В даному випадку є функція g, яка задана на відрізку (a, b) і приймає на ньому певні значення, тобто кожному x, що належить (a, b), можна порівняти конкретне число g(x).

Потрібно встановити всі корені рівняння з проміжку між точками a і b (включаючи кінці), для яких функція обнулюється. Вочевидь, що це точки перетину y = g(x) з ОХ.

У деяких випадках зручніше замінити g(x)=0 на аналогічне виду g 1 (x) = g 2 (x). У такому разі як коріння виступають абсциси (значення x) точок перетину графіків g 1 (x) і g 2 (x).

Вирішення нелінійного рівняння важливе і для завдань оптимізації, для яких умова локального екстремуму- звернення до 0 похідної функції. Іншими словами, таке завдання може звестися до пошуку коренів рівняння p(x) = 0, де p(x) тотожна g"(x).

Методи вирішення

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

Способи вилучення коренів нелінійних рівнянь прийнято поділяти на аналітичні (прямі) та ітераційні. У першому випадку шукане рішення має вигляд формули, використовуючи яку за кілька арифметичних операцій можна знайти значення шуканих коренів. Подібні методи розроблені для показових, тригонометричних, логарифмічних та найпростіших рівнянь алгебри. Для інших доводиться використовувати спеціальні чисельні методи. Їх легко реалізувати за допомогою ЕОМ, які дозволяють знайти коріння з необхідною точністю.

До них належить і так званий чисельний методостанній був запропонований великим вченим ІсаакомНьютоном наприкінці XVII ст. У наступні століття метод неодноразово вдосконалювався.

Локалізація

Чисельні способи вирішення складних рівнянь, що не мають аналітичних рішень, прийнято здійснювати у 2 етапи. Спочатку потрібно їх локалізувати. Ця операція полягає у знаходження таких відрізків на ОХ, на яких існує один корінь рівняння, що розв'язується.

Розглянемо відрізок. Якщо g(x) на ньому не має розривів і приймає в кінцевих точках значення різних знаків, то між a і b або в них розташований по Крайній мірі 1 корінь рівняння g(x) = 0. Щоб він був єдиним, потрібно, щоб g(x) була монотонною. Як відомо, такою властивістю вона матиме за умови знакопостійності g'(x).

Говорячи інакше, якщо на g(x) не має розривів і монотонно зростає або зменшується, а її значення в кінцевих точках мають не однакові знаки, то існує 1 і тільки 1 корінь g(x).

При цьому слід знати, що цей критерій не діятиме для коренів рівнянь, що є кратними.

Рішення рівняння поділом навпіл

Перш ніж розглядати складніші чисельні дотичні і його різновиди) варто познайомитися з найбільш простим способомвиявлення коренів. Він називається дихотомією і відноситься до інтуїтивного знаходження коренів заснований на теоремі про те, що якщо для g(x), безперервної на виконується умова різнознаковості, то на аналізованому відрізку є хоча б 1 корінь g(x) = 0.

Для виявлення потрібно поділити відрізок навпіл і позначити середню точку як x 2 . Тоді можливі два варіанти: g(x 0) * g(x 2) або g(x 2) * g(x 1) рівні або менше 0. Вибираємо той, для якого правильне одне з цих нерівностей. Повторюємо процедуру, описану вище, поки довжина стане меншою від певної, заздалегідь обраної величини, що визначає точність визначення кореня рівняння на .

До переваг методу відноситься його надійність і простота, а недолік - необхідність спочатку виявити точки, в яких g(x) приймає різні знаки, тому його не можна застосовувати для коренів, що мають парну кратність. Крім того, він не узагальнюється на випадок системи рівнянь або якщо йдеться про комплексне коріння.

Приклад 1

Нехай ми хочемо розв'язати рівняння g(x) = 2x 5 + x - 1 = 0. Щоб довго не шукати відповідний відрізок, будуємо графік, використовуючи, наприклад, відому програму"Ексель". Ми бачимо, що як відрізок для локалізації кореня краще брати значення проміжку . Ми можемо бути впевнені, що хоча б один корінь рівняння на ньому є.

g"(x) = 10x 4 + 1, тобто це монотонно зростаюча функція, тому на вибраному відрізку є тільки 1 корінь.

Підставляємо кінцеві точки рівняння. Маємо 0 та 1 відповідно. На першому кроці за рішення беремо крапку 0,5. Тоді g(0,5) = -0,4375. Отже, наступний відрізок для поділу навпіл буде. Його серединна точка – 0,75. У ній значення функції дорівнює 0,226. Беремо до розгляду відрізок та її середину, що у точці 0,625. Обчислюємо значення g(x) 0,625. Воно одно -0,11, тобто негативне. Маючи цей результат, вибираємо відрізок . Отримуємо x = 0,6875. Тоді g(x) = -0,00532. Якщо точність рішення 0,01, можемо вважати, що шуканий результат дорівнює 0,6875.

Теоретична база

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

Він заснований на тому доведеному факті, що якщо x n — наближення до кореня f(x)=0, такому, що f" C 1 то наступна апроксимація буде в точці, де обнулюється рівняння дотичної до f(x), тобто.

Підставляємо x = x n+1 та обнулюємо y.

Тоді дотичних виглядає так:

Приклад 2

Спробуємо використовувати класичний метод дотичних Ньютона і знайти рішення якогось нелінійного рівняння, яке складно чи неможливо відшукати аналітично.

Нехай потрібно виявити коріння x 3 + 4x - 3 = 0 з деякою точністю, наприклад 0,001. Як відомо, графік будь-якої функції як многочлена непарної ступеня повинен хоча б раз перетинати вісь ОХ, т. е. сумніватися існування коренів годі й говорити.

Перш ніж розв'язати наш приклад методом дотичних, будуємо графік f(x) = x 3 + 4x - 3 крапково. Це дуже легко зробити, наприклад, використовуючи табличний процесор "Ексель". З отриманого графіка буде видно, що відбувається його перетин з віссю ОХ і функція y = x 3 + 4x - 3 монотонно зростає. Ми можемо бути впевнені, що на рівняння x 3 + 4x – 3 = 0 має рішення і воно єдине.

Алгоритм

Будь-яке рішення рівнянь методом дотичних починається з обчислення f"(x). Маємо:

Тоді друга похідна матиме вигляд x*6.

Використовуючи ці вирази, можемо записати формулу виявлення коренів рівняння за методом дотичних як:

Далі потрібно вибрати початкове наближення, тобто зайнятися визначенням, яку точку вважати стартової (про. x 0) для ітераційного процесу. Розглядаємо кінці відрізка. Нам підійде той, котрому вірна умова різнознаковості функції та її другий похідної в x 0 . Як бачимо, при підстановці х 0 = 0 воно порушено, а ось х 0 = 1 цілком підходить.

то якщо нас цікавить рішення методом дотичних з точністю e, то значення x n вважатимуться задовольняючим вимогам завдання, за умови виконання нерівності|f(x n) / f'(x n)|< e.

На першому етапі дотичних маємо:

  • x 1 = x 0 - (x 0 3 + 4x 0 - 3) / (3x 0 2 + 4) = 1-0,2857 = 0,71429;
  • оскільки умова не виконується, йдемо далі;
  • отримуємо нове значення для x 2 яке дорівнює 0,674;
  • помічаємо, що відношення значення функції до її похідної x 2 менше 0,0063, припиняємо процес.

Метод дотичних до Excel

Вирішити попередній приклад можна набагато легше і швидше, якщо не робити розрахунки вручну (на калькуляторі), а використовувати можливості табличного процесора від компанії "Майкрософт".

Для цього в "Ексель" потрібно створити нову сторінкуі заповнити її осередки наступними формулами:

  • в C7 записуємо «= СТУПЕНЬ (B7; 3) + 4 * B7 - 3»;
  • в D7 вписуємо "= 4 + 3 * СТУПЕНЬ (B7; 2)";
  • в E7 записуємо «= (СТУПЕНЬ (B7; 3) - 3 + 4 * B7) / (3 * СТУПЕНЬ (B7; 2) + 4)»;
  • у D7 вписуємо вираз «=В7 - Е7»;
  • у B8 вписуємо формулу-умову «= ЯКЩО(Е7< 0,001;"Завершение итераций"; D7)».

У конкретній задачі вже в осередку B10 з'явиться напис «Завершення ітерацій», і за вирішення завдання потрібно буде взяти число, записане в осередку, розташованому на один рядок вище. Для нього можна виділити і окремий стовпець, що «розтягується», ввівши там формулу-умову, згідно з якою там буде записаний результат, якщо вміст у тій чи іншій комірці стовпця B набуде вигляду «Завершення ітерацій».

Реалізація у Pascal

Спробуємо отримати рішення нелінійного рівняння y = х 4 - 4 - 2 * х методом дотичних у Паскалі.

Використовуємо допоміжну функцію, яка допоможе здійснити наближене обчислення f"(x) = (f(x + delta) - f(x)) / delta. Як умову для завершення ітераційного процесу оберемо виконання нерівності | x 0 - x 1 |< некого малого числа. В Паскале его запишем, как abs(x0 - x1)<= epsilon.

Програма примітна тим, що вимагає ручного обчислення похідної.

Метод хорд

Розглянемо ще один спосіб виявлення коренів нелінійних рівнянь. Процес ітерацій полягає в тому, що як послідовні наближення до шуканого кореня для f(x)=0 приймають значення точок перетину хорди з абсцисами кінцевих точок a і b з ОХ, що позначаються, як х 1 , ..., х n . Маємо:

Для точки, де хорда перетинається з віссю ОХ, вираз запишеться, як:

Нехай друга похідна позитивна при х £ (Протилежний випадок зведеться до аналізованого, якщо записати-f(x) = 0). У такому разі графік у = f(x) - крива, опукла внизу і розташована нижче хорди AB. Можуть бути 2 випадки: коли функція має позитивне значення в точці a або вона негативне в точці b.

У першому випадку як нерухоме вибираємо кінець a, а за x 0 беремо точку b. Тоді послідовні наближення за формулою, наведеною вище, утворюють послідовність, яка монотонно зменшується.

У другому випадку нерухомим є кінець b при x0 = a. Значення х, отримані кожному етапі ітерації, утворюють послідовність, яка монотонно зростає.

Таким чином, можемо констатувати, що:

  • нерухомим у методі хорд є той кінець відрізка, де не збігаються знаки функції та її другий похідний;
  • наближення для кореня x - x m - лежать від нього в тій стороні, де у f (х) знак, що не збігається зі знаком f "" (х).

Ітерації можна продовжувати, доки не виконається умови близькості коренів на цьому та попередньому ітераційному кроці за модулем abs(x m - x m - 1)< e.

Модифікований спосіб

Комбінований метод хорд і дотичних дозволяє встановлювати коріння рівняння, наближаючись до них з різних боків. Таке значення, у якому графік f(x) перетинає OX, дозволяє уточнити рішення набагато швидше, ніж у кожному з методів окремо.

Припустимо, необхідно знайти коріння f(x)=0, якщо вони є на . Можна застосувати будь-який з описаних вище способів. Однак краще спробувати їхню комбінацію, завдяки чому значно підвищиться точність кореня.

Розглядаємо випадок з початковим наближенням, що відповідає умові різнознаковості першої та другої похідної у конкретній точці х.

У таких умовах рішення нелінійних рівнянь методом дотичних дозволяє знайти корінь з надлишком, якщо x 0 =b, а спосіб з використанням хорд при нерухомому кінці b призводить до знаходження наближеного кореня з недоліком.

Використовуються формули:

Тепер корінь х потрібно шукати в інтервалі. На наступному етапі необхідно застосувати комбінований спосіб вже до цього відрізку. Діючи так далі, отримаємо формули виду:

Якщо ж має місце різнознаковість першої та другої похідних, то, міркуючи аналогічним чином, для уточнення кореня отримаємо наступні рекурентні формули:

Як умова використовується оцінна нерівність | b n +1 - a n +1 |< e. Иными словами, на практике приходится находить решение при помощи двух методов, но на каждом шаге требуется выяснять, насколько полученные результаты близки друг другу.

Якщо вищенаведена нерівність правильна, то як корінь нелінійного рівняння на заданому відрізку беруть точку, яка знаходиться посередині між знайденими рішеннями на конкретному ітераційному кроці.

Комбінований метод легко реалізується серед TURBO PASCAL. За великого бажання можна спробувати здійснити всі обчислення табличним методом у програмі "Ексель".

В останньому випадку виділяють по кілька стовпців для вирішення задачі з використанням хорд та окремо для способу, запропонованого Ісааком Ньютоном.

При цьому кожен рядок використовується для запису обчислень на конкретному етапі ітерації за двома методами. Потім, у лівій частині області рішення, на активній робочій сторінці виділяється стовпець, в якому вписується результат обчислень модуля різниці значень чергового ітераційного кроку по кожному з методів. Ще один можна використовувати для внесення результатів обчислень за формулою розрахунку логічної конструкції «ЯКЩО», яка використовується для з'ясування, чи виконується умова чи ні.

Тепер ви знаєте, як розв'язувати складні рівняння. Метод дотичних, як ви вже бачили, реалізується досить просто як у Паскалі, так і в "Екселі". Тому ви завжди зможете встановити коріння рівняння, яке складно чи неможливо вирішити за допомогою формул.

Нехай знайдено наближене значення кореня рівняння f(x) = 0, позначимо його x n. Розрахункова формула методу Ньютонадля визначення чергового наближення x n+1 може бути одержана двома способами.

Перший спосіб виражає геометричний зміст методу Ньютона і полягає в тому, що замість точки перетину графіка функції y = f(x) з віссю OX, ми шукаємо точку перетину з віссю OXдотичної, проведеної до графіка функції у точці ( x n, f(x n)) як показано на рис. 2.6. Рівняння дотичної має вигляд.

Рис. 2.7. Метод Ньютона (дотичних)

У точці перетину дотичної з віссю OXзмінна y = 0. Прирівнюючи yнулю, висловимо xта отримаємо формулу методу дотичних:

(2.6)

Другий спосіб. Розкладемо функцію f(x) в ряд Тейлора в околиці точки x = x n:

Обмежимося лінійними щодо ( x – x n) доданками, прирівняємо нулю f(x) і, висловивши з отриманого рівняння невідоме xі позначивши його через x n+1 ми отримаємо формулу (2.6).

Наведемо достатні умови збіжності методу Ньютона.

Теорема 2.3.Нехай на відрізку виконуються умови:

1) функція та її похідні та безперервні;

2) похідні та відмінні від нуля і зберігають певні постійні знаки;

3) (функція змінює знак на відрізку).

Тоді існує відрізок , що містить корінь рівняння , на якому ітераційна послідовність сходиться. Якщо нульовим наближенням вибрати ту граничну точку , у якій знак функції збігається зі знаком другої похідної, тобто. , Ітераційна послідовність сходиться монотонно (рис.2.8).

Доведення. Так як безперервна, змінює знак і монотонна на , то - інтервал ізоляції кореня. Позначимо шуканий корінь через . Розглянемо функцію і знайдемо її похідну. Отже, безперервна на , перетворюється на нуль у точці , оскільки у цій точці перетворюється на нуль функція . Отже, існує такий відрізок (), що . Якщо візьмемо ту частину відрізка, де , Отже, функція зростаюча, але тоді послідовність є монотонною.

Рис. 2.8. Достатні умови збіжності методу Ньютона

Зауваження.Зазначимо, що метод хорд якраз йде з протилежного боку, і обидва ці методи т.ч. можуть один одного доповнювати, а можливий і комбінований метод хорд-дотичних.

приклад 2.7.Уточнити до 0,000001 методом Ньютона корінь рівняння
sin 5 x+ x 2 – 1 = 0. За початкове значення прийняти x 0 = – 0,7.

Рішення.Знайдемо похідну .

У програмі Excel введемо розрахункові формули:

1) Введемо формули та позначення в осередках діапазону A 1:D 3 і скопіюємо вниз маркером заповнення комірки з формулами: B 3 - до B 5,
C 2 - до C 5, D 2 - до D 5;



Таблиця 2.9

A B C D
k x f(x) f"(x)
–0,7 =SIN(5*B2)+B2^2–1 =5*COS(5*B2)+2*B2
=B2-C2/D2

Результати розрахунків наведено у таблиці 2.10. Отримано значення кореня - 0,726631609 - 0,726632 з похибкою 0,000001.

Таблиця 2.10

A B C D A
k x f(x) f"(x)
-0,7 -0,159216772 -6,082283436
-0,726177138 -0,002664771 -5,865681044 0,026177138
-0,726631437 -1,00787E-06 -5,861240228 0,000454299
-0,726631609 -1,45328E-13 -5,861238543 1,71955E-07

Створимо функції у програмі Excelна вирішення рівняння з прикладу 2.7 методом Ньютона.

Поділіться з друзями або збережіть для себе:

Завантаження...