Simulink является приложением к пакету MatLab и предназначен для моделирования линейных и нелинейных, дискретных и непрерывных систем которые могут работать как в режиме вычисления так и в режиме реального времени. В Simulink реализован принцип визуального программирования в соответствии с которым вся модель строится из стандартных библиотечных блоков и блоков модернизированных или разработанных пользователем. Каждый блок реализует свою математическую функцию. Блоки имеют входы и выходы и соединяются в модели линиями связи по которым аргументы поступают на вход функций.
Кроме секций с типовыми блоками библиотека Simulink имеет дополнительные разделы с блоками для разных областей применения, например, для моделирования электромеханических устройств, каналов передачи данных, и т.д.
Многие функции (команды m-файлов) и инструменты MatLab могут использоваться в среде Simulink.
Для запуска Simulink необходимо предварительно запустить MatLab, а затем нажать на кнопку или ввести в командной строке Simulink (рис.3.1)

Рис. 3.1 – Запуск пакета Simulink
Для создания новой модели необходимо:
1. открыть окно модели,
2. перенести в окно необходимые блоки из Simulink библиотеки и
3. соединить блоки линиями связи.
Окно новой модели открывается при нажитии на панели инструментов
New>Simulink model или (рис. 3.2).

Рис. 3.2. Создание новой Simulink-модели
Для переноса в окно модели необходимого блока необходимо найти блок в библиотеке нажать на блок левой кнопкой мыши (ЛКМ) и перетащить блок в окно модели. Чтобы скопировать блок (или выделенные блоки) надо перетащить его при нажатой правой кнопке мыши (ПКМ). Для изменения параметров блока надо дважды щелкнуть на блоке и в открывшемся диалоговом окне изменить соответствующие параметры. Чтобы изменить название блока надо щелкнуть по названию блока ЛКМ и отредактировать текст.
С выделенными блоками можно выполнять следующие действия
• изменять положение и размеры блока,
• изменять цвет контура и самого блока,
• изменять ориентацию блока,
• выравнивать положение блоков,
• создавать из нескольких блоков подгруппу (subsystem) которая отображается одним блоком.
Для соединения блоков можно протянуть мышкой линию связи между нужными выходом (входом) и входом (выходом) или щелкнуть ЛКМ по блоку с нужным выходом, затем нажать на клавишу клавиатуры Ctrl и щелкнуть ЛКМ по блоку с нужным входом.
Чтобы подать один сигнал на два блока (сделать «развилку»), надо сначала создать одну линию обычным способом. Для создания второй линии, следует нажать ПКМ на точку предполагаемой развилки и протащить линию ко второму блоку или ЛКМ протянуть линию от входа нужного блока к точке развилки.
Для выделения объекта модели (блока или соединительной линии) надо щелкнуть по нему ЛКМ. Для удаления объекта или группы необходимо сначала их выделить щелчком или оконтуриванием, а затем удалить командой Delete – связанной с объектом или группой объектов.
Пользователь может подобрать оптимальные для конкретной модели численные методы и шаг интегрирования (рис. 3.3). Путь: меню модели > Simulation > Model Configuration Parameters (Ctrl+E)

Рис. 3.3. Окно выбора параметров моделирования: шага интегрирования, метода моделирования, допусков и т.д.
Входные сигналы (раздел библиотеки Sources) и переменные состояния модели можно наблюдать в процессе моделирования при помощи блоков раздела (Sinks). Например, блок Scope в зависимости от его настроек показывает графики изменения входных сигналов как в одном окне, так и в нескольких, отображая заданное число точек. Масштабы графиков можно изменять, а их данные - сохранять в рабочей области MatLAB (workspace).
Время моделирования задается в окне Simulink-модели, для установки бесконечного времени моделирования в соответствующее окно необходимо ввести значение «inf».

Рис. 3.4. Задание времени моделирования
Для запуска моделирования необходимо щелкнуть по кнопке «Run»
на панели инструментов окна модели, другие кнопки
– приостановить (поставить модель на паузу),
– остановить моделирование.
Копирование модели в буфер обмена виде растрового рисунка выполняется командой меню окна модели > Edit > Copy Model to Clipboard>Metafile(Bitmap). Предварительно лучше уменьшить размеры окна модели до минимальных, чтобы не было белых полей.

