- •1.3. Методичні рекомендації
- •1.3.1. Знайомство із середовищем MatLab
- •1.3.2. Розрахунки в MatLab
- •1.3.3. Числові формати
- •1.3.4. Константи і змінні
- •1.3.6. Файл-програми
- •1.3.7. Файл-функції
- •1.3.8. Основні положення теорії погрішностей
- •Питання для захисту роботи
- •1.5. Варіанти для самостійної роботи
- •Лабораторна практична робота №2
- •2.3. Методичні рекомендації
- •Метод бісекції
- •Метод Ньютона (метод дотичних)
- •Метод простої ітерації (метод послідовних повторень)
- •Питання для захисту роботи
- •Лабораторна практична робота №3
- •3.3. Методичні рекомендації
- •Питання для захисту роботи
- •3.5. Варіанти для самостійної роботи
- •Практична лабораторна робота №4 Методи апроксимації та інтерполяції. Сплайн-інтерполяція
- •4.1. Мета роботи
- •4.2. Порядок виконання роботи
- •4.3. Методичні рекомендації
- •4.4. Питання для захисту роботи
- •4.5. Варіанти для самостійної роботи
- •5.3. Методичні рекомендації
- •Зміст основних функцій та надбудов Excel для розв’язання оптимізаційних задач
- •Приклад використання зазначених функцій Приклад 5.1. Задача оптимального використання ресурсів
- •Питання для захисту роботи
- •6.3. Методичні рекомендації
- •Допоміжна таблиця для пошуку розв’язку
- •Microsoft Excel 10.0. Звіт щодо стійкості розв’язку
- •6.4. Питання для захисту роботи
- •Варіанти для самостійної роботи
- •Методичні рекомендації
- •Питання для захисту роботи
- •Лабораторне практичне заняття №8 Сіткові графи. Транспортні сітки
- •8.1. Мета роботи
- •8.2. Порядок виконання роботи
- •8.3. Методичні рекомендації
- •8.3.1. Задача сіткового планування і керування
- •8.3.2. Знаходження максимального потоку на транспортній сітці і мінімального розрізу
- •8.4. Питання для захисту роботи
- •9.3. Методичні рекомендації
- •Питання для захисту роботи
- •Варіанти для самостійної роботи
- •Використана література
- •10.1. Основна
- •10.2. Додаткова
- •Лабораторний практикум з дисципліни «Прикладна математика» для студентів напряму підготовки
Метод бісекції
Нехай [a,b] - відрізок локалізації. Припустимо, що функція f(x) безперервна на [a,b] і на кінцях приймає значення різних знаків .
Алгоритм методу бисекции полягає в побудові послідовності вкладених відрізків, на кінцях яких функція приймає значення різних знаків. Кожен наступний відрізок отримують розподілом навпіл попереднього.
Критерій закінчення ітераційного процесу: якщо довжина відрізка локалізації менше , то ітерації припиняють і як значення кореня з заданою точністю приймають середину відрізка.
Приклад 2.3. Рішення рівняння методом бісекції. Для цього необхідно виконати наступну послідовність операцій:
function ex2 % Розв’язати рівняння f(x)=0, де f(x)= x^3 - cos(x) + 1 методом бісекції
% Введемо функцію f(x) f = inline('x.^3 - cos(x) + 1'); root1 = bisec(f, -0.6, -0.4) root2 = bisec(f, -0.2, 0.2)
% Метод бісекції function center = bisec(f, left, right) % Класичний метод бісекції з наближенням 2 eps while right - left > eps * 2 center = (right - left) / 2 + left; if f(center) * f(left) > 0 left = center; else right = center; end end
>> root1 = -0.4901
root2 = -1.0537e-008
Метод Ньютона (метод дотичних)
Розрахункова формула методу Ньютона має вигляд:
.
Геометрично метод Ньютона означає, що наступне наближення до кореня є точка перетинання з віссю ОХ дотичної, проведеної до графіка функції в точці ( .
Критерій закінчення ітераційного процесу. При заданій точності обчислення варто вести доти поки не виявиться виконаним нерівність .
Приклад 2.4. Розв’язати рівняння методом Ньютона.
function ex3 % Розв’язати рівнянняf(x)=0, где где f(x)= x^3 - cos(x) + 1 методом Ньютона
% Введемо функцію f(x) f = inline('x.^3 - cos(x) + 1'); % Її похідна df = inline('3*x.^2 + sin(x)'); root1 = newton(f, df, -0.5); % Перевіримо корні f(root1) root2 = newton(f, df, -0.1); f(root2)
% Метод Ньютона function root = newton(f, df, x0) root = x0 - f(x0) / df(x0); old_root = x0; while abs(old_root - root) > 2 * eps t = old_root; old_root = root; root = t - f(t) / df(t); end
>> ans = -9.5740e-005
ans = 8.3665e-004
Метод Ньютона має локальну збіжність, тобто областю його збіжності є малий окіл кореня . Невдалий вибір може дати розбіжну ітераційну послідовність.
Метод простої ітерації (метод послідовних повторень)
Для застосування методу простої ітерації слід вихідне рівняння перетворити до виду, зручному для ітерації . Це перетворення можна виконати різними способами. Функція називається ітераційною функцією. Розрахункова формула методу простої ітерації має вигляд: .
Теорема про збіжність методу простої ітерації. Нехай у якійсь - околиці кореня функцію можна диференціювати і вона задовольняє нерівності , де - постійна . Тоді незалежно від вибору початкового наближення з зазначеної - околиці ітераційна послідовність не виходить з цієї околиці, метод сходиться зі швидкістю геометричної послідовності і справедлива оцінка погрішності: , .
Критерій закінчення ітераційного процесу. При заданій точності обчислення слід вести доти поки не виявиться виконаним нерівність . Якщо величина , то можна використовувати більш простий критерій закінчення ітерацій: .
Ключовий момент у застосуванні методу простої ітерації складається в еквівалентному перетворенні рівняння . Спосіб, при якому виконана умова збіжності методу простої ітерації, полягає в наступному: вихідне рівняння приводиться до виду . Припустимо додатково, що похідна знакопостоянна і на відрізку [a,b]. Тоді при виборі ітераційного параметра метод сходиться і значення .
Приклад 2.5. Розв’язати рівняння методом ітерацій.
function ex5 % Розв’язати рівняння f(x)=0, где где f(x)= x^2 - 3*x + 3.25 - 5*cos(x) методом простої їітераці
% Введемо функцію f(x) f = inline('x.^2 - 3*x +3.25 - 5*cos(x)'); % Побудуємо графік функції на відрізку [-1,1] x = linspace(-1,1,100); % Вісі з градуіровкою figure('Name', '[-1,1]'); axes('NextPlot', 'Add'); grid on plot(x, f(x));
% Призведемо рівняння к вигляду g(x)=x g = inline('(x.^2 - 5 * cos(x) + 3.25) / 3'); % Початкове наближення x0 = -0.4; % Виконаємо 100 шагів методу for i = 1:100 x0 = g(x0); end f(x0)
>> ans = 5.7730e-007
У разі виконання цієї програми отримаємо графік, який представлений на рис. 2.5.
Рис. 2.5. Графічний аналіз отриманих результатів