MathCAD




Рис. 1.7. Задача о купце и сукне: решение Зиберова - часть 2


Через окно Insert Matrix можно ввести матрицу, у которой число элементов не может превышать ста. Считается, что большее число элементов матрицы неразумно вводить вручную. Объемные матрицы вводятся в Mathcad-документ тремя способами:

1. Элементы матрицы хранятся файлом на диске и вводятся в матрицу функцией READPRN.

2.      Две матрицы сливаются в одну функциями stack (матрицы ставятся одна на одну) или augment (матрицы ставятся бок о бок).

3.     

Двумя циклами формируется объемная вспомогательная матрица (M1), хранящая единицу или что-то другое, а потом ее содержимое копируется в создаваемую матрицу M и редактируется:

На рис. 1.7 правее Mathcad-выражений помещены комментарии, показывающие, как задача о купце и сукне решается с помощью языка BASIC, имеющего «матричные» операторы, начинающиеся с ключевого слова Mat. В языках программирования векторам и матрицам соответствуют массивы, хранящие переменные с индексом, которые подсказывают нам второй вариант «матричного» решения задачи о купце и сукне (пункт 2 на рис 1.7) без обращения к окну работы с матрицами, а через ввод индекса переменной: Аi , j, Bi и Хi. Индекс к имени переменной добавляется либо нажатием на кнопку Хn панели Matrix, либо на клавишу «[» (открывающаяся квадратная скобка). Запомнить эту клавишу просто: на языках Pascal и C в квадратные скобки помещаются индексы переменных A[i, j], B[i], Х[i] и т.д. Можно отметить еще одну особенность второго варианта «матричного» решения задачи Удодова: отказ от умножения инвертированной матрицы А на вектор В, а использование вместо этого встроенной функции lsolve, возвращающей решение (to solve – решать) системы линейных (l – эль) алгебраических уравнений.

В среде Mathcad 8 появились дополнительные возможности решения систем алгебраических уравнений конструкцией Given-Find, проиллюстрированные на рис. 1.8. Система уравнений, решаемая на рис. 1.8, имеет два корня, которые хорошо видны на графике (см. пункт 1, как он строится ¾ см. ниже главку «Великолепная семерка Mathcad»). Функция Find возвращает одно решение вблизи точки начального приближения. Но если начальное приближение дать не в виде скаляра, как на рис. 1.6, а в виде вектора (см. пункт 2 на рис. 1.8), то ответ будет содержать все корни системы. Элементы вектора Ответ ¾ уже не скалярные величины, а новые векторы.

Кроме того, в среде Mathcad 8 появилась возможность переменные системы алгебраических уравнений объединить в вектор. Этот прием проиллюстрирован в пункте 3 на рис. 1.8. В среде Mathcad 8 нет необходимости делать число уравнений большим или равным числу неизвестных системы.

Еще одно новшество Mathcad 8: если поместить курсор мыши на функцию Find и нажать правую кнопку мыши, то выпадает так называемое контекстное меню, в котором реализована возможность выбора метода решения системы алгебраических уравнений (см. конец рис. 1.8). Система Mathcad 8 по умолчанию сама выбирает метод решения (AutoSelect). Но пользователь при необходимости может скорректировать метод и детали расчета. В среде Mathcad 8 Pro можно решить систему, состоящую из 200 нелинейных алгебраических уравнений[9].




Содержание  Назад  Вперед