Розв’язування системи нелінійних рівнянь методом простої ітерації (методом Ньютона)

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКНІ
Факультет:
КН
Кафедра:
Автоматизовані Системи Управління

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

Рік:
2020
Тип роботи:
Лабораторна робота
Предмет:
Чисельні методи аналізу автоматичних систем

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ <> Інститут ІКНІ Кафедра автоматизовані системи управління
ЗВІТ Лабораторна робота 5 З курсу “Чисельні методи” «Метод ітерацій»
Лабораторна робота 5
Розв’язування системи нелінійних рівнянь методом простої ітерації (методом Ньютона)
Мета роботи: вивчити і засвоїти метод Ньютона. Порядок роботи: Попереднє опрацювання теоретичного матеріалу. Отримання допуску до виконання лабораторної роботи. Опрацювання типового навчального завдання (прикладів). Створення проекту для виконання індивідуального завдання.
Оформити звіт для захисту лабораторної роботи за зразком: назва роботи; мета роботи; короткі теоретичні відомості; алгоритм розв’язування задачі; тексти відповідних модулів проекту; аналіз отриманих результатів та висновки. Захист лабораторної роботи.
1.Короткі теоретичні відомості 1.1 Метод Ньютона для системи двох рівнянь.
Нехай потрібно знайти розв’язок системи двох нелінійних
рівнянь
F(x,y)=0 (1)
G(x,y)=0
де
F,G:RnRn
Послідовні наближення обчислюємо за формулами xn+1=xn- (2) n=0,1,2 Якобіан
повинен бути відмінним від нуля. Початкове наближення x0,y0 визначають наближено (графічно). Але зауважимо, що метод ефективний лише при достатній близькості початкового наближення в (2) до розв’язку системи (1). 1.2 Метод простої ітерації для системи двох нелінійних рівнянь. Нехай потрібно з заданою точністю
ε
знайти дійсні корені системи двох нелінійних рівнянь. F1(x,y)=0 (3)
F2(x,y)=0 Кількість і наближення коренів системи (3) знаходимо графічно. Нехай система має тільки ізольовані дійсні корені. При використанні методу ітерацій систему (3) зводимо до еквівалентної системи наступного вигляду:
(4) де , – так звані інтегруючі функції. На основі системи (4) будуємо ітерації

(5) Згідно з теоремою [3, с. 79] для збіжності процесу (5) до кореня системи (4) необхідно, щоб виконувалася умова на неперервнодиференційовні функції ,
(6)
Оцінка похибки n-го наближення дається формулою

(7) де M=max{q1,q2} Збіжність методу ітерацій є доброю, якщо М<1/2, при цьому М/(1-М)<1. Побудуємо ітеруючі функції для системи (4)

(8) Коефіцієнти α,β,γ,δ знаходимо з системи

(9) За такого підбору параметрів α,β,γ,δ умова (6) виконується, якщо часткові похідні функцій , змінюється мало в околі точки Приклад.. Нехай маємо систему
Записуємо еквівалентну систему
В квадраті будуть виконуватися умови 0<φ1<1, 0<φ2<1 Тоді умови (6) матимуть вигляд 1.3 Метод Ньютона для системи n рівнянь. Нехай задано систему
(10) Систему (10) можна записати в компактному вигляді (векторна форма запису)
(11) де , . Для розв’язування (11) користуємося методом послідовних наближень Ньютона.
Розв’язок системи представимо у вигляді

p=0,1,2.
(12) Вводимо матрицю Якобі для системи функцій Якщо ця матриця не особлива, то Тоді поправку обчислюємо за формулою

p=0,1,2
(13) де -обернена матриця Якобі. Отже, послідовні наближення знаходять за формулою
p=0,1,2
(14) За нульове наближення можна взяти наближене значення вектор-кореня. Для отримання кожного наближення потрібно знаходити обернену матрицю .
Умови збіжності методу Ньютона досліджені Л.В.Канторовичем та А.М.Островським.
1.4 Метод ітерацій для системи n рівнянь.
Нехай
(15) де дійсні, визначені в околі ω ізольованого кореня системи (15). Запишемо її в векторній формі де
(16) Для знаходження вектор-кореня системи (16) можна використати метод ітерацій p=0,1,2
(17) Для цього систему n лінійних рівнянь загального вигляду (11) як і в (16) запишемо в еквівалентному вигляді

