Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ua_ru_ОТР_part2.doc
Скачиваний:
15
Добавлен:
28.04.2019
Размер:
1.24 Mб
Скачать

Зміст та оформлення лабораторних робот

Лабораторні роботи з дисципліни “ Обчислювальна техніка та програмування за фахом ” мають мету вивчення чисельних методів, які застосовуються при розв’язуванні інженерних задач за фахом, практичного закріплення знань з основ алгоритмізації та програмування, а також вивчення можливостей системи MatLab для розв’язання означених задач. Для виконання лабораторних робот передбачається використання знань, що отримані в курсах “Обчислювальна техніка та програмування” та “Вища математика”.

В умовах кредитно-модульної системи навчальна дисципліна “ Обчислювальна техніка та програмування за фахом ” у 3-ому семестрі відповідає: 32 годинам лабораторних робот та 38 годинам самостійної роботи.

По кожній лабораторній роботі оформлюється звіт, він мусить відповідати діючим стандартам ЗНТУ. Загальна структура звіту по лабораторній роботі винна бути такою:

  • тема роботи;

  • формулювання задачі;

  • ручний розрахунок за формулами алгоритму метода, що досліджується;

  • текст програми;

  • протокол розв’язування задачі (в вигляді скрипта) за допомогою: а) власних програм; б)команд та функцій системи MatLab;

  • протокол, що містить отриманні результати ;

  • висновки.

Лабораторна робота № 1 Рішення нелінійних рівнянь методами половинного розподілу та хорд

1.1 Мета роботи

Вивчення чисельних методів рішення нелінійних рівнянь та придбання практичних навиків роботи в системі MatLab.

1.2 Завдання на лабораторну роботу

Для виконання лабораторної роботи необхідно:

1. Вивчити алгоритми ітераційних методів(половинного розподілу та хорд).

2. Скласти програми-функції для знаходження коренів будь-якого нелінійного рівняння методами половинного розподілу та хорд з заданою точністю.

3. Виконати в MatLab індивідуальні завдання наведені в розділі 1.4 та завдання на самостійну роботу – розділ 1.5.

4. Зберегти результати роботи (програми, протоколи обчислень, графіки).

5. Скласти звіт.

    1. Основні теоретичні відомості

Найбільш загальний вигляд нелінійного рівняння:

f(x)= 0, (1.1)

де функція f(x) визначена і безперервна на кінцевому або 6ewton66евому відрізку [а, b].

Коренем рівняння називається таке значення , при якому . Корінь називається простим, якщо , інакше корінь називається кратним. Ціле число k називається кратністю кореня, якщо при x = разом з функцією дорівнюють нулю її похідні до (k-1|) порядку включно:

Постановка задачі обчислення наближеного значення кореня із точністю ε: знайти таке значення x, що .

Рішення задачі розбивається на два етапи: на першому етапі здійснюють локалізацію кореня, на другому етапі проводять ітераційне уточнення кореня. На етапі локалізації кореня знаходять достатньо вузькі відрізки (або відрізок, якщо корінь єдиний), які містять один і лише один корінь рівняння . На другому етапі обчислюють наближене значення кореня із заданою точністю. Часто замість відрізка локалізації досить вказати початкове наближення до кореня.

  1. Методи ітераційного уточнення кореня

Метод бісекції (розподілу навпіл)

Нехай [а,b] – відрізок локалізації. Припустимо, що функція f(x) безперервна на [а,b] і на кінцях набуває значень різних знаків .

Алгоритм методу розподілу навпіл полягає в побудові послідовності вкладених відрізків, на кінцях яких функція набуває значень різних знаків. Кожен наступний відрізок отримують діленням навпіл попереднього. Опишемо один крок ітерацій методу. Нехай на k-ом кроці знайдений відрізок такий, що . Знайдемо середину відрізка . Якщо , то – корінь і задача вирішена. Якщо ні, то из двух половин відрізка вибираємо той, на кінцях якого функція має протилежні знаки:

, якщо ,

, якщо ,

Рисунок 1.1 – Метод розподілу навпіл

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

Теорема про збіжність методу бісекцій. Нехай функція f(x) безперервна на [а,b] і на кінцях набуває значень різних знаків . Тоді метод сходиться і справедлива оцінка погрішності: .

З останнього равенства легко отримати апріорну оцінку кількості кроків, необхідних для досягнення заданої точності:

звідки отримуємо

Приклад програми-функції, яка вирішує рівняння методом розподілу навпіл, наведений в Лістингу 1.1.

Лістинг 1.1. Файл Bisection|.m

function [x,k]=Bisection(f,a,b,eps)

%Data Input f – ім’я функції;

% a і b – ліва і права границі інтервалу локалізації;

% eps – точність;

%Data Output x – корінь;

% k – кількість ітерацій.

Ya= feval(f,a); yb= feval(f,b);

if ya*yb>0

error(‘[a, b] не є інтервалом локалізації’);

end;

k=0;

while abs(a-b)>eps

k=k+1; x=(a+b)/2; fx=feval(f,x);

if fx==0

break;

elseif fa*fx<0

b=x; fb=fx;

else

a=x; fa=fx;

end;

end;

Метод хорд

В деяких випадках декілька більшою швидкістю збіжності володіє метод хорд, у якого на другому етапі при виборі чергового наближення усередині відрізка, що містить корінь, враховується величина нев’язки на кінцях відрізка: точка вибирається ближче до того кінця, де нев’язка менша.

Геометричний сенс полягає в заміні кривої хордою. Чергове наближення знаходиться як точка пересічення хорди із віссю 9ewton9.

Рисунок 1.2 – Метод хорд

Якщо [a,b] – відрізок, що містить корінь, то рівняння хорди

Для точки пересічення хорди із віссю 10ewton10 маємо

,

береться за чергове наближення до кореню. Далі вибирається той з проміжків, на кінцях якого функція має значення різних знаків, і т.д. При цьому, якщо функція і її друга похідна зберігають знак на даному проміжку, то отримані наближення сходитимуться до кореню монотонно. В цьому випадку у| всіх отриманих проміжків один кінець буде спільним, саме той, на якому збігаються знаки функції і другої похідної. Цей кінець називають нерухомим, а протилежний кінець відрізку приймають за початкове наближення до кореню. Нехай с – той з кінців відрізку , для якого виконується умова , а - початкове значення (протилежний кінець відрізку), тоді ітерації проводимо по формулі:

, k=0,1,2,…

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]