Повернутися на головну...
Лабораторна робота №4
Тема: Створення алгоритмів розв’язування алгебраїчних рівнянь.
Мета: навчитися розв’язувати алгебраїчні рівняння і поліноми та будувати двовимірні графіки засобами програми Mathcad.
Обладнання: ПК.
Програмне забезпечення: математичний пакет Mathcad 2001i Professional.

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

   Чисельне рішення нелінійного рівняння
   Для найпростіших рівнянь виду f(x) = 0 рішення в Mathcad перебуває за допомогою функції root (Малюнок 1).
   root( f(х1, x2, …), х1, a, b ) Повертає значення х1, що належить відрізку [a, b], при якому вираження або функція f(х) звертається в 0. Обидва аргументи цієї функції повинні бути скалярами. Функція повертає скаляр.
Аргументи: f(х1, x2, …) - функція, певна де-небудь у робочому документі, або вираження. Вираження повинне повертати скалярні значення.
   х1 - - ім'я змінної, котра використається у вираженні. Цієї змінної перед використанням функції root необхідно привласнити числове значення. Mathcad використає його як початкове наближення при пошуку кореня.
   a, b – необов'язкові, якщо використаються, то повинні бути речовинними числами, причому a < b.

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


Малюнок 1. Рішення рівнянь засобами Mathcad

   3. Знайдені графічним способом.
      Відсутність збіжності функції root
   Якщо після багатьох ітерацій Mathcad не знаходить підходящого наближення, то з'явиться повідомлення (відсутня збіжність). Ця помилка може бути викликана наступними причинами:

  • Рівняння не має корінь.
  • Корінь рівняння розташовані далеко від початкового наближення.
  • Вираження має локальні max й min між початковим наближенням і коріннями.
  • Вираження має розриви між початковими наближеннями й коріннями.
  • Вираження має комплексний корінь, але початкове наближення було речовинним.

  •    Щоб установити причину помилки, досліджуйте графік f(x). Він допоможе з'ясувати наявність корінь рівняння f(x) = 0 й, якщо вони є, то визначити приблизно їхнього значення. Ніж точніше обране початкове наближення кореня, тим швидше буде root сходитися.
          Рекомендації з використання функції root
       Для зміни точності, з якої функція root шукає корінь, потрібно змінити значення системної змінної TOL. Якщо значення TOL збільшується, функція root буде сходитися швидше, але відповідь буде менш точний. Якщо значення TOL зменшується, то функція root буде сходитися повільніше, але відповідь буде більше точний. Щоб змінити значення TOL у певній крапці робочого документа, використайте визначення виду TOL:=0.01. Щоб змінити значення TOL для всього робочого документа, виберіть команду Математика -> Параметры… -> Переменные -> Допуск сходимости (TOL).

    Малюнок 2. Визначення коренів полінома

  • Якщо два корені розташовані близько друг від друга, варто зменшити TOL, щоб розрізнити їх.
  • Якщо функція f(x) має малий нахил біля шуканого кореня, функція root(f(x), x) може сходитися до значення r, що відстоїть від кореня досить далеко. У таких випадках для знаходження більше точного значення кореня необхідно зменшити значення TOL. Інший варіант полягає в заміні рівняння f(x) = 0 на g(x) = 0
  • Для вираження f(x) з відомим коренем а знаходження додаткових корінь f(x) еквівалентно пошуку корінь рівняння h(x) = f(x)/(x a). Подібний прийом корисний для знаходження корінь, розташованих близько друг до друга. Простіше шукати корінь вираження h(x), чим пробувати шукати інший корінь рівняння f(x) = 0, вибираючи різні початкові наближення.
  •       Знаходження коренів полінома
       Для знаходження корінь вираження, що має вид vnxn + ... + v2x2 + v1x + v0, краще використати функцію polyroots, ніж root. На відміну від функції root, функція polyroots не вимагає початкового наближення й повертає відразу всі коріння, як речовинні, так і комплексні.
    Polyroots(v)

    Повертає корінь полінома ступеня n. Коефіцієнти полінома перебувають у векторі v довжини n + 1. Повертає вектор довжини n, що складає з корінь полінома, Аргументи:
    v – вектор, що містить коефіцієнти полінома.
    Вектор v зручно створювати використаю команду Символика -> Полиномиальные коэффициенты. Малюнок 2 ілюструє визначення коренів полінома засобами Mathcad.


    Завдання

       1. Запустити математичний пакет Mathcad 2001i Professional.
       2. За допомогою математичного пакету Mathcad виконайте розрахунки та побудуйте двовимірні графіки.
       Вправа 1. Виконати приклад з Малюнка 1, використовуючи функцію Mathcad root.
       Вправа 2. Побудувати графік функції f(x) (Таблиця 1) і приблизно визначити одне з корінь рівняння. Вирішити рівняння f(x)= 0 з точністю e = 10–4 за допомогою убудованої функції Mathcad root, варіант згідно свого номеру у журналі.

       Вправа 3. Виконати приклад з Малюнка 2, використовуючи функцію Mathcad polyroots.
       Вправа 4. Для полінома g(x) виконати наступні дії:
       1) за допомогою команди Символика -> Полиномиальные коэффициенты створити вектор V, що містить коефіцієнти полінома;
       2) вирішити рівняння g(x) = 0 за допомогою функції polyroots;
       3) вирішити рівняння символьно, використовуючи команду Символика -> Переменная -> Решения.
       Вибрати варіант згідно свого номеру у журналі.

       3. Зробіть висновок по роботі.
          Контрольні питання:
       1. Назвіть способи знаходження початкового наближення.
       2. Які функції для рішення одного рівняння в MathCAD ви знаєте? У чому їхня відмінність?
       3. Які аргументи функції root не обов'язкові?
       4. У яких випадках MathCAD не може знайти корінь рівняння?
       5. Як змінити точність, з якої функція root шукає корінь?
       6. Як системна змінна TOL впливає на рішення рівняння за допомогою функції root?