Модифікований Метод Ньютона для розв’язування систем нелінійних рівнянь

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

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

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

Рік:
2024
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Комп’ютерні методи дослідження інформаційних процесів та систем

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

Міністерство освіти і науки України Національного університету «Львівська Політехніка» ІКТА Кафедра ЗІ  Звіт до лабораторної роботи №5 з дисципліни: «Комп’ютерні методи дослідження інформаційних процесів та систем» на тему: «Модифікований Метод Ньютона для розв’язування систем нелінійних рівнянь» Варіант №1 1. Мета роботи: ознайомлення з найпоширенішим ітераційним методом розв’язування систем нелінійних рівнянь – Модифікований методом Ньютона. 2. Завдання Розв’язати систему нелінійних рівнянь Модифікований методом Ньютона з якобіаном із кінцевих різниць, вибираючи за початкові наближення . Ітерації проводити до збігу двох послідовних наближень з похибкою . 1)   3. Блок-схема алгоритму 3.1 Блок-схема алгоритму метода f() початок 1 i==0 || i==1 2 так f(x) 3 f(x) кінець f(x) = x1 - Math.Pow(x1, 2) - Math.Pow(x2, 2) -0,1 f(x) = x2 - 2 * x1 * x2 - 0.1 3.2 Блок-схема алгоритму метода Poxidna() початок 1 i:=0 i<n i:=i+1 2 так ні i%2=0   3 df[i]:=f(x) df[i]:=f(x) кінець f(x) = (f(x1 + h, x2,i) - f(x1, x2,i)) / h f(x) = (f(x1, x2 + h,i) - f(x1, x2,i)) / h 3.3 Блок-схема алгоритму метода solve() початок 1 a := Poxidna() 2 d:= f(x) 3 dx1:=f(x) dx2:=f(x) 4 x:=x1 y:=x2 x1=x1+dx x2=x2+dx2 5 del:=(x1-x)/x 6 |del|>h ні x1,x2,f1,f2 кінець f(x) = a[0] * a[3] - a[1] * a[2] f(x) = (-f(x1, x2, 1) * a[3] - (-f(x1, x2, 2) * a[1])) / d; f(x) = (-f(x1, x2, 2) * a[0] - (-f(x1, x2, 1) * a[2])) / d; 3.4 Блок-схема методу Main( ). початок nt.solve() кінець 4. Текст програми using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication3 { class Nuton { public double x1, x2; public double dx1, dx2, d, x, y, del; double h = 0.000000001; int n = 4; public Nuton(double x, double y) { x1 = x; x2 = y; } double f(double x1, double x2, int i) { if (i==0 || i==1) return x1 - Math.Pow(x1, 2) - Math.Pow(x2, 2) -0.1; return x2 - 2 * x1 * x2 - 0.1; } double[] Poxidna() { double[] df = new double[n]; for (int i = 0; i < n; i++) { if (i % 2 == 0) df[i] = (f(x1 + h, x2, i) - f(x1, x2, i)) / h; else df[i] = (f(x1, x2 + h, i) - f(x1, x2, i)) / h; } return df; } public void solve() { do { double[] a; a = Poxidna(); d = a[0] * a[3] - a[1] * a[2]; dx1 = (-f(x1, x2, 1) * a[3] - (-f(x1, x2, 2) * a[1])) / d; dx2 = (-f(x1, x2, 2) * a[0] - (-f(x1, x2, 1) * a[2])) / d; x = x1; y = x2; x1 += dx1; x2 += dx2; del = (x1 - x) / x; } while (Math.Abs(del) > h); Console.WriteLine("Корені системи:\nx1=" + x + "\nx2=" + y); Console.WriteLine("\nf1=" + (x - Math.Pow(x, 2) - Math.Pow(y, 2) - 0.1) + "\nf2=" + (y - 2 * x * y - 0.1)); } } class Program { public static void Main() { Nuton nt = new Nuton(0, 0); nt.solve(); Console.ReadLine(); } } } 5. Результат виконання програми  6. Висновок На даній лабораторній роботі я ознайомився з найпоширенішим ітераційним методом розв’язування систем нелінійних рівнянь – Модифікованим методом Ньютона.
Антиботан аватар за замовчуванням

16.01.2013 12:01-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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