МЕТОД НЬЮТОНА ДЛЯ РОЗВ’ЯЗУВАННЯ СИСТЕМ НЕЛІНІЙНИХ РІВНЯНЬ.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
Не вказано
Кафедра:
Захист інформації

Інформація про роботу

Рік:
2015
Тип роботи:
Лабораторна робота
Предмет:
Комп’ютерні методи дослідження інформаційних процесів та систем
Група:
ІБ

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет „Львівська політехніка” ІКТА, кафедра «Захисту інформації» Звіт з ЛАБОРАТОРНої РОБОТи № 5 З КУРСУ “ Комп’ютерні методи дослідження інформаційних процесів та систем ” НА ТЕМУ: “ МЕТОД НЬЮТОНА ДЛЯ РОЗВ’ЯЗУВАННЯ СИСТЕМ НЕЛІНІЙНИХ РІВНЯНЬ“ Варіант 21 Виконав: Студент групи ІБ-2 Львів-2007 Мета роботи-ознайомлення з найпоширенішим ітераційним методом розв’язування систем нелінійних рівнянь – методом Ньютона Короткі теоретичні відомості Стандартний метод Ньютона Метод Ньютона базується на лінеаризації задачі і заміні розв'язування нелінійної системи (2) на послідовність розв'язувань лінійних систем (найчастіше прямими методами). Будемо вважати, що система рівнянь (2) має розв'язок; позначимо його через вектор  EMBED Equation.3  і розкладемо кожну функцію в ряд Тейлора в околі розв'язку  EMBED Equation.3  де  EMBED Equation.3  - члени другого і вищих порядків. Вважаючи, що  EMBED Equation.3  дуже близьке до  EMBED Equation.3 , знехтуємо членами вищих порядків і запишемо систему рівнянь в лінеаризованій формі:  EMBED Equation.3  (3) або в іншому вигляді  EMBED Equation.3  (4) де  EMBED Equation.3  – матриця Якобі (якобіан) системи (1) Враховуючи, що  EMBED Equation.3  є розв'язком системи, згідно з (2) можемо записати:  EMBED Equation.3  Звідси випливає, що і праву частину (4) також можна прирівняти до нуля:  EMBED Equation.3  (5) Розв'язком системи (5) є нове значення вектора X, яке не точно дорівнює значенню вектора  EMBED Equation.3  (оскільки знехтували членами другого і вищих порядків). Використовуючи верхні індекси для позначення послідовності ітерацій, можна записати  EMBED Equation.3  (6) Звідси  EMBED Equation.3  (7) де  EMBED Equation.3  - обернена матриця Якобі;  EMBED Equation.3 . У достатньо широкому околі розв'язку  EMBED Equation.3  ітераційний процес (7) збігається, якщо  EMBED Equation.3 . Ітераційний процес закінчується при виконанні умови  EMBED Equation.3  (8) де Σ - задана гранична похибка уточнень коренів системи (1). Таким чином, алгоритм стандартного методу Ньютона можна розбити, на декілька кроків. Крок 1. Вибір вектора початкових уточнень  EMBED Equation.3 . Крок 2. Обчислення елементів матриці Якобі. Крок 3. Обчислення елементів оберненої матриці Якобі. Крок 4. Перемноження значень функції (див. формулу (7))  EMBED Equation.3  Крок 5. Одержаний на кроці 4 вектор віднімається від вектора  EMBED Equation.3 , у результаті чого одержується покращений вектор розв'язку  EMBED Equation.3 . Крок 6. Перевірка умови закінчення ітерацій (8). Якщо вона не виконується, то за вектор початкових уточнень приймається вектор  EMBED Equation.3  і проводиться наступна ітерація, починаючи з кроку 2. При використанні стандартного методу Ньютона слід мати на увазі наступне. 1. Стандартний метод Ньютона надзвичайно ефективний. 2. Збіжність на початку ітераційного процесу, як правило, лінійна. 3. Починаючи з деякого кроку ( уточнити його попередньо неможливо), збіжність різко прискорюється і стає квадратичною. 4. Бувають випадки, коли метод розбігається або спостерігається зациклювання ітерацій. Тому необхідно обмежувати максимальну кількість ітерацій деяким попередньо заданим числом. Основний недолік методу полягає в повторних обчисленнях на кожному кроці вектора  EMBED Equation.3 , матриці Якобі  EMBED Equation.3 , оберненої матриці Якобі  EMBED Equation.3 . Тому на практиці досить часто з метою зменшення витрат машинного часу використовують стандартний метод Ньютона без обертання матриці Якобі. Позначаючи  EMBED Equation.3  (9) перепишемо (6) у вигляді  EMBED Equation.3  (10) Таким чином, задача зводиться до пошуку вектора поправок (приростів)  EMBED Equation.3  із системи лінійних алгебраїчних рівнянь (10), у якій матрицею коефіцієнтів при невідомих  EMBED Equation.3  є матриця Якобі  EMBED Equation.3 , а вектором-стовпцем вільних членів служить вектор значень функції –  EMBED Equation.3 . Розв'язуючи цю систему одним із відомих методів (як правило, це представники групи прямих методів – метод Гаусса з вибором головних елементів, метод LU – факторизації та ін.) , знаходимо  EMBED Equation.3 . Значення  EMBED Equation.3  визначаємо із виразу  EMBED Equation.3  (11) ЗАВДАННЯ ДО ЛАБОРАТОРНОЇ РОБОТИ Розв’яжіть систему нелінійних рівнянь одним із методів, вказаних викладачем, вибираючи за початкові наближення  EMBED Equation.3 . Ітерації проводити до збігу двох послідовних наближень з похибкою  EMBED Equation.3 .  EMBED Equation.3   EMBED Equation.3  Таблиця ідентифікаторів констант, змінних, функцій, використаних у програмі, та їх пояснення: Текст програми мовою С #include<stdio.h> #include<math.h> #include<conio.h> double f1(double x, double y) // persha funkcia { return x-cos(y)-1; } double f2(double x, double y) // druga funkcia { return y-sin(y)-1; } ///Znachenia chastkovyh pohydnyh//// double df1dx(double x, double y) { return 1; } double df1dy(double x, double y) { return sin(y); } double df2dx(double x, double y) { return 0; } double df2dy(double x, double y) { return 1-cos(y); } double Xo,Yo,h,delX,delY,poh; ////////Osnovna programa///////// void main(void) { clrscr(); printf("pochatkove nablyghennya Xo="); scanf("%lf",&Xo); printf("pochatkove nablyghennya Yo="); scanf("%lf",&Yo); printf("h="); scanf("%lf",&h); if ((df1dx(Xo,Yo)*df2dy(Xo,Yo)-df1dy(Xo,Yo)*df2dx(Xo,Yo))!=0) { do { delX=df1dy(Xo,Yo)*f2(Xo,Yo)-df2dy(Xo,Yo)*f1(Xo,Yo); delY=df2dx(Xo,Yo)*f1(Xo,Yo)-df1dx(Xo,Yo)*f2(Xo,Yo); poh=delX/Xo; Xo+=delX; Yo+=delY; } while (fabs(poh)>h); } else printf("Vyznachnyk Jakobiana = 0"); printf("X=%4.4lf\nY=%4.4lf",Xo,Yo); getch(); } Результат роботи програми: pochatkove nablyghennya Xo=-0.9 pochatkove nablyghennya Yo=-1.4 h=0.00001 X=0.6442 Y=1.9346 Висновок: Виконавши дану лабораторну роботі я ознайомився з найпоширенішим ітераційним методом розв’язування систем нелінійних рівнянь – методом Ньютона
Антиботан аватар за замовчуванням

2015

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!