Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА”
ІКТА
Кафедра ЗІ
ЗВІТ
До лабораторної роботи №1
з курсу: «Комп’ютерні методи дослідження
інформаційних процесів та систем»
на тему: «Методи уточнення коренів нелінійних рівнянь»
Варіант – 3
Мета роботи - ознайомлення з методами уточнення коренів нелінійних рівнянь з одним невідомим.
Короткі теоретичні відомості
Нехай задане рівняння
,
де – неперервна функція, визначена на проміжку і має різні знаки на кінцях цього проміжку, тобто виконується умова
Крім того, та – неперервні і зберігають знак на проміжку . Необхідно знайти корінь рівняння (1) із заданою граничною абсолютною похибкою Е.
Нехай корінь рівняння відокремлений на відрізку , причому і неперервні і зберігають сталі знаки на всьому відрізку . Геометричний зміст методу Ньютона полягає в тому, що дуга кривої замінюється дотичною до цієї кривої.
Візьмемо деяку точку x0 відрізка [а, b] і проведемо в точці [x0, f(x0)] дотичну до цього графіку.
Рис. 3
Її рівняння має вигляд:
.
Візьмемо за перше наближення кореня точку перетину дотичної з віссю ОХ, одержимо, що
Наступне наближення знаходимо відповідно за формулою
Ітераційна формула методу Ньютона має вигляд
Зазначимо, що початкове наближення доцільно вибирати так, щоб виконувалась умова
В протилежному випадку збіжність методу Ньютона не гарантується.
Найчастіше або , в залежності від того, для якої із цих точок виконується умова (10).
Метод Ньютона ефективний для розв’язування тих рівнянь, для яких значення модуля і похідної біля кореня достатньо велике, тобто графік функції в околі даного кореня має велику крутизну.
Завдання
Знайти корінь рівняння з граничною абсолютною похибкою Е = 10–4, відокремлений на відрізку [a, b] методом Ньютона.
/
Блок-схема алгоритму програми
Список індентифікаторів, змінних, функцій, використаних у блок-схемі алгоритму і програмі, та їх пояснення
x – змінна дійсного типу, яка є аргументом виразу;
Math – клас, в якому визначено стандартні математичні функції;
double – тип з плаваючою точкою подвійної точності;
if-else - умовний оператор;
while - оператор циклу з передумовою;
Main() – головна функція;
Pow(x,y) - повертає значення х піднесене до степеня у;
Текст програми
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Lab1
{
class Program
{
static double F(double x )
{return Math.Sin (x) - 1/x;
}
static double Fph(double x)
{
return Math.Cos(x)+1/(Math.Pow(x, 2));
}
static double F2ph(double x)
{
return -Math.Sin(x) - 2/Math.Pow(x , 3);
}
static double y;
static void Main(string[] args)
{double x;
Console.WriteLine("Vvedit a");
double a = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Vvedit b");
double b = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Vvedit E");
double eps = Convert.ToDouble(Console.ReadLine());
if (F(a) * F2ph(a) > 0)
y = a;
else
y = b;
x = y;
double nev = F(x);
while (Math.Abs(nev) > eps)
{
x = x - F(x) / Fph(x);
nev = F(x);
}
Console.WriteLine("result=" +x);
Console.ReadKey();
}
}
}
Результати роботи програми
/
Висновок: На цій лабораторній роботі я ознайомився з методами уточнення коренів нелінійних рівнянь з одним невідомим.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!