Программные продукты MathWorks
Основанная в 1984 году компания MathWorks специализируется на разработке программного обеспечения в области численных вычислений, имитационного моделирования и автоматизированного проектирования. Обладая сетью представительств по всему миру и сотрудничая с лидирующими компаниями-разработчиками, MathWorks постоянно расширяет область своей специализации и выпускает новые улучшенные версии продуктов.
Около миллиона инженеров и научных сотрудников по всему миру используют программное обеспечение MathWorks. Продукты компании применяются ведущими технологическими и финансовыми организациями, исследовательскими институтами и образовательными учреждениями. Программное обеспечение MathWorks направлено на решение различных инженерных задач и ускоряет создание и внедрение инновационных технологий для научных исследований в таких областях, как медицина, экология, авиатехнология, энергоснабжение, образование и др. В последнее время программное обеспечение MathWorks активно применяются в области генной инженерии, проектировании экономических моделей и анализа их устойчивости в критических условиях, тестировании технологий, диагностике и научном прогнозировании. Программы компании помогают разрабатывать эффективные и безопасные приложения и мощные системы управления.
Основные продукты MathWorks: MATLAB, Simulink, Stateflow. MATLAB используется для технических расчетов, разработки алгоритмов и анализа данных.
MATLAB - это высокопроизводительный язык для технических расчетов. Он включает в себя вычисления, визуализацию и программирование в удобной среде, где задачи и решения выражаются в форме, близкой к математической.
Типичное использование MATLAB - это:
− математические вычисления;
− создание алгоритмов;
− моделирование;
− анализ данных, исследования и визуализация;
− научная и инженерная графика;
− разработка приложений, включая создание графического интерфейса.
MATLAB выполняет множество задач для поддержки научных и инженерных работ, начиная от сбора и анализа данных до разработки приложений. Среда MATLAB объединяет математические вычисления, визуализацию и мощный технический язык (рис. 16.2). Встроенные интерфейсы позволяют получить быстрый доступ и извлекать данные из внешних устройств, файлов, внешних баз данных и программ. Кроме того, Matlab позволяет интегрировать внешние процедуры, написанные на языках Си, Си++, Фортран, и Java с MATLAB приложениями.
Рис. 16.2. Среда MATLAB
Используемый повсюду в промышленности, государственных, академических и учебных организациях, MATLAB фактически стал принятым во всем мире стандартом для технических вычислений. MATLAB имеет широкий спектр применений, включая цифровую обработку сигналов и изображений, проектирование систем управления, естественные науки, финансы и экономику, а также приборостроение. Открытая архитектура позволяет легко использовать MATLAB и сопутствующие продукты для исследования данных и быстрого создания конкурентоспособных пользовательских инструментов.
Программа Simulink является приложением к пакету MATLAB. При моделировании с использованием Simulink реализуется принцип визуального программирования, в соответствии с которым, пользователь на экране из библиотеки стандартных блоков создает модель устройства и осуществляет расчеты (рис. 16.3). При этом, в отличие от классических способов моделирования, пользователю не нужно досконально изучать язык программирования и численные методы математики, а достаточно общих знаний, требующихся при работе на компьютере и, естественно, знаний той предметной области, в которой он работает.
Simulink является достаточно самостоятельным инструментом MATLAB и при работе с ним совсем не требуется знать сам MATLAB и остальные его приложения. С другой стороны доступ к функциям MATLAB и другим его инструментам остается открытым и их можно использовать в Simulink. Часть входящих в состав MATLAB пакетов имеет инструменты, встраиваемые в Simulink (например, LTI-Viewer приложения Control System Toolbox – пакета для разработки систем управления).
Имеются также дополнительные библиотеки блоков для разных областей применения (например, Power System Blockset – моделирование электротехнических устройств, Digital Signal Processing Blockset – набор блоков для разработки цифровых устройств и т.д.). При работе с Simulink пользователь имеет возможность модернизировать библиотечные блоки, создавать свои собственные, а также составлять новые библиотеки блоков.
При моделировании пользователь может выбирать метод решения дифференциальных уравнений, а также способ изменения модельного времени (с фиксированным или переменным шагом). В ходе моделирования имеется возможность следить за процессами, происходящими в системе. Для этого используются специальные устройства наблюдения, входящие в состав библиотеки Simulink. Результаты моделирования могут быть представлены в виде графиков или таблиц.
Подготовка задачи для моделирования в SIMULINK проводится в следующей последовательности:
− Выбор расчетной схемы.
− Составление системы уравнений, описывающих исследуемый процесс.
− Приведение системы к виду, удобному для решения (разрешение относительно старших производных).
− Определение начальных условий.
− Составление структурной схемы.
− Моделирование возмущающих функций.
− Определение исходных данных.
− Составление модели в среде SIMULINK.
− Включение средств визуализации.
− Тестирование.
− Решение.
− Анализ результатов.
− Отчет.
Программный продукт Stateflow является интерактивным инструментом разработки в области моделирования сложных, управляемых событиями систем (рис. 16.4). Он тесно интегрирован с MATLAB и Simulink и основан на теории конечных автоматов. Stateflow предлагает элегантное решение для проектирования встроенных систем с контролирующей логикой. Новые усовершенствования включают:
− всестороннюю поддержку данных и операций с фиксированной точкой,
− выполнение функций отмены и повтора в Stateflow Editor,
− программируемый доступ к Stateflow с помощью полностью документированного API,
− поддержку двумерных матриц для передачи данных в и из Simulink,
− отладчик Stateflow может определять переполнение данных,
− упрощение повторного использования кодов с помощью экспорта графических функций из библиотечных таблиц.