Работа в среде матлаб и симулинк реферат

Обновлено: 05.07.2024

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

Типичное использование MATLAB — это:

анализ данных, исследования и визуализация

научная и инженерная графика

разработка приложений, включая создание графического интерфейса

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

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

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

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

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

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

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

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

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

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

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

Real-Time Workshop — это программа, которая позволяет генерировать С код из блоков диаграмм и запускать их на выполнение на различных системах реального времени.

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

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

Вы можете вводить матрицы в MATLAB несколькими способами:

вводить полный список элементов

загружать матрицы из внешних файлов

генерировать матрицы, используя встроенные функции

создавать матрицы с помощью ваших собственных функций в М-файлах

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.


Начтем с введения магической матрицы Дюрера (рис. 1) как списка элементов. Вы должны следовать нескольким основным условиям:

отделять элементы строки пробелами или запятыми

использовать точку с запятой ; для обозначения окончания каждой строки

окружать весь список элементов квадратными скобками, [ ].

Чтобы ввести матрицу Дюрера просто напишите:

А = [16 3 2 13; 5 10 11 8; 967 12; 4 15 14 1]

MATLAB отобразит матрицу, которую мы ввели,

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Если мы ввели матрицу, то она автоматически запоминается средой MATLAB. И мы можем к ней легко обратиться как к А. Сейчас, когда мы имеем А в рабочем пространстве MATLAB, посмотрим, что делает её такой интересной. Почему она называется магической?

Операции суммирования элементов, транспонирования и диагонализации матрицы

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

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

MATLAB выдаст ответ

Когда выходная переменная не определена, MATLAB использует переменную ans, коротко от answer — ответ, для хранения результатов вычисления. Мы подсчитали вектор-строку, содержащую сумму элементов столбцов матрицы А. Действительно, каждый столбец имеет одинаковую сумму, магическую сумму, равную 34.

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

вызывает результат вектор-столбец, содержащий суммы в строках

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

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

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

sum (diag (А) ) вызывает

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

Элемент в строке i и столбце j матрицы А обозначается A(i,j). Например, А(4,2) — это число в четвертой строке и втором столбце. Для нашего магического квадрата А(4,2) = 15. Таким образом, можно вычислить сумму элементов в четвертом столбце матрицы А, набрав

A(1,4) + А(2,4) + А(3,4) + А(4,4)

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Однако это не самый лучший способ суммирования отдельной строки.

Также возможно обращаться к элементам матрицы через один индекс, A(k). Это обычный способ ссылаться на строки и столбцы матрицы. Но его можно использовать только с двумерными матрицами. В этом случае массив рассматривается как длинный вектор, сформированный из столбцов исходной матрицы.

Так, для нашего магического квадрата, А(8) — это другой способ ссылаться на значение 15, хранящееся в А(4,2).

Если вы пытаетесь использовать значение элемента вне матрицы, MATLAB выдаст ошибку:

. Index exceeds matrix dimensions.

С другой стороны, если вы сохраняете значение вне матрицы, то размер матрицы увеличивается.

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Название работы: Simulink как подсистема MATLAB

Предметная область: Информатика, кибернетика и программирование

Описание: Компонент Simulink является подсистемой (расширением) MATLAB, предназначенной для блочного моделирования, однако, благодаря своим уникальным возможностям, этот компонент часто воспринимают как самостоятельную систему и называют ядром Simulink.

Дата добавления: 2015-04-30

Размер файла: 180 KB

Работу скачали: 37 чел.

Система MATLA B — это интерактивная система, предназначенная для компьютерного моделирования практически в любой области науки и техники. Она была создана в США компанией The MathWorks, Inc., и ее разработка для персональных компьютеров была представлена в начале 80-х годов.

Мощный программный комплекс MATLAB состоит из четырех компонент: MATLAB , Simulink , Toolbox и Blockset .

Компонент MATLAB представляет собой ядро системы — ядро MATLAB.

Компонент Simulink является подсистемой (расширением) MATLAB, предназначенной для блочного моделирования, однако, благодаря своим уникальным возможностям, этот компонент часто воспринимают как самостоятельную систему и называют ядром Simulink. Слово "simulink" образовано из комбинации первых четырех букв слова "simulation" (моделирование) и "link" (соединение).

Компоненты Toolbox (Набор инструментов) и Blockset (Набор блоков) — это пакеты расширения MATLAB и Simulink соответственно, сгруппированные по специализированным приложениям, назначение которых отображается в их названиях.

