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

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ, МОЛОДІ ТА СПОРТУ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра БІ З В І Т до лабораторної роботи №5 з курсу: «Комп’ютерні методи дослідження інформаційних процесів і систем» на тему: «Метод Нютона для розв’язування систем нелінійних рівнянь» Варіант № 9 Львів – 2012р. Мета роботи – ознайомлення з найпоширенішим ітераційним методом розв’язування систем нелінійних рівнянь методом – Нютона. Завдання Розв’яжіть систему нелінійних рівнянь одним із методів, вказаних викладачем, вибираючи за початкові наближення . Ітерації проводити до збігу двох послідовних наближень з похибкою . 9)   Блок-схема алгоритму програми / Список ідентифікаторів констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі, та їх пояснення a,с – двовимірні масиви із елементами типу double; x – одновимірний масив із значеннями коренів системи рівнянь; i, j,L,n,K,m – змінні типу int з рівнем доступу public, що використовуються в коді програми; Текст програми using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace НелінійніРняМетодНютонаЯкобі2рня { class Program { static void Main(string[] args) { ob b = new ob(); b.obrahunk(); Console.ReadLine(); } } class ob { public double a, b, c, d,abcd,max=0; public Int16 i, j; public double[] x,fx,x_; public double[,] a1; public void vyvedehha_x() { for (i = 0; i < 2; i++) { Console.Write("X{0}={1}\n", i + 1, x[i]); } } public void vyvedehha_fx() { for (i = 0; i < 2; i++) { Console.Write("FX{0}={1}", i + 1, fx[i]); } } public void vyvedenna_a1() { for (i = 0; i < 2; i++) { for (j = 0; j < 2; j++) Console.WriteLine("a[{0},{1}]={2}", i, j, a1[i, j]); } } public void obrahunk() { x_=new double[2]; x = new double[2]; fx = new double[2]; a1 = new double[2, 2]; for (i = 0; i <2; i++) { Console.Write("X{0}=", i + 1); x[i] = Convert.ToDouble(Console.ReadLine()); } do { a = 1 - 2 * x[0]; b = 2 * x[1]; c = -2 * x[1]; d = 1 - 2 * x[0]; abcd = 1 / (a * d - b * c); a1[0, 0] = a * abcd; a1[0, 1] = -b * abcd; a1[1, 0] = -c * abcd; a1[1, 1] = d * abcd; fx[0] = x[0] - x[0] * x[0] + x[1] * x[1] - 0.1; fx[1] = x[1] - 2 * x[0] * x[1] - 0.1; for (i = 0; i < 2; i++) { x_[i] = x[i]; } for (i = 0; i < 2; i++) { x[i] = x_[i] - (a1[i, 0] * fx[0] + a1[i, 1] * fx[1]); } max = 0; for (i = 0; i < 2; i++) { if (max < Math.Abs((x[i] - x_[i]) / x_[i])) max = Math.Abs((x[i] - x_[i]) / x_[i]); } vyvedehha_x(); //vyvedenna_a1(); } while (max >= 0.001); Console.WriteLine("fx1={0},fx2={1}", fx[0], fx[1]); } } } Результати роботи програми /
Антиботан аватар за замовчуванням

31.05.2014 14:05-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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