Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
!!!Лабораторный практикум ПМ.doc
Скачиваний:
10
Добавлен:
21.08.2019
Размер:
4.97 Mб
Скачать
    1. Питання для захисту роботи

1. Що таке абсолютної і відносної погрішності?

2. Як класифікуються погрішності?

3. Що значить вірна цифра?

4. Як знаходиться абсолютна і відносна погрішності в арифметичних діях?

5. Як здійснити оцінку погрішності значень елементарних функцій?

1.5. Варіанти для самостійної роботи

1. Визначити, яка рівність точніше.

2. Округлити сумнівні цифри числа, залишивши вірні знаки.

3. Знайти граничну абсолютну і відносну погрішності числа, якщо вони мають тільки вірні цифри.

4. Обчислити і визначити погрішності результату (варіанти завдань наведені у таблиці 1.4).

Таблиця 1.4

№ варіанта

Завдання

1

2

1

2

3

4

1

2

5

6

7

8

9

1

2

10

11

12

  1. Лабораторна практична робота №2

Тема: Чисельні методи рішення нелінійних рівнянь

(метод бісекції, метод Ньютона, метод ітерацій)

2.1. Мета роботи

Ознайомлення з особливостями розв’язання задач знаходження коренів рівнянь різних типів методами чисельного аналізу з використанням програмного забезпечення (пакет прикладних програм MatLab)

2.2. Порядок виконання роботи

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

2. Оформите звіт по лабораторній роботі, що повинний містити:

  • Формулювання завдання (варіант завдання вибирається відповідно до номера в журналі).

  • Роздруківку послідовності виконання команд у програмному середовищі MatLab, що відповідає своєму завданню.

  • Результати виконання програми (у разі потреби варто привести проміжні результати, а також графіки)

  • Висновки (інтерпритація отриманих результатів).

2.3. Методичні рекомендації

Постановка задачі: обчислити з наближенням корні рівняння використовуючи методи:

  • бісекції (половинного ділення)

  • Ньютона (дотичних)

  • простої ітерації

Алгоритм розв’язання:

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

Приклад 2.1. Обчислити з наближенням найбільший корінь рівняння різними методами.

Опис необхідних програмних засобів MATLABу:

plot – функція, що будує один або декілька графіків на площині;

linspace – функція викликається з трьома вхідними параметрами – перші два – це границі інтервалу, а третій – кількість точок поділу цього інтервалу;

grid on – команда, яка будує сітку розбиття;

axis([xmin xmax ymin ymax]) – явно вказує діапазони змінювання x і y за осями координат.

Приклад 2.2. Локалізація коренів.

Для того, щоб визначити інтервал на якому лежить корінь рівняння необхідно побудувати графік функції і подивитися точки перетинання графіка з осями координат. У пакеті MatLab для цього запишемо функцію у вигляді f(x)= x^3 - cos(x) + 1 і будемо використовувати функцію plot – візуалізація функції однієї змінної (результати наведено на рис 2.1, рис. 2.2, рис. 2.3 та рис. 2.4)

% Локалізувати корені рівняння f(x)=0, де f(x)= x^3 - cos(x) + 1

% Завдання функції f(x) f = inline('x.^3 - cos(x) + 1');

% Побудуємо графік функції на відрізку [-10,10] x = linspace(-10,10,100);

% Вісі з градуіровкою figure('Name', '[-10,10]'); axes('NextPlot', 'Add'); grid on % за допомогою цієї команди наноситься координатна сітка plot(x, f(x));

Рис. 2.1. Перша ітерація локалізації коренів

% Побудуємо графік функції на відрізку [-1,1] % Вісі з градуіровкою figure('Name', '[-1,1]'); axes('NextPlot', 'Add'); grid on x = linspace(-1,1,100); plot(x, f(x));

Рис. 2.2. Друга ітерація локалізації коренів

З графіка видно, що корені рівняння знаходяться на відрізках [-0.6,-0.4] і [-0.2,0.2]

% Побудуємо графік функції на відрізку [-0.6,-0.4] figure('Name', '[-0.6,-0.4]'); axes('NextPlot', 'Add'); grid on x = linspace(-0.6,-0.4,100); plot(x, f(x));

У разі виконання цієї команди отримаємо наступний графік у відповідному вікні:

Рис. 2.3. Третя ітерація локалізації коренів

% Побудуємо графік функції на відрізку [-0.2,0.2] figure('Name', '[-0.2,0.2]'); axes('NextPlot', 'Add'); grid on x = linspace(-0.2,0.2,100); plot(x, f(x));

Рис. 2.4. Четверта ітерація локалізації коренів

У такий спосіб робимо висновок, що інтервал локалізації кореня [-0.2; 0.2].