Для моделирования объектов и/или процессов в MATLAB предусмотрены следующие средства:

1. Программные средства.

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

2. Стандартные программы GUI (Graphical User Interface — графический интерфейс пользователя).

Моделирование средствами GUI выполняется в режиме интерактивного общения в среде конкретного GUI.

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

Средства GUI предполагают знакомство с программными средствами MATLAB, по меньшей мере, на концептуальном уровне.

3. Средства Simulink.

Моделирование в Simulink выполняется средствами блочного моделирования.

Средства Simulink созданы на основе программных средств MATLAB, но позволяют исключить или минимизировать использование языка MATLAB в явном виде, что существенно упрощает технологию моделирования.

Специфика моделирования в Simulink определяется его основным предназначением — моделирование динамических систем (Dynamic Systems).

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

В большинстве приложений динамическую систему можно фактически или условно представить, как систему обработки сигналов, полагая, что понятия "сигнал" и "система" имеют широкое толкование, а именно:

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

Компьютерная модель динамической системы строится на основе математических моделей сигналов и систем.

  1. Краткие сведения, необходимые для работы в MATLAB

MATLAB - это популярная система компьютерной математики, которая предназначена для выполнения инженерных и научных вычислений, таких как:

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

Кроме того, MATLAB предоставляет широкие возможности по созданию и редактированию различных видов графиков и поверхностей.

После запуска MATLAB на экране появляется основное окно приложения:

Зона редактирования - это фактически командная строка. В ней действуют элементарные приемы редактирования:

  • → - перемещение курсора вправо на один символ;
  • ← - перемещение курсора влево на одни символ;
  • Ноmе - перемещение курсора в начало строки;
  • End - перемещение курсора в конец строки;
  • Del - удаление символа после курсора;
  • Backspace - удаление символа перед курсором.

М-файл - это список команд MATLAB, сохраненный на диске. Для подготовки, редактирования и отладки М-файлов служит специальный редактор, который можно вызвать, выполнив команду главного меню File >• New > M-file. В результате работы этой команды будет создан новый М-файл.

Привести операторы М-файла к выполнению можно несколькими способами:

  • вызвать команду Debug > Run из меню редактора М-файлов;
  • воспользоваться клавиатурой и нажать на кнопку F5;
  • набрать имя М-файла в командной строки и нажать ENTER.

Текстовый комментарий в MATLAB – это строка, начинающаяся с символа %.

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

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

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

Simulink является достаточно самостоятельным инструментом MATLAB и при работе с ним совсем не требуется знать сам MATLAB и остальные его приложения. С другой стороны доступ к функциям MATLAB и другим его инструментам остается открытым и их можно использовать в Simulink. Часть входящих в состав пакетов имеет инструменты, встраиваемые в Simulink (например, LTI-Viewer приложения Control System Toolbox – пакета для разработки систем управления). Имеются также дополнительные библиотеки блоков для разных областей применения (например, Power System Blockset – моделирование электротехнических устройств, Digital Signal Processing Blockset – набор блоков для разработки цифровых устройств и т.д).

При работе с Simulink пользователь имеет возможность модернизировать библиотечные блоки, создавать свои собственные, а также составлять новые библиотеки блоков.

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

Для запуска программы необходимо предварительно запустить пакет MATLAB. Основное окно пакета MATLAB показано на рисунке. Там же показана подсказка, появляющаяся в окне при наведении указателя мыши на ярлык Simulink в панели инструментов. Нажатие на ярлык Simulink в панели инструментов приводит к открытию окна обозревателя разделов библиотеки Simulink. Чтобы создать свою программу необходимо создать новый файл модели, расположить блоки в окне модели. Для этого необходимо открыть соответствующий раздел библиотеки. Далее, указав курсором на требуемый блок и нажав на левую клавишу “мыши” - “перетащить” блок в созданное окно.

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

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

Окно обозревателя библиотеки блоков содержит следующие элементы:

Библиотека Simulink содержит следующие основные разделы:

Continuous – библиотека непрерывных элементов (интегратор, дифференциатор, линейная система ОДУ и т.д.);

Discrete – библиотека дискретных элементов (интегратор с дискретным временем, дискретный фильтр и т.д.);

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

Nonlinear – нелинейные элементы (релейное звено, переключатель и т.д. );

Sinks – средства отображения (временная диаграмма, вывод результатов в файл, остановка выполнения модели и т.д.);

