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

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

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

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

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

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

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

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

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

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

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

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

  • Чисельні методи
  • Нелінійні рівняння
  • Метод бісекцій
  • Програмування на C++
  • Програмне середовище MATLAB
  • Похибка обчислень

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

  1. Теоретичні відомості
  2. Завдання
  3. Блок-схема алгоритму програми
  4. Текст програми
  5. Розв’язування нелінійного рівняння в системі MATLAB
  6. Висновок
Для кого:Студенти технічних спеціальностей та виші
Викладачі:Викладач кафедри

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА Кафедра ЗІ / Звіт до лабораторної роботи №1 з курсу: «Комп’ютерні методи дослідження інформаційних процесів та систем» на тему: «Методи уточнення коренів нелінійних рівнянь» Метод половинного ділення Теоретичні відомості Метод поділу проміжку навпіл Цей метод відомий також за назвами методу бісекцій або методу дихотомії. Це простий і надійний алгоритм уточнення коренів рівняння (1). Суть методу полягає в тому, що відрізок  ділиться навпіл, тобто вибирається перше наближення кореня (Рис.1):  (3) Якщо , тоді  є коренем рівняння (1).  Рис.1. Якщо , то вибирають той з відрізків  чи , на кінцях якого функція має різні знаки. Обраний відрізок знову ділять навпіл і т.д. Процес обчислень проводиться доти, доки величина відрізку  не стане меншою від заданої похибки Е. Метод досить стійкий до похибок заокруглень. Але й збігається теж повільно. При збільшенні точності значно зростає об’єм обчислень. Тому на практиці метод часто використовують для грубого визначення початкового наближення кореня, а далі застосовують швидко збіжний ітераційний метод. Метод бісекцій збігається для будь-яких неперервних функцій. Кількість ітерацій, необхідних для досягнення точності E, оцінюють співвідношенням:  Завдання Знайти корінь рівняння з граничною абсолютною похибкою Е = 10–4, відокремлений на відрізку [a, b]. Методи чисельного розв’язування задаються викладачем. Варіант Рівняння Відрізок  22 4x2 – cos x – 4= 0 [1;1.2]   Блок-схема алгоритму програми  Список індефікаторів, констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі, та їх пояснення X1 – змінна дійсного типу, яка є початком проміжку; X2 – змінна дійсного типу, яка є кінцем проміжку; Е – змінна дійсного типу, яка є граничною абсолютною похибкою; Cout – метод виводу даних; Cin – метод вводу даних дійсного типу; Текст програми #include <iostream> #include <cmath> using namespace std; float f(float x) { return 4*x*x - cos (x) - 4; } float n(float x1, float x2) { float x = (x2 + x1) / 2; while (abs(f(x)) > 0.0001) { if (f(x) > 0) x2 = x; else x1 = x; x = (x2 + x1) / 2; } return x; } int main() { cout << n(1, 1.2) << endl; } Розв’язування нелінійного рівняння в системі MatLab f = @(x) 4 * x * x -cos(x) - 4; options = optimset('Display','iter','TolFun',1e-10); optnew = optimset(options,'TolX',1e-10); z = fzero(f, [1 2],optnew); fprintf('z=%6.18f\n',z) Func-count x f(x) Procedure 2 1 -0.540302 initial 3 1.0417 -0.164185 interpolation 4 1.05967 0.0024194 interpolation 5 1.05941 -1.96193e-005 interpolation 6 1.05941 -2.30546e-009 interpolation 7 1.05941 8.88178e-016 interpolation Zero found in the interval [1, 2] z=1.059408769070037600 Результат роботи програми  Висновок: В даній лабораторній роботі я ознайомився з методами уточнення коренів нелінійних рівнянь з одним невідомим. Також навчився писати та підлагоджувати програми за алгоритмом методу половинного ділення для уточнення коренів нелінійних рівнянь
Допоможи студентському архіву

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

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

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

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

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

Admin

26.02.2023 12:38

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