Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Розв’язання нелінійних рівняньСодержание книги
Поиск на нашем сайте у комплексній площині
Нехай задана функція f(х) дійсної змінної. Потрібно знайти нулі функції f(х) або, що те ж саме, корені рівняння f(x)=0 (2.7) Уже на прикладі алгебраїчного многочлена відомо, що нулі f(х) можуть бути як дійсними, так і комплексними. Тому більш точною є постановка задачі у визначенні коренів рівняння (2.7), розміщених у заданій області комплексної площини. Можна розглядати задачу визначення дійсних коренів, розміщених на заданому відрізку. Іноді, нехтуючи точністю формулювань, будемо говорити, що потрібно розв’язати рівняння (2.7). У загальному випадку задача визначення коренів рівняння (2.7), як правило, розв’язується в два етапи. На першому етапі вивчається розміщення корені і проводиться їх відділення, тобто виділяються області в комплексній площині, що містять тільки один корінь. Крім того, вивчається питання про кратність коренів. Знаходяться деякі початкові наближення для коренів рівняння (2.7). На другому етапі, використовуючи задане початкове наближення, будується ітераційний процес, що дозволяє уточнити значення невідомого кореня. Не існує якихось загальних регулярних прийомів розв’язання задачі про розміщення коренів довільної функції f(х). Найбільш повно вивчене питання про розміщення коренів алгебраїчних многочленів f(x)=a0+a1x+a2x2+…+amxm. (2.8) Наприклад відомо, що якщо для многочлена (2.8) з дійсними коефіцієнтами виконані нерівності f(c)>0, f’(c)>0,…,f(m)(c)>0, то додатні корені f(х) не перевершують числа с. Дійсно, з формули Тейлора
одержуємо, що f(x)>0 при x>c. Чисельні методи розв’язання нелінійних рівнянь є, як правило, ітераційними методами, що припускають завдання досить близьких до шуканого розв’язку початкових даних. Перш ніж переходити до викладу конкретних ітераційних методів, відзначимо два прості прийоми відділення дійсних коренів рівняння (2.7). Припустимо, що f(х) визначена і неперервна на [а,b]. Перший прийом полягає в тому, що обчислюється таблиця значень функції f(х) у заданих точках хk Î [а, b], k =0, 1,..., п. Якщо виявиться, що при якомусь к числа f(хk), f(xk+1) мають різні знаки, то це буде означати, що на інтервалі (хk,xk+1) рівняння (2.7) має принаймні один дійсний корінь (точніше, має непарне число коренів на (хk, xk+1)). Потім можна розбити інтервал (xk,xk+1) на більш дрібні інтервали і за допомогою аналогічної процедури уточнити розміщення кореня. Більш регулярним способом відділення дійсних коренів є метод бісекції (розподілу навпіл). Припустимо, що на (а, b) роміщений лише один корінь х рівняння (2.7). Тоді f(а) і f(b) мають різні знаки. Нехай для визначеності f(а)>0, f(b)<0. Покладемо x0=0,5 × (a+b) і обчислимо f(x0). Якщо f(x0)<0, то шуканий корінь знаходиться на інтервалі (a,x0), якщо ж f(х0)>0, то на (х0, b). Далі, із двох інтервалів (a, x0) і (х0,b) вибираємо той, на кінцях якого функція f(х) має різні знаки, знаходимо точку х1-середину обраного інтервалу, обчислюємо f(х1) і повторюємо зазначений процес. У результаті одержуємо послідовність інтервалів, що містять шуканий корінь х1, причому довжина кожного наступного інтервалу вдвічі менша за попередній. Процес закінчується, коли довжина знову отриманого інтервалу стане менше заданого числа e >0, і за корінь х приблизно береться середина цього інтервалу. Помітимо, що якщо на (а, b) міститься кілька коренів, то зазначений процес зійдеться до одного з коренів, але заздалегідь невідомо, до якого саме. Можна використовувати прийом виділення коренів: якщо корінь х=х* кратності m знайдений, то розглядається функція g(х)=f(х)/(x-x*)т і для неї повторюєтьсяпроцес визначення кореня.
y
O ax*b x
Рис. - 2.1 Обмеження кореня функції, якщо вона визначення на необмеженому інтервалі здійснюється так. 1 Для початкового наближення x0, знайти f0=f(x0), задати інтервал пошуку D і його інкремент d>1. 2 Обчислити a=x0-D, b=x0+D; fa = f(a), fb = f(b). 3 Збільшити інтервал пошуку: D=D 4a Якщо знаки fa і f0 різні, то вважати корінь обмеженим на [a,x0] -> вихід. 4b Якщо знаки fb і f0 відрізняються, то вважати корінь обмеженим на [x0,b] -> вихід. 5 Перевіряється, яке з fa і fb найменше. Якщо вони однакові, то переходимо до 6a (двосторонній пошук), якщо fb – робимо пошук вправо 6b, інакше - пошук уліво 6c. 6a Знаходимо a=a-D, b=b+D, fa=f(a), fb=f(b), йдемо до пункту 3. 6b Присвоюємо послідовно a=x0, x0=b, fa=f0, f0=fb; знаходимо b=b+D, fb=f(b), йдемо до пункту 3. 6c. Аналогічно 6b, тільки напрямок пошуку - вліво. Метод простих ітерацій Замінимо рівняння y
O a x1 x* x0 b x
Рисунок 2.2
Виберемо деяке наближення Теорема 6 Нехай функція j (x) визначена і диференційована на відрізку [a,b], причому всі значення j (х) Î [a,b].Тоді якщо існує правильний дріб q, такий, що ½ j ¢ (x) ½ £ q < 1 (2.9) при a<x<b, то: процес ітерації xn= j (xn-1) (n = 1,2,…) (2.10) 1) збігається незалежно від початкового значення x0 Î [a,b]; 2) граничне значення на відрізку [a,b]. Доведення. Розглянемо два послідовних наближення xn= j (xn-1) і xn+1= j (xn) (які внаслідок умов теореми існують). Звідси xn+1 - xn= j (xn) - j (xn-1). Застосовуючи теорему Лагранжа, будемо мати: xn+1 - xn = (xn - xn-1) j ¢ ( Отже, на підставі умови (2.9) одержимо
Звідси, надаючи значення n=1,2,3,…, отримаємо:
.............................................. Розглянемо ряд: x0 + (x1- x0) + (x2- x1) + … + (xn – xn-1) + …, (2.14) для якого наші послідовні наближення xn є (n+1) -ми частковими сумами, тобто xn=Sn+1. За нерівністю (2.13) члени ряду (2.14) за абсолютною величиною менші відповідних членів геометричної прогресії зі знаменником q<1, тому ряд (2.14) збігається, до того ж абсолютно. Отже, існує У такий спосіб то з рівностей (2.15) і (2.16) одержимо
і отже, де c Î Зауваження 1 Теорема залишається правильною, якщо функція j (x) визначена і диференційована на інтервалі Зауваження 2 В умовах теореми метод ітерації збігається при будь-якому виборі початкового значення x0 Î [a,b]. Завдяки цьому він є самовиправним, тобто окрема помилка в обчисленнях, що не виводить за межі відрізка [a,b,] не вплине на кінцевий результат, тому що помилкове значення можна розглядати як нове початкове значення x0. Можливо, зросте лише обсяг роботи. Властивість самовиправлення робить метод ітерації одним із найнадійніших методів обчислень. Оцінка наближення. З формули (2.13) маємо: Застосувавши формулу суми геометричної прогресії, одержимо:
Спрямовуючи число р до нескінченності і з огляду на те, що Звідси ясно, що збіжність процесу ітерації буде тим швидшою, чим менше число q. Для оцінки наближення можна дати іншу формулу, корисну в деяких випадках. Представимо f(x)=x - j (x). Очевидно, що
де тобто Використовуючи формулу (2.12), маємо також Звідси, зокрема, випливає, що якщо q £ Зауваження. Існує поширена думка, що якщо при застосуванні методу ітерації два послідовні наближення xn-1 і xn збігаються між собою із заданою точністю e (наприклад, для цих наближень установилися т перших десяткових знаків), то з тією самою точністю справедлива рівність x» xn (тобто, зокрема, у наведеному прикладі т знаків наближеного числа xn є правильними!). У загальному випадку це твердження помилкове. Більше того, легко показати, що якщо j '(х) близька до 1, то величина | x - xn | може бути великою, хоча |xn - xn-1| дуже мала. Формула (2.20) дає можливість оцінити похибку наближеного значення xn за різницею двох послідовних наближень xn-1 і xn. Процес ітерації варто продовжувати доти, поки для двох послідовних наближень xn-1 і xn не буде забезпечене виконання нерівності
де e - задана гранична абсолютна похибка кореня x і ½ j ¢ (x) ½ £ q. Тоді за формулою (2.21) будемо мати нерівність Зауважимо, що якщо xn= j (xn-1) і Таким чином, при ітераційному процесі, що збігається, похибка На практиці здебільшого буває так, що грубим прийомом встановлюється існування кореня рівняння (2.7) і методом ітерації потрібно одержати досить точне наближене значення кореня, причому нерівність (2.9) виконується лише в деякому околі (a, b) цього кореня. Тут при невдалому виборі початкового значення x0 послідовні наближення xn= j (xn-1) (n = 1,2,…) можуть залишити інтервал (a, b) чи навіть втратити сенс. Приклад. Розв’язати рівняння f(x)=0 на заданому відрізку [a,b]=[0, Аналітичне розв’язання задачі. Розкладемо функцію Чисельне розв’язання задачі. Локалізація кореня для чисельного розв’язання задачі
Перший корінь bisec Обравши
Значення кореня відрізняється від знайденого за допомогою функції bisec, тому що за замовчуванням величина похибки при роботі вбудованих функцій дорівнює 0.001. Перевизначимо параметр для задання похибки
Значення кореня із заданою точністю 1.3181160717. Другий корінь bisec Значення кореня із заданою точністю 1.7382444060, число ітерацій 32; Значення кореня у межах заданої точності збігаються.
Метод Ньютона Метод Ньютона (метод дотичних) для наближеного розв’язку рівняння
що збігається до кореня рівняння, на відрізку Теорема 7 Якщо f(a) f(b)<0, причому f ¢ (x) і f ² (x) не дорівнюють нулю і зберігають певні знаки при a £ x £ b, то, виходячи з початкового наближення x0 Î [a,b], що задовольняє нерівність
можна обчислити методом Ньютона єдиний корінь x рівняння Доведення. Нехай, наприклад, f(а)<0, f(b)>0, f ¢ (x)>0, f ² (x)>0 при a £ x £ b (інші випадки розглядаються аналогічно). Відповідно до нерівності (2.23) маємо f(x0)>0. (наприклад, можна взяти x0=b). Методом математичної індукції доведемо, що всі наближення xn> x (n=0,1,2…) і, отже, f(xn)>0. Справді, насамперед, x0> x. Нехай тепер xn> x. Покладемо x = xn + (x - xn). Застосовуючи формулу Тейлора, одержимо 0 = f(x)= f(xn) + f ¢ (xn)(x - xn)+ де x <cn<xn. Оскільки f ² (x)>0, маємо
З огляду на знаки f(xn) та f ¢ (xn), маємо xn+1<xn (n=0,1,…), тобто послідовні наближення x0,x1,…,xn,… утворять обмежену монотонно спадну послідовність. Отже, існує Переходячи до границі в рівності (2.22), будемо мати
тобто f( Тому, застосовуючи метод Ньютона, варто керуватися таким правилом: за вихідну точку x0 вибирається той кінець інтервалу (а,b), якому відповідає ордината того самого знака, що і знак f ² (x). Зауваження. З формули (2.22) бачимо, що чим більше числове значенняf ¢ (x) в околі кореня, тим меншою є поправка, яку треба додати до попереднього наближення, щоб отримати наступне. З цієї причини метод Ньютона особливо зручний тоді, коли в околі кореня графік функції має велику крутизну. Якщо ж f ¢ (x) біля кореня – мала, то застосовувати даний метод не рекомендується. Для оцінки похибки n -го наближення xn можна скористатися формулою
де m1 найменше значення ½ f ¢ (x) ½ на відрізку [ a,b ]. Виведемо ще одну формулу для оцінки точності наближення xn. Застосовуючи формулу Тейлора, маємо:
де xn-1Î (xn-1, xn). Оскільки з визначення наближення xn маємо
Якщо процес збігається, то xn-xn-1 ®0 при n ® ¥. Тому при n ³ N маємо Зауважимо, що в загальному випадку збіг з точністю до e двох послідовних наближень xn-1 і xn зовсім не гарантує, що з тією самою точністю збігаються значення xn і точний корінь x. Проаналізуємо абсолютні похибки двох послідовних наближень xn і xn+1. З формули (2.24) одержуємо
де cn Î (xn, x). Звідси, з огляду на формулу (2.22), будемо мати
і, отже,
Формула (2.28) забезпечує швидку збіжність процесу Ньютона, якщо початкове наближення x0 таке, що Приклад. Знайти корінь рівняння 1 Це рівняння має один корінь на Знайдемо похідні
2 Вибираємо початкове наближення кореня 3 Будуємо ітераційну послідовність Приклад реалізації чисельного алгоритму розв’язування нелінійних рівнянь на псевдокоді //Метод Ньютона. Вважаємо, що умова збіжності методу перевірена f(x): //повертає значення функції для даного х End f1(x): //повертає значення першої похідної функції для данного х End f2(x): //повертає значення другої похідної функції для даного х End //a,b – границі відрізка, eps – точність розв’язку Solve_Nonlinear(a,b,eps): 1 if f1(a)<f1(b) then 2 min:=abs(f1(a)) 3 else 4 min:=abs(f1(b)) 5 fi 6 if f2(a)>f2(b) then 7 max:=abs(f2(a)) 8 else 9 max:=abs(f2(b)) 10 fi 11 fault:=sqrt(2*min*eps) 12 if f(b)*f2(b)>0 then 13 x:=b 14 else 15 x:=a 16 fi 17 repeat 18 n++ 19 if n>1 then 20 x:=xn 21 fi 22 xn:=x-f(x)/f1(x) 23 until abs(xn-x)<=fault 24 return x End
|
|||||
|
Последнее изменение этой страницы: 2021-12-15; просмотров: 164; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.236 (0.013 с.) |