DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

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

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

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

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

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

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

Міністерство освіти і науки України Національного університету «Львівська Політехніка» ІКТА Кафедра ЗІ  Звіт до лабораторної роботи №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:18

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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