DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

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

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

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

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

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

Про що ця робота

У звіті розглядається метод половинного ділення для уточнення коренів нелінійних рівнянь. Наведено теоретичні відомості, алгоритм, блок-схему та програмну реалізацію на C++.

У роботі розглядаються

  • Чисельні методи
  • Нелінійні рівняння
  • Метод половинного ділення
  • Алгоритмізація
  • Програмування на C++
  • Математичне моделювання

Зміст і розділи

  1. Мета роботи
  2. Теоретичні відомості
  3. Алгоритм методу половинного ділення
  4. Завдання
  5. Текст програми
  6. Результат роботи програми
  7. Висновок
Для кого:Студенти технічних спеціальностей вищих навчальних закладів
Викладачі:Викладач кафедри

Ключові поняття

нелінійне рівняннякорінь рівнянняметод половинного діленнябісекціяабсолютна похибкаітераційний методалгоритмпрограмаC++

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА Кафедра БІТ / Звіт до лабораторної роботи №1 з курсу: «Комп’ютерні методи дослідження інформаційних процесів та систем» на тему: «Методи уточнення коренів нелінійних рівнянь» Метод половинного ділення ЛЬВІВ 2016 Мета роботи – ознайомлення з методами уточнення коренів нелінійних рівнянь з одним невідомим. Теоретичні відомості Цей метод відомий також за назвами методу бісекцій або методу дихотомії. Це простий і надійний алгоритм уточнення коренів рівняння (1). Суть методу полягає в тому, що відрізок  ділиться навпіл, тобто вибирається перше наближення кореня (Рис.1):  (3) Якщо , тоді  є коренем рівняння (1).  Рис.1. Якщо , то вибирають той з відрізків  чи , на кінцях якого функція має різні знаки. Обраний відрізок знову ділять навпіл і т.д. Процес обчислень проводиться доти, доки величина відрізку  не стане меншою від заданої похибки Е. Метод досить стійкий до похибок заокруглень. Але й збігається теж повільно. При збільшенні точності значно зростає об’єм обчислень. Тому на практиці метод часто використовують для грубого визначення початкового наближення кореня, а далі застосовують швидко збіжний ітераційний метод. Метод бісекцій збігається для будь-яких неперервних функцій. Кількість ітерацій, необхідних для досягнення точності E, оцінюють співвідношенням:  Алгоритм методу половинного ділення. Задати значення параметрів а, b та граничної абсолютної похибки Е . Обчислити значення функцій  в точці а, тобто обчислити . Поділити проміжок  навпіл, тобто знайти точку : . Перевірити умову ? Якщо так, то перейти до п.7. Якщо добуток , то , в протилежному випадку . Якщо , то перейти до п.3. Надрукувати (вивести) значення . Закінчити виконання програми. Значення Е задається в межах 10 –4(10 –6. Завдання Знайти корінь рівняння з граничною абсолютною похибкою Е = 10–4, відокремлений на відрізку [a, b]. Методи чисельного розв’язування задаються викладачем. Варіант Рівняння Відрізок  4 exp(x) + x = 0 [-1;0]   Блок-схема алгоритму програми  Список індефікаторів, констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі, та їх пояснення а – змінна дійсного типу, яка є початком проміжку; b – змінна дійсного типу, яка є кінцем проміжку; Е – змінна дійсного типу, яка є граничною абсолютною похибкою; Cout – метод виводу даних; Cin – метод вводу даних дійсного типу; Текст програми #include <iostream> #include <cmath> using namespace std; double fun(double x) { return exp(x) + x; } double halfDivision(double a, double b, double e) { double x = 0; do { x = (a + b) / 2; if (fun(x) == 0) { break; } if (fun(a)*fun(x) > 0) { a = x; } else { b = x; } } while (abs(b - a) > e); return x; } int main() { double x, a, b, eps; cout << "Enter begin of the segment : "; cin >> a; cout << "Enter end of the segment : "; cin >> b; cout << "Enter abolute error : "; cin >> eps; cout << "X = " << halfDivision(a, b, eps) << "\n"; } Розв’язування нелінійного рівняння в системі MatLab / Результат роботи програми / Висновок: В даній лабораторній роботі я ознайомився з методами уточнення коренів нелінійних рівнянь з одним невідомим. Також навчився писати та підлагоджувати програми за алгоритмом методу Ньютона для уточнення коренів нелінійних рівнянь
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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