Решение нелинейных уравнений и их систем

Для решения системы произвольных уравнений (включая линейные уравнения, а также неравенства) можно использовать функцию find. Синтаксис функции:

find(x1,x2,…,xn),
где x1, x2 и т.д. – имена неизвестных. Функция возвращает решения уравнений в виде вектора, где значения неизвестных располагаются в том же порядке, в котором перечислялись аргументы при вызове функции. Если решается одиночное уравнение, функция возвращает скалярную величину.

В отличие от функции lsolve, в аргументах функции find не содержатся решаемые уравнения. Данные уравнения должны быть описаны в рабочем документе непосредственно перед функцией find внутри так называемого блока решения уравнений.

Данный блок необходим для работы функции find и еще некоторых функций и начинается записью в рабочем листе ключевого слова given (англ.: дано). Ниже этого слова записываются уравнения и неравенства, образующие систему. При описании уравнений в блоке решения не допускается использование оператора присваивания и дискретных переменных, вместо этого используются булевские (логические) операторы. В частности, для обозначения равенства друг другу правой и левой частей уравнения используется жирный знак равенства.

Для вставки логических операторов служит панель инструментов «Логика» (рис. 14.1). Логические операторы перечислены в табл. 14.1.

Рис. 14.1 Панель инструментов вставки логических операторов

Табл. 14.1

Опера­тор Кнопка Сочетание клавиш Опера­тор Кнопка Сочетание клавиш
Равно Ctrl+= Не равно Ctrl+3
Меньше Shift+, Не Ctrl+Shift+1
Больше Shift+. И Ctrl+Shift+7
Меньше или равно Ctrl+9 Или Ctrl+Shift+6
Больше или равно Ctrl+0 Исключающее или Ctrl+Shift+5

Логические операторы Mathcad используются не только в пределах блока решения уравнений. Более того, использование логического оператора «Не равно» в блоке решения уравнений не допускается.

Логические операторы И, Или, Исключающее или и Не наиболее часто применяются для выполнения логических операций над булевскими величинами. Булевская величина имеет одно из двух значений: «ИСТИНА» или «ЛОЖЬ». Для большей универсальности Mathcad не делает различия между обыкновенными (числовыми) и булевскими величинами: ноль считается «ЛОЖЬЮ», а любое ненулевое число – «ИСТИНОЙ». И наоборот: «ЛОЖЬ» может быть преобразована в ноль, а «ИСТИНА» – в единицу.

Блок решения уравнений может включать до 200 выражений. Этот блок всегда заканчивается одной из решающих функций (в нашем случае – функцией find). Блок решения не допускает вложения в него другого блока решения. Однако в документе Mathcad можно через оператор присваивания определить для решающей функции новое имя. Тогда данная функций под этим именем может войти в выражение, приводимое в другом блоке решения уравнений.

Для корректной работы функции find перед началом блока решения уравнений всем неизвестным переменным должны быть присвоены значения угадывания.

Пример поиска решения системы уравнений при помощи функции find:

Часто бывает, что точного решения системы уравнений не существует. В этом случае функция find выдаст ошибку. Однако в Mathcad существует функция поиска приблизительного решения системы minerr. В отличие от функции find, функция minerr возвращает решение, наиболее точно (с наименьшей погрешностью) удовлетворяющее всем уравнениям и неравенствам системы. Синтаксис функции minerr и способ ее использования такие же, как и у функции find.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: