Специализированные системы проблемно-ориентированных программных средств и структурного моделирования

Специализированные системы компьютерной математики

Рост сложности решаемых на ЭВМ задач уже давно стал несопоставим с возможностями каждого отдельного программиста-пользователя. В то же время за 50 лет развития цифровых ЭВМ было наработано огромное количество программ численного решения различного рода типовых задач, которые начали интегрироваться в специализированные пакеты. В настоящее время на смену этим пакетам пришли мощные специализированные системы компьютерной математики, которые позволяют решать многие задачи, в том числе задачи моделирования в их исходной постановке, то есть без затрат или с минимальными затратами времени на программирование. Среди наиболее известных систем такого типа следует отметить MATLAB и Mathcad, ниже мы остановимся на первой из них.

Возможности интегрированной системы компьютерной математики MATLAB

История MATLAB

Эта система [58] прошла многолетний путь развития от специализированного матричного программного модуля до универсальной интегрированной системы компьютерной математики (СКМ), ориентированной на массовые персональные компьютеры класса IBM PC и Macintosh, имеющей мощные средства диалога, графики и комплексной визуализации. Разработана фирмой MathWorks, Inc. Около миллиона легально зарегистрированных пользователей уже применяют эту систему. Она имеет мощное и все увеличивающееся расширение Simulink, представляющее удобные и простые средства, в том числе визуальное объектно-ориентированное программирование для блочного моделирования линейных и нелинейных динамических систем, а также множество других пакетов расширения системы. К разработке расширений для системы привлечены многие научные школы мира и руководящие или крупные ученые и педагоги университетов.

Достоинства MATLAB

Важным достоинством системы является ее открытость и расширяемость. Большинство команд и функций системы реализованы в виде текстовых m-файлов (с расширением) и файлов на языке Си. При этом все файлы доступны для модификации. Пользователю дана возможность создавать не только отдельные файлы, но и библиотеки файлов для расширения специфических задач. Эти возможности адаптации системы к решению различных задач науки и техники привели к созданию десятков пакетов прикладных программ (toolbox), намного расширивших сферы применения системы.

Матричные операции

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

Возможности MATLAB

В области математических вычислений

  • матричные, векторные, логические операторы;
  • элементарные и специальные функции;
  • полиномиальная арифметика;
  • многомерные массивы;
  • массивы записей;
  • массивы ячеек.

В области численных методов

  • дифференциальные уравнения;
  • вычисления одномерных и двухмерных квадратур;
  • поиск корней нелинейных квадратичных алгебраических уравнений;
  • оптимизация функций нескольких переменных;
  • одномерная и многомерная интерполяция;
  • прямые и обратные преобразования Фурье;
  • пакет для решения уравнений в частных производных и др.

В области программирования

  • свыше 600 встроенных математических функций;
  • ввод/вывод двоичных и текстовых файлов;
  • применение программ, написанных на Си и ФОРТРАН;
  • автоматическая перекодировка в процедур MATLAB в тексты программ на языках Си и Си++.
  • Типовые управляющие структуры.

В области визуализации и графики

  • возможность создания двухмерных и трехмерных графиков;
  • осуществление визуального анализа данных.

Графические возможности MATLAB

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

Благодаря этим средствам, в диалоге с ЭВМ может быть реализован рассмотренный во второй главе, на примере аналоговых машин, метод прямой (поэлементной) аналогии. И если не вспоминать при этом о большом числе подпрограмм и численных методов, заложенных внутри этих блоков при их реализации, то внешне процесс взаимодействия с цифровой ЭВМ мало чем отличается от исходной аналоговой постановки.

Моделирование нелинейной динамической системы 2-ого порядка средствами Simulink

На рис.7.16 приведен пример [58] моделирования средствами пакета моделирования Simulink нелинейной динамической системы второго порядка. Рекомендуем сравнить приведенную здесь блок-схему реализации модели с рассмотренной ранее (в разделе 7.2) схемой соединения решающих элементов аналоговой ЭВМ тоже для динамической системы второго порядка. Можно также вернуться к разделу 2.3, где на примере аналоговых машин рассматривается математический изоморфизм, метод прямой аналогии и решение задач методом неявных функций. Это позволит лучше понять внутренний механизм реализации численных методов. Пример же приведенный на рис.7.16, свидетельствует о наличии в прикладном пакете Simulink весьма удобной оболочки для реализации моделирования методом прямой аналогии в интерактивном режиме.

Пример моделирования средствами пакета Simulink нелинейной динамической системы второго порядка

Рис. 7.16 Пример моделирования средствами пакета Simulink нелинейной динамической системы второго порядка

Сервисные особенности графической системы MATLAB

Остановимся еще на некоторых сервисных особенностях графической системы MATLAB 6:

  • расширенные возможности форматирования графики, в том числе, форматирование линий, осей, маркеров опорных точек для графика нескольких функций, нанесение подписей и стрелок прямо на график, построение легенды и шкалы цветов;
  • применение графической «луны»;
  • перемещение графика в графическом окне;
  • возможность вращения графика мышью в контексте меню;
  • возможность создания нескольких графических окон;
  • задания различных координатных систем и осей;
  • широкие возможности использования цвета;
  • простота построения трехмерных графиков с их проекцией на плоскость, построение сечений трехмерных фигур;
  • пакет Imeges, имеющих большой набор средств (более сотни команд) по обработке изображений полученных со сканера, видеокамеры, цифрового фотоаппарата;
  • возможность создания объектов для типового интерфейса пользователя.

Пакеты расширения системы MATLAB, предназначенные для реализации задач моделирования и оптимизации систем

Simulink for Windows

