Глава 4. Решение уравнений

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


Для решения систем уравнений нужно использовать вычислительный блок следующего вида:

1. Начальные приближения для всех переменных.

2. Ключевое слово Given (Дано).

3. Система уравнений (при записи уравнений надо использовать жирный знак равенства– клавиши Ctrl+=, так как это не знак присвоения значения, а оператор отношения).

4. Ограничения на поиск решения в виде неравенств, если они есть.

5. Выражение, содержащее функцию find, с неизвестными в качестве параметров.

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

Mathcad допускает использование двусторонних неравенств типа axb. Операторы ≤ и ≥ выбираются на математической панели.

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

На рис. 4.9 показана проверка решения системы трех уравнений путем подстановки корней в уравнения , точка Z - точка пересечения трех поверхностей, координаты которой являются решением системы, обращающим все уравнения в тождества.

                                                                                 начальное приближение

                                                                                        Given               

                                                                                                 

                                                                                        проверка      

                                                                                              

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

При обычном ускоренном построении графика поверхности значения аргументов выбираются Mathcad автоматически в диапазоне от –5 до 5, что в нашем примере приводит к делению на ноль и невозможности построения графика. Пределы значений координат можно изменить. Для этого дважды щелкните мышью в поле графика и в открывшемся контекстном меню выберите страницу Quick Plot Data, на которой введите необходимые пределы для изменения переменных. Функция find реализует градиентные численные методы и предлагает на выбор три метода. Щелкните правой кнопкой мыши на названии функции find. В открывшемся контекстном меню и его подменю выберите нужный метод:

–   Linear (Линейный метод) – метод касательной;

            Nonlinear (Нелинейный метод);

            Quadratic (Квадратичный метод).

Нелинейных методов три:

1) Conjiugate Gradient (Метод сопряженных градиентов);

2) QuasiNewton (Квази – ньютоновский метод);

3) Levenberg Marquart (Метод Левенберга).

Кроме выбора самого метода, нажав кнопку Advanced Options (Дополнительные параметры), можно выбрать:

1)  оценку производной конечными разностями (Derivate Estimation):

Forward (Вперед) – правая двухточечная схема;

Central (Центральная) – трехточечная симметричная схема;

2) оценку переменной (Variable Estimation):

Tangent (Касательная) – касательная – прямая линия,

Quadratic (Квадратичная) – касательная – парабола;

3) проверку линейности:

Yes (Да);

No (Нет).

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

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

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

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

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

                                                                       

                                                                     начальные приближения

                                                                                Given             

                                                                                      

                                                                                один из параметров делаем константой, другой варьируем

                                                                                                                                       для графика

                                                                                     для таблицы  

                                                                                                         

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

 

Меняем оба параметра a и b

Диапазон изменения координат a и b задан на странице

                                                                             Quick Plot Data окна форматирования

                                                                             

Рис. 4. 11 поверхность решений системы уравнений

Mathcad позволяет решать системы уравнений не только в скалярной, но и в матричной форме, при этом начальные условия и ограничения задаются в виде векторов (рис. 4.12).

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

                                                                                           А*Х=В   путем обращения матрицы А

                                                                                                    

                                                                                           Блок решения Given - find

                                                                                           начальное приближение

                                                                                            Given      

                                                                                           

                                                                          Функция root с матрицами работать не может

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

Решение систем уравнение в символьном виде возможно с помощью функции find. Функция root в ранних версиях (до Mathcad11 включительно) допускала символьное решение уравнений. В Mathcad 12,13,14 символьное решение уравнений с помощью функции root запрещено.

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

 

НазадВперед

Оглавление  Глава 4