Специализированные системы проблемно-ориентированных программных средств и структурного моделирования
24.04.2016
Специализированные системы компьютерной математики
Рост сложности решаемых на ЭВМ задач уже давно стал несопоставим с возможностями каждого отдельного программиста-пользователя. В то же время за 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 весьма удобной оболочки для реализации моделирования методом прямой аналогии в интерактивном режиме.
Рис. 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
Пакет прикладных программ для решения оптимизационных задач и систем нелинейных уравнений:
безусловная оптимизация нелинейных функций;
метод наименьших квадратов и нелинейная интерполяция;