logo
Сборник лабораторных работ МиМАПР

1. Решение систем уравнений.

Для решения систем уравнений надо использовать вычислительный блок (рис. 4.1.): 1. Задайте начальные приближения для всех переменных. 2. Введите ключевое слово Given. 3. Запишите систему уравнений. При записи уравнений знак равенства надо вводить не клавишей = (равно), а комбинацией клавиш Ctrl+=. Получаемый в результате жирный знак равенства = символизирует не присваивание значения, а оператор отношения.

4. Задайте ограничения на поиск решения, если они есть, в виде неравенств. 5. Введите выражение, содержащее функцию Find с неизвестными в качестве параметров.

Результат расчета — вектор решения системы. Вычислительный блок позволяет решать системы от 1 до 200 уравнений. Mathcad допускает использование двухсторонних неравенств типа

а ≤ х ≤ b. Операторы ≤ и ≥ выбираются с панели Boolean (Булевы операторы).

Решение, выданное функцией Find, желательно проверить, подставив в уравнения найденные корни, так как в зависимости от начального приближения Mathcad может вывести корни, не имеющие физического смысла. Так, на рис. 4.1. показана проверка решения системы трех уравнений путем подстановки корней в уравнения, построения графиков уравнений и определения корней как точек пересечения поверхностей. На графике видна точка пересечения трех поверхностей, координаты которой являются решением системы, обращающим все уравнения в тождества. Для построения графиков поверхностей в нужных пределах использована функция CreateMech, которая выводит массив значений функции для заданных значений аргументов. При обычном ускоренном построении графика поверхности значения аргументов выбираются Mathcad автоматически, что в нашем примере приводит к делению на нуль и невозможности создания графика. Пределы значений координат нужно изменить.

Р ис. 4.1. Решение системы уравнений с помощью функции Find

Функция Find реализует несколько градиентных численных методов, для выбора которых нужно щелкнуть правой кнопкой мыши на названии функции Find и рас- крыть контекстное меню, как показано на рис. 4.3.

Рис. 4.2. Дополнительные опции контекстного меню функции Find.

Помимо команды Linear (Линейный метод), реализующей метод касательной, в контекстном меню имеется подменю Nonlinear (Нелинейный метод), позволяющее вы- брать один из трех нелинейных методов:

Щелкнув на кнопке Advanced Options (Дополнительные параметры)

Рис 4.2., помимо выбора методов можно задать дополнительные параметры. Параметры оценки производной конечными разностями (Derivative Estimation):

Параметры оценки переменной (Variable Estimation):

Необходимость проверки линейности (Linear Variable Check):

Если вы уверены, что нелинейности всех функций, входящих в уравнения, мало влияют на значения их частных производных, можно установить переключатель No. В этом случае производные будут считаться постоянными, что сокращает время расчета, поскольку исключает необходимость вычисления производных на каждом шаге.

Рис. 4.3. Выбор метода решения системы уравнений

К выбору метода расчета стоит обращаться, тогда, когда Mathcad не может найти решение. В большинстве же случаев лучше доверить выбор метода Mathcad, активизировав (путем установки флажка) в контекстном меню команду AutoSelect (Автоматический выбор).

Градиентные методы, реализованные в функции Find, требуют многократного вычисления производных. Для достаточно гладких функций они обеспечивают быстрый и надежный поиск корня.

Совет: Для поиска корня негладких функций одной переменной лучше использовать функцию root, реализующую метод секущих.

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

а и b - переменные параметры

начальные параметры

функции пользователя

для графика

для таблицы

это корни х и у системы уравнений

для заданных значений а и b

Рис. 4.4. Решение системы уравнений с переменными параметрами

Примечания: Mathcad позволяет решать системы уравнений не только в скалярной, но и в матричной форме, при этом начальные условия и ограничения задаются в виде векторов (рис. 4.4. и рис.4.5., их можно копировать прямо в Mathcad). С помощью функции Find возможно также решение систем уравнений в символьном виде.

Рис. 4.5. Решение системы уравнений в матричном виде

Внимание: Блоки решения уравнений не могут быть вложенными друг в друга. Каждый блок может иметь только одно ключевое слово Given и одно имя функции Find. Внутри блока решения надо использовать не оператор присваивания (:= ), а оператор логического равенства = (жирный знак равно).

Общие рекомендации по решению уравнений

Не допускается присутствие между словами Given и Find:

Ниже перечислены некоторые рекомендации, которым имеет смысл следовать, если Mathcad не может самостоятельно найти решение.