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

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра ЗІ  З В І Т до лабораторної роботи №1 з курсу: «Комп'ютерні методи дослідження інформаційних процесів і систем» на тему: «Методи уточнення коренів нелінійних рівнянь» Варіант № 1 1. Мета роботи – ознайомлення з методами уточнення коренів нелінійних рівнянь з одним невідомим. 2. Короткі теоретичні відомості Нехай задане рівняння , (1) де  – неперервна функція. Необхідно знайти всі або деякі корені рівняння (1). Подібна задача розв’язується за два етапи. Перший етап. На цьому етапі розв’язується задача відокремлення коренів нелінійного рівняння. Задача полягає у виокремленні достатньо малої області, що належить області допустимих значень функції , у якій існує один і тільки один корінь рівняння (1). Відокремлення або ізоляція коренів рівняння (1) грунтується на теоремі Больцано-Коші: якщо неперервна функція  на кінцях відрізка  має різні за знаком значення, тобто , то на цьому відрізку рівняння (1) має хоча б один корінь. Якщо крім цього похідна  існує і зберігає знак на відрізку , тобто , або , то корінь єдиний. Задача ізоляції коренів нелінійного рівняння (1) вирішується шляхом табулювання функції  або графічно - шляхом побудови графіку функції  і визначення за графіком відрізків, на яких локалізовано корені рівняння (1). Графік функції як правило будують приблизно із застосуванням методів математичного аналізу. Результати першого етапу є вихідними даними для задачі уточнення коренів нелінійного рівняння. Другий етап. Уточнення наближеного розв’язку до заданої точності. Вихідними даними для задачі уточнення кореня є рівняння (1) і відрізок . Відомо, що функція  має різні знаки на кінцях цього проміжку, тобто виконується умова  (2) Крім того,  та  – неперервні і зберігають знак на проміжку . Необхідно знайти корінь рівняння (1) із заданою граничною абсолютною похибкою Е. Поширеними методами розв’язку цієї задачі є метод поділу проміжку навпіл, метод хорд, метод Ньютона (дотичних), комбінований метод хорд та дотичних, метод простої ітерації, метод Ейткена–Стефенсона і метод Стефенсона. Метод поділу проміжку навпіл Цей метод відомий також за назвами методу бісекцій або методу дихотомії. Це простий і надійний алгоритм уточнення коренів рівняння (1). Суть методу полягає в тому, що відрізок  ділиться навпіл, тобто вибирається перше наближення кореня (Рис.1):  (3) Якщо , тоді  є коренем рівняння (1).  Рис.1. Якщо , то вибирають той з відрізків  чи , на кінцях якого функція має різні знаки. Обраний відрізок знову ділять навпіл і т.д. Процес обчислень проводиться доти, доки величина відрізку  не стане меншою від заданої похибки Е. Метод досить стійкий до похибок заокруглень. Але й збігається теж повільно. При збільшенні точності значно зростає об’єм обчислень. Тому на практиці метод часто використовують для грубого визначення початкового наближення кореня, а далі застосовують швидко збіжний ітераційний метод. Метод бісекцій збігається для будь-яких неперервних функцій. Кількість ітерацій, необхідних для досягнення точності E, оцінюють співвідношенням:  Алгоритм методу половинного ділення  3. Завдання Знайти корінь рівняння з граничною абсолютною похибкою Е = 10–4, відокремлений на відрізку [a, b]. Варіант Рівняння Відрізок  1 ех + х = 0 [-1;0]   4.1 Блок-схема алгоритму. Метод Main( ) 4.2 Блок-схема алгоритму. Метод Vvedennya( ) 4.3 Блок-схема алгоритму. Метод Obchyslennya( )  5. Список ідентифікаторів констант, змінних, процедур і функцій, використаних в програмі 1) Vvedennya( ) – метод, який забезпечує ввід меж відрізку та граничної абсолютної похибки; a, b – межі відрізку; E – гранична абсолютна похибка; 2) Obchyslennya( ) – метод, який забезпечує знаходження кореня рівняння з граничною абсолютною похибкою; 6. Текст програми using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace markiv { class markiv { public double a, b, E, Fa, Fs, xs, riznytsya; public void Vvedennya() { Console.Write("Vvedit' a: "); a = Convert.ToDouble(Console.ReadLine()); Console.Write("Vvedit' b: "); b = Convert.ToDouble(Console.ReadLine()); Console.Write("Vvedit' E: "); E = Convert.ToDouble(Console.ReadLine()); } public void Obchyslennya() { Fa = Math.Exp(a) + a; do { xs= (a+b)/2; Fs = (Math.Exp(xs) + xs); if (Fs == 0) Console.WriteLine("xs={0}\t", xs); else if ((Fa * (Math.Exp(xs) + xs)) > 0) a = xs; else b = xs; riznytsya = Math.Abs(b - a); Console.WriteLine("xs={0:f15}\t riznytsya={1:f15}\t ", xs, riznytsya); } while (Math.Abs(b - a) > E); } } class Program { static void Main(string[] args) { markiv obj = new markiv(); obj.Vvedennya(); obj.Obchyslennya(); Console.Read(); } } } 7. Результати виконання програми 8. Висновки На цій лабораторній роботі були складені та відлагодженні програми які дозволили реалізувати метод уточнення коренів нелінійних рівнянь з одним невідомим.
Антиботан аватар за замовчуванням

12.06.2015 20:06-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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