МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА"
ІКТА
Кафедра БІТ
Звіт
до лабораторної роботи №1
з курсу:
"Комп’ютерні методи дослідження інформаційних процесів та систем"
на тему: «МЕТОДИ УТОЧНЕННЯ КОРЕНІВ
НЕЛІНІЙНИХ РІВНЯНЬ»
Варіант № 18
Львів-2011
Мета роботи – ознайомлення з методами уточнення коренів нелінійних рівнянь з одним невідомим.
Теоретичні відомості
Метод поділу проміжку навпіл
Цей метод відомий також за назвами методу бісекцій або методу дихотомії. Це простий і надійний алгоритм уточнення коренів рівняння (1).
Суть методу полягає в тому, що відрізок ділиться навпіл, тобто вибирається перше наближення кореня (Рис.1):
(3)
Якщо , тоді є коренем рівняння (1).
Рис.1.
Якщо , то вибирають той з відрізків чи , на кінцях якого функція має різні знаки. Обраний відрізок знову ділять навпіл і т.д. Процес обчислень проводиться доти, доки величина відрізку не стане меншою від заданої похибки Е.
Метод досить стійкий до похибок заокруглень. Але й збігається теж повільно. При збільшенні точності значно зростає об’єм обчислень. Тому на практиці метод часто використовують для грубого визначення початкового наближення кореня, а далі застосовують швидко збіжний ітераційний метод.
Метод бісекцій збігається для будь-яких неперервних функцій. Кількість ітерацій, необхідних для досягнення точності E, оцінюють співвідношенням:
Алгоритм методу половинного ділення.
Задати значення параметрів а, b та граничної абсолютної похибки Е .
Обчислити значення функцій в точці а, тобто обчислити .
Поділити проміжок навпіл, тобто знайти точку : .
Перевірити умову ? Якщо так, то перейти до п.7.
Якщо добуток , то , в протилежному випадку .
Якщо , то перейти до п.3.
Надрукувати (вивести) значення .
Закінчити виконання програми.
ЗАВДАННЯ ДО ЛАБОРАТОРНОЇ РОБОТИ
Знайти корінь рівняння з граничною абсолютною похибкою Е = 10–4, відокремлений на відрізку [a, b]. Методи чисельного розв’язування задаються викладачем.
Варіант
Рівняння
Відрізок
18
x3 – 3x – 1 = 0
[–2;–1]
Блок-схема
так
ні
ні
так
так
ні
СПИСОК ІДЕНТИФІКАТОРІВ КОНСТАНТ, ЗМІННИХ, ФУНКЦІЙ, ВИКОРИСТАНИХ У БЛОК-СХЕМІ АЛГОРИТМУ І ПРОГРАМІ, ТА ЇХ ПОЯСНЕННЯ
a,b, – змінні дійсного типу
x,y – змінна дійсного типу, якій надається значення результату обчислення виразу;
Console.ReadLine() - зчитування стрічки з консоля;
Console.WriteLine() – метод виведення на екран;
Scan( ) - метод, який зчитує значення a, b, E;
Vuvid ( ) - метод, який виводить x;
Convert.ToDouble( ) – конвертування текстової змінної в число типу Double;
Class Program – клас , в якому оголошена головна функція;
using System;using System.Collections.Generic;using System.Text;namespace Taras Kutsyk{class Program{static void Main(){Lab lab = new Lab();lab.Scan();lab.Obrach();lab.Vuvid();}}class Lab{public double a, b, x, F, E; public void Scan(){Console.WriteLine("Vvedit zn. a");a = Convert.ToDouble(Console.ReadLine());Console.WriteLine("Vvedit zn. b");b = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Vvedit zn. E");
E = Convert.ToDouble(Console.ReadLine());}public void Obrach(){E = Math.Pow(10, -4); F = Math.Pow(a,3) - 3*a – 1;do{x = (a + b)/2;if (F != 0)if (F * (Math.Pow(x,3) - 3*x – 1) > 0)a = x;elseb = x;}while (Math.Abs(b-a) > E);}public void Vuvid(){Console.WriteLine("X =" + x);Console.ReadLine();}}}
Результати виконання програми
Висновок: В лабораторній роботі я ознайомився з методами уточнення коренів нелінійних рівнянь з одним невідомим. В даній роботі використовував метод поділу проміжку навпіл, який полягає в тому, що відрізок ділиться навпіл, тобто вибирається перше наближення кореня .