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

Методи уточнення коренів нелінійних рівнянь

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра ЗІ З В І Т до лабораторної роботи №1 з курсу: «Комп’ютерні методи дослідження інформаційних процесів і систем» на тему: «Методи уточнення коренів нелінійних рівнянь» Варіант №3 Мета роботи – ознайомлення з методами уточнення коренів нелінійних рівнянь з одним невідомим. 1. Завдання Знайти корінь рівняння з граничною абсолютною похибкою Е = 10–4, відокремлений на відрізку [a, b]. Методи чисельного розв’язування задаються викладачем. Варіант Рівняння Відрізок  3 sin x – 1/x = 0 [1;1.5]  2. Короткі теоретичні відомості Метод Ньютона Метод послідовних наближень, розроблений Ньютоном, широко використовується при побудові ітераційних алгоритмів. Цей метод відомий своєю швидкою збіжністю (квадратичною збіжністю). Нехай корінь рівняння  відокремлений на відрізку , причому  і  неперервні і зберігають сталі знаки на всьому відрізку . Геометричний зміст методу Ньютона полягає в тому, що дуга кривої  замінюється дотичною до цієї кривої. Візьмемо деяку точку x0 відрізка [а, b] і проведемо в точці [x0, f(x0)] дотичну до цього графіку (в прикладі обрано x0=b).  Рис. 3 Її рівняння має вигляд: . Візьмемо за перше наближення кореня точку перетину дотичної з віссю ОХ (y=0; x=x1 ), одержимо:  (8) Наступне наближення знаходимо відповідно за формулою  Узагальнена ітераційна формула методу Ньютона має вигляд  (9) Зазначимо, що початкове наближення  доцільно вибирати так, щоб виконувалась умова  (10) В протилежному випадку збіжність методу Ньютона не гарантується. Найчастіше  або , в залежності від того, для якої із цих точок виконується умова (10). Метод Ньютона ефективний для розв’язування тих рівнянь, для яких значення модуля похідної  біля кореня достатньо велике, тобто графік функції  в околі даного кореня має велику крутизну. Метод Ньютона, як і метод хорд є методом одностороннього наближення. Причому якщо в методі хорд наближення відбувається справа, то в методі Ньютона – зліва, і навпаки. Алгоритм методу Ньютона 3. Блок-схема алгоритму програми  4. Текст програми using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication2 { class Program { public static double f(double x) { return Math.Sin(x)-1/x; } public static double fp(double x) { double dx = 0.0001; return (f(x + dx) - f(x)) / dx; } public static double f2p(double x) { double dx = 0.0001; return (fp(x + dx) - fp(x)) / dx; } static void Main(string[] args) { double a, b, Eps, x, dx; int Kmax; Console.WriteLine("a="); a = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("b="); b = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Vvedit tochnist Eps="); Eps = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Vvedit max kilkist iteratsiy Kmax="); Kmax = Convert.ToInt32(Console.ReadLine()); x = a; if (f(x) * f2p(x) < 0) { x = b; } if (f(x) * f2p(x) < 0) { Console.WriteLine("Zbizhnist ne garantuyetsya"); } for (int i = 1; i <= Kmax; i++) { dx = f(x) / fp(x); if (Math.Abs(dx) < Eps) { Console.WriteLine("x={0},\nKmax={1}", x, i); Console.ReadLine(); return; } x = x - dx; } Console.WriteLine("Za zadanu kilkist iteratsiy tochnist ne dosyagnuto"); Console.ReadLine(); return; } } } 5. Результати роботи програми
Антиботан аватар за замовчуванням

30.03.2016 11:35

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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