Sources – источники сигналов (генератор импульсных/синусоидальных сигналов, генератор случайных чисел, генератор пилообразных сигналов, часы и т.д.).

Subsystems – блоки подсистем.


Под дискретным сигналом понимается последовательность чисел бесконечной разрядности — последовательность x(nT), где nT — дискретное время и T — период дискретизации, а под цифровым сигналом — последовательность чисел конечной разрядности— квантованная последовательность .

Термины "дискретный сигнал" и "последовательность" в теории ЦОС тождественны.

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

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

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

Блок вычисления суммы Sum

Выполняет вычисление суммы текущих значений сигналов.

Icon shape - форма блока (выбирается из списка):

Round - окружность, Rectangular - прямоугольник;

List of sign - список знаков (в списке можно использовать следующие знаки: + (плюс), - (минус);

Saturate on integer overflow (флажок) - подавлять переполнение целого. При установленном флажке ограничение сигналов целого типа выполняется корректно.

Количество входов и операция (сложение или вычитание) определяется списком знаков параметра List of sign , при этом метки входов обозначаются соответствующими знаками. В параметре List of sign можно также указать число входов блока. В этом случае все входы будут суммирующими. Если количество входов блока превышает 3, то удобнее использовать блок Sum прямоугольной формы. Блок может использоваться для суммирования скалярных или векторных сигналов. Типы суммируемых сигналов должны совпадать. Нельзя, например, подать на один и тот же суммирующий блок сигналы целого и действительного типов. Если количество входов блока больше, чем один, то блок выполняет поэлементные операции над векторными сигналами. При этом количество элементов в векторе должно быть одинаковым. Если в качестве списка знаков указать цифру 1 (один вход), то блок можно использовать для определения суммы элементов вектора.

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

ВложениеРазмер
kratkaya_instruktsiya_simulink.docx 521.87 КБ

Предварительный просмотр:

В пособии рассматриваются методы цифрового моделирования систем автоматического управления и программные средства для их проведения, рассматриваются способы построения математических моделей.

В первой части инструкции (Часть 1) приведен способ описания систем дифференциальными уравнениями. В следующей части (Часть 2) инструкции будет представлен способ описания систем как совокупности множества передаточных функций.

Для иллюстрации примера использована версия 7.11 программы MATLAB.

Мы постарались максимально упростить инструкцию и в доступной форме показать как можно пользоваться Simulink

Часть 1. Общие сведения о системе Simulink

Программа Simulink является приложением к пакету MATLAB.

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

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

Simulink является достаточно самостоятельным инструментом и при работе с ним совсем не требуется знать сам MATLAB и остальные его приложения. С другой стороны доступ к функциям MATLAB и другим его инструментам остается открытым и их можно использовать в Simulink. Часть входящих в состав пакетов имеет инструменты, встраиваемые в Simulink (например, LTI-Viewer приложения Control System Toolbox – пакета для разработки систем управления).

Имеются также дополнительные библиотеки блоков для разных областей применения (например, Power System Blockset – моделирование электротехнических устройств, Digital Signal Processing Blockset – набор блоков для разработки цифровых устройств и т.д).

При работе с Simulink пользователь имеет возможность модернизировать библиотечные блоки, создавать свои собственные, а также составлять новые библиотеки блоков.

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

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

Преимущество Simulink заключается также в том, что он позволяет пополнять библиотеки блоков с помощью подпрограмм написанных как на языке MATLAB, так и на языках С++, Fortran и Ada.

Для запуска программы необходимо предварительно запустить пакет MATLAB. Основное окно пакета MATLAB показано на рисунке 1. Там же показана подсказка, появляющаяся в окне при наведении указателя мыши на ярлык Simulink в панели инструментов.

После открытия основного окна программы MATLAB нужно запустить программу Simulink. Это можно сделать одним из трех способов:

Рисунок 1- Основное окно программы MATLAB

∙ Нажать кнопку (Simulink) на панели инструментов командного окна MATLAB.

∙ В командной строке главного окна MATLAB напечатать Simulink и нажать клавишу Enter на клавиатуре.

∙ Выполнить команду Open. в меню File и открыть файл модели (mdl - файл).

Последний вариант удобно использовать для запуска уже готовой и отлаженной модели, когда требуется лишь провести расчеты и ненужно добавлять новые блоки в модель. Использование первого и второго способов приводит к открытию окна библиотеки Simulink (рисунок 2).

Рисунок 2- Окно библиотеки Simulink.

Цифрами обозначены: 1 –строка поиска компонентов, 2 – дерево библиотек Simulink, 3 –содержимое библиотеки (разделы или компоненты библиотеки)

На рисунке 2 выделена основная библиотека Simulink (в левой части окна) и показаны ее разделы (в правой части окна). Библиотека Simulink в MATLAB 2010 содержит следующие основные разделы:

0. Commonly Used Blocks – часто используемые компоненты из различных разделов основной библиотеки Simulink.

1. Continuous – компоненты для моделирования систем в непрерывном времени.

2. Discontinuities – компоненты для моделирования негладких и разрывных нелинейных функций.

3. Discrete – компоненты для моделирования систем в дискретном времени.

4. Logic and Bit Operations – компоненты для моделирования ло-

гических (двоичных) операций.

5. Lookup Tables – компоненты для моделирования функциональных и табличных зависимостей.

6. Math Operations – компоненты для моделирования математических операций.

7. Model Verification – компоненты для тестирования и верификации поведения моделей.

8. Model-Wide Utilities – вспомогательные компоненты для документирования и линеаризации моделей.

9. Ports & Subsystems – блоки построения иерархических моделей и подсистем.

10. Signal Attributes – компоненты для преобразования типов сигналов в моделях.

11. Signal Routing – компоненты для коммутации и объединения/разъединения сигналов.

12. Sinks – компоненты для отображения и сохранения сигналов.

13. Sources – источники сигналов и воздействий.

14. User-Defined Functions – компоненты для создания пользовательских функций, реализованных на языке MATLAB.

∙ Пиктограмма свернутого узла дерева содержит символ+, а пиктограмма развернутого содержит символ −.

∙ Для того чтобы развернуть или свернуть узел дерева, достаточно щелкнуть на его пиктограмме левой клавишей мыши.

При выборе соответствующего раздела библиотеки в правой части окна отображается его содержимое (рисунок 3).

Рисунок 3- Компоненты библиотеки Simulink / Continuous.

Пример построения модели в Simulink

В качестве примера использования Simulink для моделирования систем рассмотрим отопление в жилом индивидуальном доме. Пусть для простоты, дом состоит из всего лишь одного помещения, в котором установлено отопление суммарной тепловой мощностью 𝑃 . Температура внутри этого дома 𝑇 𝑖 градусов, температура за окном – 𝑇 𝑜 градусов. Нас интересует каким образом изменяется температура 𝑇 𝑖 при изменении мощности 𝑃 (рисунок 4).

Рисунок 4- Модель отапливаемого помещения по входу-выходу.

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

параметрами модели является:

∙ температура за окном 𝑇 𝑜 – чем меньше она, тем больше тепла

уходит из дома и тем больше нужна мощность нагревателя, чтобы достичь заданной температуры внутри 𝑇 𝑖 ;

∙ качество теплоизоляции – чем хуже теплоизоляция, тем больше тепла выходит наружу;

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

В теплотехнике существуют множество моделей, с разной степенью точности моделирующие процессы нагревания и охлаждения тел. Далее мы рассмотрим самый простой из них. Для этого необходимо ввести понятие количества теплоты – энергии, необходимой для изменения термодинамического состояния тела (например, температуры). Из курса физики хорошо известно, что для того, чтобы нагреть тело массой 𝑚 и теплоемкостью 𝑐 от температуры 𝑇 1 до 𝑇 2 необходимо затратить количество теплоты 𝑄 , равное

Количество теплоты 𝑄 𝑖 , которое поступает от нагревателя мощностью 𝑃 за время 𝜏 – это просто интеграл по времени:

Для того, чтобы понять сколько тепла ушло на улицу, необходимо воспользоваться понятием теплового потока 𝑄 0 (t) – количество теплоты, проходящей через поверхность за единицу времени. Если считать, что теплопроводность внутри двух соприкасающихся сред больше, чем теплопроводность между ними, то тепловой поток пропорционален разности их температур:

𝑄 0 ( 𝜏 ) = (T i (t)–T 0 )dt

Запишем уравнение теплового баланса:

продифференцировав обе части по времени, можно записать дифференциальное уравнение, связывающее динамику изменения температуры 𝑇 𝑖 ( 𝑡 ) от мощности нагревателя:

Обозначив коэффициент 𝑐𝑚 = a и разделив переменные для интегрирования, можно записать:

Последнее выражение – есть простейшая модель процесса теплообмена при отоплении помещения. Рассмотрим как осуществить моделирование этой системы с помощью Simulink.

Для создания модели в среде Simulink необходимо последовательно выполнить ряд действий.

Для начала необходимо создать новый файл модели с помощью команды File / New / Model, или используя кнопку на панели инструментов (здесь и далее, с помощью символа /, указаны пункты меню программы, которые необходимо последовательно выбрать для выполнения указанного действия). Вновь созданное окно модели показано на рисунке 5.

Рисунок 5- Пустое окно модели.

Далее расположим компоненты библиотеки Simulink в окне модели. Для этого необходимо открыть соответствующий раздел библиотеки (например, Sources – Источники). Далее, указав курсором на требуемый блок и, нажав на левую клавишу мыши, перетащить блок в созданное окно модели. Клавишу мыши нужно держать нажатой.

Рассматривая дифференциальное уравнение модели, можно составить следующий список компонентов, которые изменяют сигналы модели:

∙ в модель необходимо ввести параметр 𝑇 𝑜 , который в начале будет

константой – используем компонент библиотеки Simulink /Commonly Used Blocks / Constant или Simulink / Sources / Constant (это один и тот же компонент);

∙ чтобы получить разность температур 𝑇 𝑜 − 𝑇 𝑖 ( 𝑡 ) необходимо использовать сумматор (в режиме вычитателя) – компонент библиотеки Simulink / Commonly Used Blocks / Sum или Simulink /

Math Operations / Sum (также один и тот же компонент);

∙ для того, чтобы вычислить произведение разности температур на коэффициент 𝑘 ・ ( 𝑇 𝑜 − 𝑇 𝑖 ( 𝑡 )), необходимо использовать блок

усилитель, поскольку такое произведение равнозначно усилению сигнала разности в 𝑘 раз ставим компонент библиотеки Simulink/ Commonly Used Blocks / Gain или Simulink / Math Operations/ Gain;

∙ чтобы получить сумму мощностей 𝑘 ( 𝑇𝑜 − 𝑇𝑖 ( 𝑡 )) + 𝑃 ( 𝑡 ) под интегралом необходимо использовать сумматор – компонент библиотеки Simulink / Commonly Used Blocks / Sum или Simulink /Math Operations / Sum;

∙ чтобы получить количество теплоты из суммы мощностей с помощью интегрирования

необходимо использовать интегратор – компонент библиотеки Simulink / Commonly Used Blocks / Integrator или Simulink / Continuous / Integrator;

∙ для формирования сигнала внутренней температуры 𝑇 𝑖 ( 𝑡 ) из интеграла мощности необходимо использовать блок усилитель, домножающий значение интеграла на 1/ 𝑎 – компонент библиотеки

Simulink / Commonly Used Blocks / Gain или Simulink / Math Operations / Gain;

Кроме того, нам необходимо визуализировать зависимость 𝑇 𝑖 ( 𝑡 ), для этого мы используем осциллограф – компонент библиотеки Simulink / Commonly Used Blocks / Scope или Simulink / Sinks / Scope. А также мы задаем зависимость мощности от времени 𝑃 ( 𝑡 ) как единичный ступенчатый сигнал с помощью компонента библиотеки Simulink /Sources / Step.

Рисунок 6- Окно модели, содержащее необходимые блоки

На рисунке 6 показано окно модели, содержащее установленные блоки.

Для удаления блока необходимо выбрать блок (указать курсором на его изображение и нажать левую клавишу мыши), а затем нажать клавишу Delete на клавиатуре.

Для изменения размеров блока требуется выбрать блок, установить курсор в один из углов блока и, нажав левую клавишу мыши, изменить размер блока (курсор при этом превратится в двухстороннюю стрелку).

Рисунок 7- Блок, моделирующий интегратор и окно редактирования параметров блока

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

В рассматриваемой модели необходимо установить следующие параметры блоков:

∙ блок Integrator: параметр Initial condition = 20 – интегрирование осуществляется с начальной температуры в помещении 20 градусов;

∙ блок Sum1 (нижний из двух сумматоров): List of signs = |+- – превращает сумматор в вычитатель;

Параметры 𝑎 и 𝑘 модели пока не будем задавать, положив 𝑎 = 1 и 𝑘 = 1. После установки на схеме всех блоков из требуемых библиотек нужно выполнить соединение элементов схемы с помощью сигналов.

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

С целью удобства понимания модели, можно задать имена не только блокам, но и сигналам. Для этого необходимо дважды щелкнуть по сигналу и ввести имя. Обозначим сигналы, соответствующие переменным 𝑃 , 𝑇 𝑜 , 𝑇 𝑖 , P, T o и T i .

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

После составления модели необходимо сохранить ее в виде файла на диске, выбрав пункт меню File/Save As. в окне схемы и указа папку и имя файла. При последующем редактировании схемы можно пользоваться пунктом меню File/Save. При повторных запусках программы Simulink загрузка схемы осуществляется с помощью меню File/Open. в окне обозревателя библиотеки или из основного окна MATLAB.

Запуск моделирования выполняется с помощью выбора пункта меню Simulation/Start или нажатием кнопки с треугольником (воспроизведение) на панели инструментов. Рядом в поле ввода указана продолжительность моделирования системы, по умолчанию моделирование останавливается при достижении модельного времени 𝑡 𝑠𝑡𝑜𝑝 = 10. Процесс расчета можно завершить досрочно, выбрав пункт меню Simulation/Stop или кнопку с квадратом (стоп). Расчет также можно остановить (Simulation/Pause) и затем продолжить (Simulation/Continue).

Запустим моделирование. После окончания, дважды щелкнем на блок осциллографа (Scope). На нем должна отображается зависимость 𝑇 𝑖 ( 𝑡 )

(рисунок 9). Если графика не видно, то необходимо щелкнуть правой кнопкой по черной зоне и выбрать из меню Autoscale, что приведет к автоматическому масштабированию осей графика.

Рисунок 9- Результат моделирования при 𝑃 = 1.

Видно, что температура внутри падает от 20 градусов до температуры, которая выше уличной 𝑇 𝑜 = 1, моделируемой блоком Constant.

Таким образом сказывается действие нагревателя.

Установим в параметрах блока Step, моделирующего зависимость 𝑃 ( 𝑡 ), большую мощность нагрева. Блок Step выдает на своем выходе константное значение, задаваемое его параметром Final value, и происходит это во время, задаваемое параметром Step time. До этого момента значение на выходе компонента Step равно 0. Установив параметр Final value = 10, запустим моделирование еще раз. Получим зависимость 𝑇 𝑖 ( 𝑡 ), показанную на рисунке 10.

Рисунок 10- Результат моделирования при 𝑃 = 10.

Отчетливо видно, что температура падает до включения нагревателя при 𝑡 = 1, после чего растет до достижения постоянного значения, соответствующего термодинамическому равновесию между теплом, подводимым нагревателем и отводимым наружу.

1. А. Борисевич , Теория автоматического управления: элементарное введение

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

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

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

Существует несколько других дополнительных продуктов, предоставляемых MathWorks и сторонними аппаратными и программными продуктами, которые доступны для использования с Simulink.

Следующий список дает краткое описание некоторых из них —

Stateflow позволяет разрабатывать конечные автоматы и блок-схемы.

Simulink Coder позволяет генерировать исходный код на C для автоматической реализации систем в реальном времени.

xPC Target вместе с системами реального времени на базе x86 обеспечивают среду для имитации и тестирования моделей Simulink и Stateflow в реальном времени на физической системе.

Встроенный кодер поддерживает определенные встроенные цели.

HDL Coder позволяет автоматически генерировать синтезируемые VHDL и Verilog.

SimEvents предоставляет библиотеку графических строительных блоков для моделирования систем массового обслуживания.

Stateflow позволяет разрабатывать конечные автоматы и блок-схемы.

Simulink Coder позволяет генерировать исходный код на C для автоматической реализации систем в реальном времени.

xPC Target вместе с системами реального времени на базе x86 обеспечивают среду для имитации и тестирования моделей Simulink и Stateflow в реальном времени на физической системе.

Встроенный кодер поддерживает определенные встроенные цели.

HDL Coder позволяет автоматически генерировать синтезируемые VHDL и Verilog.

SimEvents предоставляет библиотеку графических строительных блоков для моделирования систем массового обслуживания.

Simulink способен систематически проверять и проверять модели посредством проверки стиля моделирования, отслеживания требований и анализа охвата модели.

Simulink Design Verifier позволяет выявлять ошибки проектирования и генерировать сценарии тестирования для проверки модели.

Использование Simulink

Чтобы открыть Simulink, введите рабочее пространство MATLAB —

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

Читайте также: