О. О. Метешкін, д-р техн наук, проф. Харківського військового університету; > Н. А. Кизим, д-р екон. наук, проф. Харківського

Вид материалаДокументы

Содержание


Розв’язання рівнянь
Функція root(…)
Функція polyroots(…)
ФУНКЦІЇ FIND(…), Lsolve(…), Minerr(…)
Пошук коренів за допомогою блоку given ... find(…)
Подобный материал:
1   2   3   4   5   6   7   8   9   ...   26

РОЗВ’ЯЗАННЯ РІВНЯНЬ




  • Функція root( ) розв’язання довільних рівнянь;
  • функція polyroots( ) розв’язання поліноміальних рівнянь;
  • функції розв’язання систем рівнянь find( ), minerr( );
  • символьне розв’язання рівнянь і систем рівнянь;
  • ідентифікатор solve.



    1. ФУНКЦІЯ ROOT(…)



Для розв’язання рівнянь у MathCAD існують декілька функцій у розділі Solving.

Для розв’язання довільних рівнянь виду f(x)=0 застосовується функція root( ), що має чотири аргументи. Перші два аргументи обов’язкові: функція лівої частини рівняння f(x) і змінна рівняння x. Третій та четвертий аргументи вказують інтервал, на якому буде знайдений розв’язок. Наприклад, щоб знайти корені рівняння 3*cos(2*x)=0.52 на інтервалі [0.5, 0.9], варто задати функцію root(3*cos(2*x)–0. 52, x, 0.5, 0.9).

Можна не вказувати останні два аргументи, але тоді треба перед викликом функції надати деяке початкове значення шуканій змінній. Наприклад, для розв’язання рівняння x3+24*x–8=2 можна написати x:=7.5, а потім викликати функцію root(x2+24*x–10, x). Початкове значення буде вказувати функції root( ), звідки починати пошук розв’язку.

Можна спочатку визначити деяку функцію f(x), а потім використовувати її ім’я як перший аргумент:


;

.


    1. ФУНКЦІЯ POLYROOTS(…)



Для розв’язання поліноміальних рівнянь існує окрема функція polyroots(…), яка має один аргумент – вектор коефіцієнтів рівняння. При цьому перший елемент вектора – вільний член рівняння. Для цієї функції не потрібно зазначати ні початкове значення змінної, ні діапазон пошуку. Так, для розв’язання наведеного вище рівняння x3+24*x–8=2 правильніше використовувати функцію . (Перша пара дужок відноситься до функції, друга – задає вектор коефіцієнтів).

Можна було б спочатку присвоїти значення вектора коефіцієнтів певній змінній, а потім використовувати цю змінну як аргумент:

.

Можна використовувати MathCAD і для автоматичної побудови вектора коефіцієнтів полінома. Для цього треба виділити назву змінної х у записаному поліномі (без рівності 0) і викликати меню Символіка / Багатономінальні коефіцієнти (очевидно, мається на увазі «поліноміальні коефіцієнти»).

    1. ФУНКЦІЇ FIND(…), Lsolve(…), Minerr(…)



Ці функції призначені для розв’язання систем рівнянь, однак одне рівняння – це теж, по суті, система (з одного рівняння), отже, ці функції можуть бути застосовані для розв’язання одиночного рівняння (див. опис функції find( ) у п. 2, minerr( ) – у п. 2.5, lsolve( ) – у п. 3.6.

    1. ПОШУК КОРЕНІВ ЗА ДОПОМОГОЮ БЛОКУ GIVEN ... FIND(…)



Багато задач економіки зводиться до розв’язання систем рівнянь. Системи лінійних рівнянь краще розв’язувати матричним методом або за допомогою функції lsolve( ) (див. п. 3.6). Однак існують й інші функції (незамінні для нелінійних рівнянь), що шукають розв’язання методом ітерацій. Тому перед їх викликом варто задавати початкову ітерацію.

Для виклику функції find( ) спочатку треба встановити початкові значення змінних, потім написати ключове слово given, зазначити всі рівняння або нерівності (крім ), а потім тільки викликати функцію find( ). Число аргументів повинно дорівнювати числу невідомих.

При вводі рівнянь для знака = використовується логічний знак рівності з панелі інструментів Логічні або комбінація Ctrl =.

w:=0; x:=0; y:=0; z:=0.

Ключове слово given, рівняння й нерівності, що йдуть за ним, та якийсь вираз, що містить функцію find, називають блоком розв’язання рівнянь.

Вирази, що є неприпустимими всередині блоку розв’язання: обмеження зі знаком ; ранжируваний аргумент або вирази, що містять ранжируваний аргумент у будь-якій формі; нерівності виду a < b < c (замість них слід записати дві нерівності: a < b і b < c).





Функція припиняє пошук розв’язання тоді, коли досягнута задана точність пошуку. Точність обчислень задається системною змінною TOL, рівною за умовчання 0,001 і визначеною в меню Математика / Опції. Якщо потрібне більш точне розв’язання системи, це значення варто зменшити, однак при цьому збільшиться час розв’язання системи.

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