де
– ітеруюча вектор-функція, що має вигляд
(18) При цьому матриця Λ у методі ітерацій вибирається так:

(19) причому матриця має бути неособливою. Підставляючи з (18) в (16), отримуємо ітераційну формулу
p=0,1,2
(20) яку використовуємо у методі ітерацій. Вона дещо простіша для обчислень, ніж ітераційна формула методу Ньютона (14).
2. Індивідуальне завдання Використовуючи метод простої ітерації, розв’язати з точністю від ε = 10до ε = 10
такі нелінійні системи рівнянь. Початкове наближення знайти графічно. Дослідити залежність кількості ітерацій від точності. Подати відповідні таблиці та графіки. Номер завдання для кожного cтудента відповідає його порядковому номеру в списку групи. Варіант 27
3. Виконання завдання 3.1 Текст програми include
include
include
using namespace std;
define eps 0.001
double function1(double x, double y) {
return sin(27 * x - y) - x * y + 1; } double function2(double x, double y) {
return x * x - 2.7 * y * y - 2.75; }
double func11(double x, double y) {
return 27 * cos(27 * x - y) - y; }
double func12(double x, double y) {
return -x - cos(27 * x - y); }
double func21(double x, double y) {
return 2*x; }
double func22(double x, double y) {
return -((27 * y) / 5); } void ober_matr(double a[2][2]) {
double det, aa;
det = a[0][0] * a[1][1] - a[0][1] * a[1][0];
aa = a[0][0];
a[0][0] = a[1][1] / det;
a[1][1] = aa / det;
aa = a[0][1];
a[0][1] = -a[0][1] / det;
a[1][0] = -a[1][0] / det; }
void iter(double x, double y) {
int i = 1;
double a[2][2], dx, dy, b[2], norm;
do
{
a[0][0] = func11(x, y);
a[0][1] = func12(x, y);
a[1][0] = func21(x, y);
a[1][1] = func22(x, y);
ober_matr(a);
dx = -a[0][0] * function1(x, y) + -a[0][1] * function2(x, y);
dy = -a[1][0] * function1(x, y) + -a[1][1] * function2(x, y);
x = x + dx;
y = y + dy;
b[0] = function1(x, y);
b[1] = function2(x, y);
norm = sqrt(b[0] * b[0] + b[1] * b[1]);
cout << i << " | " << "x - " << setprecision(10) << x << " y - " << y <= eps);
cout << x << endl << y << endl; } int main() {
system("chcp 1251");
system("cls");
cout << "Чисельні методи" << endl << "Лабораторна робота 5" << endl<< "Виконав студент групи КН-203 - Фурдас Андрій" << endl;
double x, y;
cout <> x;
cout <> y;
cout << "eps = " << eps << endl;
iter(x, y);
cout << endl;
return 0;
} 3.2 Результати виконання програми / 3.3 Графік функції / Графік побудовано на сайті desmos.com 3.4 залежність кількості ітерацій від точності
Eps 0.1 0.01 0.001 10^-4 10^-5 10^-6 10^-7 10^-8 10^-9 10^-10 Iter 39 40 40 41 41 41 41 42 42 42 /
3.5 Пояснення до коду double function1 – верхня функія системи double function2 – нижня функія системи double func11,12,21,22 – похідні по x та y функцій void ober_matr – функція, яка обертає матрицю void iter – функція, яка ітерує, знаходить точки та виводить результат 4. Висновок В результаті виконання цієї лабораторної роботи я вивчив та засвоїв метод Ньютона, написав програму, яка реалізовує метод Ньютона, після чого ввів дані декілька раз та перевірив точки на графіку і переконався, що моя програма працює корректно.
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

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

Останні оголошення

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

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

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Новини