ГРУППОВЫЕ ОПЕРАЦИИ В ИНСТРУМЕНТАЛЬНЫХ И ПРОГРАММНЫХ СРЕДАХ ПАКЕТОВ  КОМПЬЮТЕРНОЙ МАТЕМАТИКИ

, научный  руководитель, д-р тех. наук, профессор

Ярославский государственный технический университет

г. Ярославль

Для моделирования систем управления технологическими процессами все более широкое применение находят пакеты компьютерной математики (ПКМ). Они включают мощные инструментальные средства, позволяющие оперировать сложными математическими объектами без привлечения программирования.

Тем не менее, в необходимых случаях средства программирования могут быть привлечены для повышения эффективности процедуры решения задачи.

Очень важна возможность единообразно организованных математических операций над группами данных в самых различных ПКМ. Такой возможности лишены пакеты классического программирования. Групповая математическая обработка позволяет рассматривать группы скалярных переменных как объекты с определенными для них методами такой обработки.

Примеры одних и тех же групповых операций, в число которых входят матричные и векторизованные, в различных ПКМ представлены на рисунке 1. Отмечая разницу между матричными и векторизованными операциями, следует указать на то, что при использовании первых матрицы воспринимаются как единый объект, а все действия с ними выполняются по известным математическим правилам матричных операций. При выполнении же векторизации действия производятся над каждым элементом в унарных-, и над соответствующими элементами в бинарных операциях, то есть матрица играет роль «контейнера» переменных над которыми производятся аналогичные действия [1].

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

Более того, возможно решение достаточно сложных задач в так называемом "калькуляторном" режиме, то есть выполнение вычислений без присвоения промежуточных сохраняемых значений. Например, вектор (матрица) оценок коэффицентов модели многомерной линейной регрессии находится по формуле:
(XT×X)-1×XT×Y, где X – матрица экспериментально наблюдаемых "входов", а Y – вектор (матрица) измеренных "выходов" исследуемого объекта (нотация Mathcad).

Более сложный пример использования групповых операций представляет имитационное моделирование крупнотоннажного реактора производства технического углерода, в котором использован ПКМ MatLab c целью анализа эффективности управления рециркулирующим тепловым потоком с точки зрения экономии топлива (природного газа) и повышения выхода продукта на пропущенное сырье. В модели используются полиномиальные аппроксимации зависимостей теплоемкостей химических компонентов реакции от температуры.

Рисунок 1 – Примеры выполнения матричных и векторизованных операций
в различных пакетах компьютерной математики

Выражение для вычисления текущего значения вектора С мольных теплоемкостей путем аппроксимации их зависимости от температуры Тt полиномом третьего порядка выглядит следующим образом: С=Кс*Т (матричная операция; нотация MatLab), а их перевод в вектор массовых теплоемкостей Сm, как Сm=C./Mm (векторизованная операция; нотация MatLab). Здесь Т – вектор-столбец степеней значений Тt температуры Т = (1 Тt Тt2 Тt3)т ; Кс – матрица коэффициентов аппроксимирующих полиномов; Mm – вектор молекулярных масс.

1.  Марьясин поддержка задач автоматического управления. О. Ю. Марьясин, . – Ярославль: Изд-во ЯГТУ, 2011, – 312с.