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