МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра БІТ
З В І Т
до лабораторної роботи №1
з курсу: «Комп’ютерні методи дослідження інформаційних процесів та систем»
на тему: «Методи уточнення коренів
нелінійних рівнянь»
Варіант № 6
Львів -2014
МЕТА РОБОТИ – ознайомлення з методами уточнення коренів нелінійних рівнянь з одним невідомим.
1. КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ.
Метод поділу проміжку навпіл
Цей метод відомий також за назвами методу бісекцій або методу дихотомії. Це простий і надійний алгоритм уточнення коренів рівняння (1).
Суть методу полягає в тому, що відрізок ділиться навпіл, тобто вибирається перше наближення кореня (Рис.1):
(3)
Якщо , тоді є коренем рівняння (1).
Рис.1.
Якщо , то вибирають той з відрізків чи , на кінцях якого функція має різні знаки. Обраний відрізок знову ділять навпіл і т.д. Процес обчислень проводиться доти, доки величина відрізку не стане меншою від заданої похибки Е.
Метод досить стійкий до похибок заокруглень. Але й збігається теж повільно. При збільшенні точності значно зростає об’єм обчислень. Тому на практиці метод часто використовують для грубого визначення початкового наближення кореня, а далі застосовують швидко збіжний ітераційний метод.
Метод бісекцій збігається для будь-яких неперервних функцій. Кількість ітерацій, необхідних для досягнення точності E, оцінюють співвідношенням:
Алгоритм методу половинного ділення.
Задати значення параметрів а, b та граничної абсолютної похибки Е .
Обчислити значення функцій в точці а, тобто обчислити .
Поділити проміжок навпіл, тобто знайти точку : .
Перевірити умову ? Якщо так, то перейти до п.7.
Якщо добуток , то , в протилежному випадку .
Якщо , то перейти до п.3.
Надрукувати (вивести) значення .
Закінчити виконання програми.
2. ЗАВДАННЯ
Знайти корінь рівняння з граничною абсолютною похибкою Е = 10–4, відокремлений на відрізку [a, b]. Методи чисельного розв’язування задаються викладачем.
Варіант
Рівняння
Відрізок
6
x3 + x – 3 = 0
[1;2]
3. БЛОК-СХЕМА АЛГОРИТМУ ПРОГРАМ
4. СПИСОК ІДЕНТИФІКАТОРІВ КОНСТАНТ, ЗМІННИХ, МЕТОДІВ ТА КЛАСІВ, ВИКОРИСТАНИХ У БЛОК-СХЕМІ АЛГОРИТМУ І ПРОГРАМІ, ТА ЇХ ПОЯСНЕННЯ
x, a, b, E – змінні дійсного типу, які є аргументами виразу;
Math.Pow (x, 3) – повертає значення х піднесене до степеня 3;
Program – клас у якому містяться змінні, методи, константи.
Console.ReadLine() – вивід даних.
Console.WriteLine() – від даних
5. ТЕКСТ ПРОГРАМИ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Laba1
{
class Program
{
public double F(double x)
{
return Math.Pow(x, 3) + x - 3;
}
static void Main(string[] args)
{
Program m = new Program();
double a = 1, b = 2, E = 0.001, s;
while (true)
{
s = (a + b) / 2.0;
if (m.F(s) == 0)
{
break;
}
else
{
Console.WriteLine(s);
if (m.F(s) * m.F(a) > 0)
{
a = s;
}
else
{
b = s;
}
if (Math.Abs(b - a) < E)
{
break;
}
}
}
Console.WriteLine("x=" + s);
Console.ReadKey();
}
}
}
6. РЕЗУЛЬТАТ РОБОТИ ПРОГРАМИ
1,5
1,25
1,125
1,1875
1,21875
1,203125
1,2109375
1,21484375
1,212890625
1,2138671875
x=1,2138671875
7. ВИСНОВОК
У лабораторні роботі ми ознайомилися з методами уточнення коренів нелінійних рівнянь з одним невідомим. Знайшли корінь рівняння з граничною абсолютною похибкою Е = 10–4, відокремлений на відрізку [a, b].