Рассмотрим несколько пакетов расширения системы MATLAB, имеющих непосредственной отношение к реализации задач моделирования и оптимизации систем [58,59].

Этот пакет служит для имитационного моделирования систем состоящих из графических блоков с заданными свойствами (параметрами). Компоненты моделей, в свою очередь, являются графическими блоками и моделями, которые содержатся в ряде библиотек и с помощью мыши могут переноситься в основное меню и соединяться друг с другом необходимыми связями. Здесь имеет место почти полная аналогия с решением задач моделирования на аналоговых машинах (см. разделы 2.3. и 7.2). В состав моделей могут включаться источники сигналов различного рода, виртуальные регистрирующие приборы (осциллографы), графические средства анимации. Двойной щелчок мышью на блоке модели выводит окно со списком его параметров, которые пользователь может менять. Запуск имитации обеспечивает математическое моделирование (исследование) построенной модели с наглядным визуальным представлением результатов. Пакет основан на построении блочных схем путем переноса блоков компонентов в окно редактирования создаваемой пользователем модели. Затем модель запускается на выполнение. На рис.7.17 показан процесс моделирования относительно простой системы – гидравлического цилиндра.

Процесс моделирования гидравлического цилиндра

Рис. 7.17 Процесс моделирования гидравлического цилиндра

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

Peal Time Windows Target и WorkShop

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

Optimization Toolbox

Пакет прикладных программ для решения оптимизационных задач и систем нелинейных уравнений:

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

Partial Differential Eguations MATLAB,Toolbox

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

  • хороший графический интерфейс;
  • автоматический и адаптивный выбор сетки;
  • задание граничных условий: Дирихле, Неймана и смешанных;
  • гибкая постановка задачи с использованием синтаксиса MATLAB;
  • полностью автоматическое сеточное разбиения величины конечных элементов;
  • возможность визуализации полей различных параметров, демонстрация принятого разбиения и анимационные эффекты.

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

System Identification Toolbox

Этот пакет представляет средства для создания математических моделей динамических систем на основе наблюдаемых входных и выходных данных. Методы идентификации, входящие в пакет, применимы для широкого класса задач, от проектирования систем управления и обработки сигналов и до анализа временных рядов и вибрации:

  • предварительная обработка данных, включая предварительную фильтрацию, удаление трендов и смещений;
  • выбор диапазона данных для анализа;
  • методы авторегрессии;
  • анализ отклика во временной и частотной области;
  • отображение полей и полюсов передаточной функции системы;
  • анализ невязок при тестировании системы;
  • построение сложных диаграмм (Найквиста и др.)

Начав с измерения входа и выхода, можно создать параметрическую модель системы, описывающую ее поведение в динамике (рис.7.18).

Пример работы с пакетом System Identification Toolbox

Рис. 7.18 Пример работы с пакетом System Identification Toolbox

Пакет поддерживает все традиционные структуры моделей, включая авторегрессию, структуру Бокса-Дженкинса и др. Он поддерживает линейные модели пространства состояний в дискретном и непрерывном пространстве при произвольном числе входов и выходов. Возможна работа с пакетом в командном режиме и с применением расширения Simulink.

Возможности исследователей

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

Пакеты расширения системы MATLAB, предназначенные для анализа и синтеза систем управления

Control System Toolbox

Ниже мы рассмотрим, кратко, еще несколько пакетов расширения системы MATLAB-6, предназначенных для анализа и синтеза систем управления.

Control System Toolbox предназначен для моделирования, анализа и проектирования систем управления: непрерывных и дискретных. Реализует традиционные методы передаточных функций и современные методы пространства состояний.

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

Nonlinear Control Desin Toolbox

Реализует метод динамической оптимизации для проектирования систем управления, обеспечивает интерактивную оптимизацию, реализует моделирование методом Монте-Карло, позволяет моделировать подавление помех, слежение другие типы откликов.

Robust Control Toolbox

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

Model Predictive Control Toolbox

Содержит полный набор средств, для реализации стратегии предикативного (учреждающего) управления. Эта стратегия была разработана для решения практических задач управления сложными многоканальными процессами при наличии ограничений на переменные состояния и управление. Эти методы используются в химической промышленности и других сложных непрерывных технологических процессах. Предикативный подход использует явную линейную динамическую модель объекта для прогнозирования влияния будущих изменений управляющих переменных на поведение объекта. Такой подход к управлению (на основе прогнозирующей подстраиваемой модели) мы рассмотрели ранее в разделе 6.2. Рассматриваемый пакет представляет, удобные средства для реализации такого подхода. Для идентификации модели в пакете имеются функции взаимодействия с пакетом Sistem Identification.

Quantitative Feedback Toolbox

Содержит функции для робастных (устойчивых) систем с обратной связью. QFT (количественная теория обратных связей) – инженерный метод, использующий частотное представление моделей, для удовлетворения различных требований к качеству при наличии неопределенных характеристик объекта. В основе метода лежит наблюдение, что обратная связь необходима в тех случаях, когда некоторые характеристики объекта не определены и/или на его вход подаются неизвестные возмущения. Пакет позволяет вычислять различные параметры обратных связей, фильтров, проводит тестирование регуляторов, как в непрерывном, так и в дискретном пространстве.

LMI Control Toolbox

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

  • исследование задач линейного программирования;
  • графический редактор задач
  • задание ограничений в символьном виде;
  • многокритериальное проектирование результатов;
  • проверка устойчивости: квадратичная устойчивость линейных систем, устойчивость по Ляпунову, проверка критерия Попова для нелинейных систем.

Содержит симплексные алгоритмы для решения задач линейного программирования. Использует структурное представление линейных ограничений.

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

Материалы по теме

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *