Для решения системы произвольных уравнений (включая линейные уравнения, а также неравенства) можно использовать функцию 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.