Рис. 3.5. Пример простейшей модели и ее реакция. Модель включает источник ступенчатого воздействия, сумматор, интегратор, охваченный отрицательной обратной связью и осциллограф для наблюдения за реакцией системы
Библиотека Simulink содержит следующие основные разделы:
• Commonly Used Blocks - наиболее часто используемые блоки разных разделов библиотеки (воздействия, сумматор, интегратор, усилитель, осциллограф и т.д.)
• Continuous - библиотека непрерывных элементов (интегратор, дифференциатор, линейная система ОДУ и т.д.);
• Discontinuities - нелинейные элементы (насыщение, реле, переключатель и т.д.);
• Discrete - библиотека дискретных элементов (интегратор, фильтр, задержка и т.д.);
• Logic and Bit Operations - логические операции (сравнение, сдвиг, инверсия, AND и т.д.);
• Lookup Tables - блоки задания в табличной форме функции переменных с использованием линейной интерполяции (функции одной переменной, двух переменных и т.д.);
• Math Operations - математические функции (абсолютное значение, комбинаторная логика, выделение вещественной и мнимой составляющей комплексного числа и т.д.);
• Model Verification - блоки проверки проектируемой системы на соответствие требованиям в частотной и временной областях (границы значения сигнала, ограничения по амплитуде ЛАЧХ, ограничения на отклик на единичное ступенчатое воздействие, запасы устойчивости по амплитуде и фазе и т.д.);
• Model-Wide Utilities - библиотека дополнительных утилит (описание модели, информация о типе данных используемыми блоками Simulink и т.д.);
• Ports & Subsystems блоки подсистем (порты, синхронизация подсистем, вызов функций и т.д.);
• Signal Routing - сигналы и системы (составной блок, входной сигнал, выходной сигнал, мультиплексор, демультиплексор и т.д.);
• Sinks - средства отображения (временная диаграмма, вывод результатов в файл, остановка выполнения модели и т.д.);
• Sources - источники сигналов (генератор импульсных/синусоидальных сигналов, генератор случайных чисел, генератор пилообразных сигналов, часы и т.д.).
• User-Defined Function - функции пользователя (S-функции, m-функции, табличные функции и т.д.);
• Additional Math & Discrete - дополнительные математические и дискретные функции (задержки, инкрементирование и т.д.);
Помимо Simulink имеется целый ряд специальных библиотек для расчетов, моделирования систем, обмена данными, управления ресурсами компьютера и др.
Для оформления графиков в пакете Matlab используются функции, приведенные в таблице 3.1.
Таблица 3.1 - Функции для оформления графиков в Matlab
| Команда, параметр | Описание |
| figure; figure(N рисунка: 1,2,...); | Открытие окна графика |
| plot(y); | Построение графика переменной у |
| plot(t, y); | Построение графика переменной y(t) |
| plot(t, y, 'xb', i, z, 'g', 'linewidth',2); | Построение голубого (‘b’) графика y(t) из х точек и зеленого (‘g’) графика z(i) линией двойной толщины (, 'linewidth',2) в одной зоне окна. Цветовое обозначение линий графиков: b синий (blue) g зеленый (green) r красный (red) с голубой (cyan) m фиолетовый (magenta) y желтый (yellow) k черный (black). |
| Обозначение типа линии: '-' сплошная ': ' точечная '-'. штрих-пунктирная '--' штриховая 'x' - обозначение точек массива Обозначение толщины линии: 'linewidth',3 'linewidth',2 | |
| subplot(N строки, N столбца, N активного графика); | Активизация одной из зон окна для построения в ней графика |
| title('xxx') | xxx заголовок графика |
| xlabel('xxx') | xxx название оси абсцисс |
| ylabel('xxx') | xxx название оси ординат |
| legend('название 1', ' название 2', 'название 3') | вывод типа линий графиков и их названий в отдельный список окна графиков. |
Постановка задачи
На заданной высоте, например, h=1м отпускают мяч весом m=100 г., который летит до поверхности, и отскакивает от нее на высоту ~80% от начальной точки. Необходимо построить модель полета и отскоков мяча и определить основные параметры модели. Построить модели скачущего мяча с учетом коэффициента упругости. Исходные данные приведены в таблице 3.2.
Таблица 3.2 – Варианты заданий
| № варианта | Исходные данные | |
| h– высота, [м] | m – масса мяча, [г] | |
| 1 | 0,11 | 120 |
| 2 | 0,12 | 140 |
| 3 | 0,13 | 160 |
| 4 | 0,14 | 180 |
| 5 | 0,15 | 200 |
| 6 | 0,16 | 80 |
| 7 | 0,17 | 70 |
| 8 | 0,18 | 60 |
| 9 | 0,19 | 125 |
| 10 | 0,20 | 130 |
| 11 | 0,21 | 150 |
| 12 | 0,22 | 170 |
| 13 | 0,23 | 100 |
| 14 | 0,24 | 130 |
| 15 | 0,25 | 160 |
| 16 | 0,26 | 190 |
| 17 | 0,27 | 210 |
| 18 | 0,28 | 80 |
| 19 | 0,29 | 70 |
| 20 | 0,30 | 60 |






