Моделирование систем с помощью системы Matlab

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

MATLAB (сокращение от англ. «Matrix Laboratory», в русском языке произносится как Матла́б) — пакет прикладных программ для решения задач технических вычислений и одноимённый язык программирования, используемый в этом пакете. MATLAB работает на большинстве современных операционных систем, включая Linux, Mac OS, Solaris. Программы, написанные на MATLAB, бывают двух типов — функции и скрипты[23]. Функции имеют входные и выходные аргументы, а также собственное рабочее пространство для хранения промежуточных результатов вычислений и переменных. Скрипты же используют общее рабочее пространство. Как скрипты, так и функции не компилируются в машинный код и сохраняются в виде текстовых файлов. Существует также возможность сохранять так называемые pre-parsed программы — функции и скрипты, обработанные в вид, удобный для машинного исполнения. В общем случае такие программы выполняются быстрее обычных, особенно если функция содержит команды построения графиков. Основной особенностью языка MATLAB являются его широкие возможности по работе с матрицами.

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

В университетской среде, MATLAB представлял собой стандартный инструмент для работы в различных областях математики, машиностроении и науки. В промышленности - это инструмент для высокопродуктивных исследований, разработок и анализа данных.

MATLAB реализует три важные концепции программирования:

• процедурное модульное программирование, основанное на создании модулей – процедур и функций;

• объектно-ориентированное программирование, особенно ценное в реализации графических средств системы;

• визуально-ориентированное программирование, направленное на создание средств графического интерфейса пользователя GUI (Graphics User Interface).

Язык программирования MATLAB относится к классу интерпретаторов. Это значит, что любая команда системы распознается (интерпретируется) по ее имени (идентификатору) и немедленно исполняется в командной строке, что обеспечивает легкую проверку по частям любого программного кода. Одновременно интерпретирующий характер языка программирования MATLAB означает, что с первых строк описания средств этой системы фактически описывается ее язык программирования.

В MATLAB важная роль отводится специализированным группам программ, называемых toolboxes. Они очень важны для большинства пользователей MATLAB, так как позволяют изучать и применять специализированные методы. Toolboxes - это всесторонняя коллекция функций MATLAB (М-файлов), которые позволяют решать частные классы задач. Toolboxes применяются для обработки сигналов, систем контроля, нейронных сетей, нечеткой логики, вэйвлетов, моделирования и т.д.

Система MATLAB состоит из пяти основных частей.

Язык MATLAB. Это язык матриц и массивов высокого уровня с управлением потоками, функциями, структурами данных, вводом-выводом и особенностями объектно-ориентированного программирования.

Среда MATLAB. Это набор инструментов и приспособлений, с которыми работает пользователь или программист MATLAB. Она включает в себя средства для управления переменными в рабочем пространстве MATLAB, вводом и выводом данных, а также создания, контроля и отладки М-файлов и приложений MATLAB.

Управляемая графика. Это графическая система MATLAB, которая включает в себя команды высокого уровня для визуализации двух- и трехмерных данных, обработки изображений, анимации и иллюстрированной графики. Она также включает в себя команды низкого уровня, позволяющие полностью редактировать внешний вид графики, также как при создании Графического Пользовательского Интерфейса (GUI) для MATLAB приложений.

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

Программный интерфейс. Это библиотека, которая позволяет писать программы на Си и Фортране, которые взаимодействуют с MATLAB. Она включает средства для вызова программ из MATLAB (динамическая связь), вызывая MATLAB как вычислительный инструмент и для чтения-записи МАТ-файлов.

Simulink, сопутствующая MATLAB программа, - это интерактивная система для моделирования нелинейных динамических систем, иными словами - это интерактивный инструмент для моделирования, имитации и анализа динамических систем. Simulink представляет собой среду, управляемую мышью, которая позволяет моделировать процесс путем перетаскивания блоков диаграмм на экране и их манипуляцией. Simulink работает с линейными, нелинейными, непрерывными, дискретными, многомерными системами. Blocksets - это дополнения к Simulink, которые обеспечивают библиотеки блоков для специализированных приложений, таких как связь, обработка сигналов, энергетические системы. Real-Time Workshop - это программа, которая позволяет генерировать С код из блоков диаграмм и запускать их на выполнение на различных системах реального времени.

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

А. быстро создать символическую схему моделируемого устройства

Б. гибкого изменения параметров каждого используемого блока, создания субблоков, а также их векторизации и регистрации пересечения нуля.

В. наблюдения динамики поведения любых переменных модели с помощью гибко настраиваемых средств визуализации.

Г. генерации кода разработанных моделей на языках С и С++, откомпилировав который, пользователь получает полноценное автономное Windows-приложение.

Д. анимации движущихся систем и создания видеоклипов.

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

Библиотека основных модулей Simulink включает шесть отделов:

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

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

Дискретные элементы – элементы, воспринимающие и трансформирующие дискретные (цифровые) сигналы, распространяющиеся через равные дискретные интервалы времени.

Линейные элементы - элементы, воспринимающие и трансформирующие непрерывные (аналоговые) сигналы.

Нелинейные элементы – в основном, представляют собой функции или функционалы, структурно входящие в модель.

Соединители – элементы, служащие для объединения сигналов, задания начальных условий, установления точек начала и окончания работы модели.

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

Применение/

Математика и вычисления.

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

• Матрицы и линейная алгебра — алгебра матриц, линейные уравнения, собственные значения и вектора, сингулярности, факторизация матриц и другие.

• Многочлены и интерполяция — корни многочленов, операции над многочленами и их дифференцирование, интерполяция и экстраполяция кривых и другие.

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

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

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

• Разреженные матрицы — специальный класс данных пакета MATLAB, использующийся в специализированных приложениях.

• Целочисленная арифметика — выполнение операций целочисленной арифметики в среде MATLAB.

Разработка алгоритмов

MATLAB предоставляет удобные средства для разработки алгоритмов, включая высокоуровневые с использованием концепций объектно-ориентированного программирования. В нём имеются все необходимые средства интегрированной среды разработки, включая отладчики профайлер. Функции для работы с целыми типами данных облегчают создание алгоритмов для микроконтроллеров и других приложений, где это необходимо.

Визуализация данных.

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

Независимые приложения.

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

[1] Технологический процесс — это часть производственного процесса, содержащая целенаправленные действия по изменению и (или) определению состояния предмета труда.

[2] Реинжиниринг бизнес-процессов (англ. Business process reengineering) — фундаментальное переосмысление и радикальное перепроектирование бизнес-процессов для достижения максимального эффекта производственно-хозяйственной и финансово-экономической деятельности, оформленное соответствующими организационно-распорядительными и нормативными документами.

[3] Информационная Поддержка жизненного цикла Изделий

[4] База данных, БД - именованная совокупность данных, отражающая состояние объектов и их отношений в рассматриваемой предметной области. Система управления базами данных, СУБД- совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями.

[5] Система управления базами данных

[6] ЧПУ - компьютеризованная система управления, управляющая приводами технологического оборудования, включая станочную оснастку

[7] Системы, которые, во-первых, обеспечивают весь цикл создания изделия от концептуальной идеи до реализации, а во-вторых (и это самое главное), создают проектно-технологическую среду для одновременной работы всех участников создания изделия с единой виртуальной электронной моделью этого изделия.

[8] Loft-объекты строятся путем формирования оболочки по опорным сечениям, расставляемым вдоль некоторой заданной траектории. Оболочка как бы натягивается на сечения вдоль указанного пути, а в результате получается трехмерная модель

[9] Для микрологистической системы "толкающего" типа характерны производство деталей, компонентов, полуфабрикатов и сборка из них готовой продукции в соответствии с жестко заданным производственным расписанием. Это системаорганизации производства, в которой предметы труда, поступающие на производственный участок, непосредственно этим участком у предыдущего технологического звена не заказываются. Материальный поток как бы выталкивается получателю по команде, поступающей на передающее звено из центральной системы управления производством.

[10] Номенклатура — совокупность названий, употребляемых в какой-либо отрасли науки, производства и т. д. для обозначения объектов.

[11] APS (Advanced Planning & Scheduling Systems) - «оптимизированное производственное планирование» - непосредственный инструмент планирования работ на предприятии

[12] Смазочно-охлаждающая технологическая среда

[13] Генеральная совокупность, генеральная выборка — совокупность всех объектов (единиц), относительно которых учёный намерен делать выводы при изучении конкретной проблемы. Генеральная совокупность состоит из всех объектов, которые подлежат изучению. Состав генеральной совокупности зависит от целей исследования.

[14] t-критерий Стьюдента — общее название для класса методов статистической проверки гипотез (статистических критериев), основанных на распределении Стьюдента. Наиболее частые случаи применения t-критерия связаны с проверкой равенства средних значений в двух выборках. Распределение Стьюдента в теории вероятностей — это однопараметрическое семейство абсолютно непрерывных распределений.

[15] U-критерий Манна — Уитни — статистический критерий, используемый для оценки различий между двумя независимыми выборками по уровню какого-либо признака, измеренного количественно.

[16] Репрезентативность можно определить как свойство выборочной совокупности представлять параметры генеральной совокупности, значимые с точки зрения задач исследования

[17] Реляционная СУБД (РСУБД; иначе Система управления реляционными базами данных, СУРБД) — СУБД, управляющая реляционными базами данных. Эти модели характеризуются простотой структуры данных, удобным для пользователя табличным представлением и возможностью использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных. Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами: каждый элемент таблицы — один элемент данных; все ячейки в столбце таблицы однородные, то есть все элементы в столбце имеют одинаковый тип (числовой, символьный и т. д.); каждый столбец имеет уникальное имя; одинаковые строки в таблице отсутствуют; порядок следования строк и столбцов может быть произвольным.

[18] Универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных.

[19] Патентованная технология корпорации Microsoft, официально рассчитанная на работу под операционными системами семейства Microsoft Windows.Назначение .NET Framework— служить средой для поддержки разработки и выполнения сильно распределенных компонентных приложений.

[20] Язык с простым формальным синтаксисом, удобный для создания и обработки документов программами и одновременно удобный для чтения и создания документов человеком, с подчёркиванием нацеленности на использование в Интернете.

[21] Символьные вычисления — это преобразования и работа с математическими равенствами и формулами как с последовательностью символов.

[22] Вычислительные (численные) методы — методы решения математических задач в численном виде. Представление как исходных данных в задаче, так и её решения — в виде числа или набора чисел.

[23] Сцена́рный язы́к (англ. scripting language, в русской литературе принято название язык сценариев) — высокоуровневый язык программирования для написания сценариев — кратких описаний действий, выполняемых системой.

Наши рекомендации