
- •Начала программирования в среде MatLab
- •Содержание
- •Предисловие
- •Введение
- •1. MatLAB как научный калькулятор
- •1.1. Командное окно
- •1.2. Операции с числами
- •1.2.1. Ввод действительных чисел
- •1.2.2. Простейшие арифметические действия
- •1.2.3. Ввод комплексных чисел
- •1.2.4. Элементарные математические функции
- •1.2.5. Специальные математические функции
- •1.2.6. Элементарные действия с комплексными числами
- •1.2.7. Функции комплексного аргумента
- •1.2.8. Задания
- •1.2.9. Вопросы
- •1.3. Простейшие операции с векторами и матрицами
- •1.3.1. Ввод векторов и матриц
- •1.3.2. Формирование векторов и матриц
- •1.3.3. Извлечение и вставка частей матриц
- •1.3.4. Действия над векторами
- •1.3.5. Поэлементное преобразование матриц
- •1.3.6. Матричные действия над матрицами
- •1.3.7. Матричные функции
- •1.3.8. Задания
- •1.3.9. Вопросы
- •1.4. Функции прикладной численной математики
- •1.4.1. Операции с полиномами
- •1.4.2. Обработка данных измерений
- •1.4.3. Функции линейной алгебры
- •1.4.4. Аппроксимация и интерполяция данных
- •1.4.5. Векторная фильтрация и спектральный анализ
- •1.4.6. Задания
- •1.4.7. Вопросы
- •1.5. Построение простейших графиков
- •1.5.1. Процедура plot
- •1.5.2. Специальные графики
- •1.5.3. Дополнительные функции графического окна
- •1.5.5. Задания
- •1.5.6. Вопросы
- •1.6. Операторы управления вычислительным процессом
- •1.6.1. Оператор условного перехода
- •1.6.2. Оператор переключения
- •1.6.3. Операторы цикла
- •1.6.4. Задания
- •1.6.5. Вопросы
- •2. Программирование в среде MatLAB
- •2.1. Функции функций
- •2.2. Создание М-файлов
- •2.2.1. Особенности создания М-файлов
- •2.3.1. Общие требования к построению
- •2.3.2. Типовое оформление процедуры-функции
- •2.3.3. Задания
- •2.3.4. Вопросы
- •2.4. Создание Script-файлов
- •2.4.1. Основные особенности Script-файлов
- •2.4.2. Ввод и вывод информации в диалоговом режиме
- •2.4.3. Организация повторения действий
- •2.4.4. Организация изменения данных в диалоговом режиме
- •2.4.5. Типовая структура и оформление Script-файла
- •2.5. Графическое оформление результатов
- •2.5.1. Общие требования к представлению графической информации
- •2.5.2. Разбивка графического окна на подокна
- •2.5.3. Вывод текста в графическое окно (подокно)
- •2.6. Создание функций от функций
- •2.6.1. Процедура feval
- •2.6.2. Примеры создания процедур от функций
- •2.6.3. Задания
- •2.7. Пример создания сложной программы
- •2.7.1. Программа моделирования движения маятника
- •2.7.2. Задания
- •3.1. Функции меню командного окна
- •3.1.2. Другие меню командного окна
- •3.1.3. Панель инструментов
- •3.2. Команды общего назначения
- •3.3. Создание М-книги
- •3.3.1. Начало новой М-книги
- •3.3.2. Написание М-книги
- •3.3.3. Редактирование М-книги
- •3.3.4. Преобразование документа WORD в М-книгу
- •3.3.6. Изменение параметров вывода результатов
- •4. Классы вычислительных объектов
- •4.1. Основные классы объектов
- •4.1.1. Класс символьных строк (char)
- •4.1.2. Класс записей (struct)
- •4.1.3. Класс ячеек (cell)
- •4.2. Производные классы MatLAB
- •4.2.1. Класс объектов Inline
- •4.2.2. Классы пакета CONTROL
- •4.3. Пример создания нового класса polynom
- •4.3.1. Создание подкаталога @polynom
- •4.3.2. Создание конструктора
- •4.3.3. Создание процедуры символьного представления polynom-объекта.
- •4.4. Создание методов нового класса
- •5.1. Формирование типовых процессов
- •5.1.1. Формирование одиночных импульных процессов
- •5.1.2. Формирование колебаний
- •5.2.1. Основы линейной фильтрации
- •5.2.2. Формирование случайных процессов
- •5.3. Процедуры спектрального (частотного) и статистического анализа процессов
- •5.3.1. Основы спектрального и статистического анализа
- •5.3.2. Примеры спектрального анализа
- •5.3.3. Статистический анализ
- •5.4. Проектирование фильтров
- •5.4.1. Формы представления фильтров и их преобразования
- •5.4.2. Разработка аналоговых фильтров
- •5.4.3. Проектирование БИХ-фильтров
- •5.5. Графические и интерактивные средства
- •5.5.1. Графические средства пакета SIGNAL
- •5.5.2. Интерактивная оболочка SPTOOL
- •6.1. Ввод и преобразование моделей
- •6.2. Получение информации о модели
- •6.3. Анализ системы
- •6.4. Интерактивный "обозреватель" ltiview
- •6.5. Синтез системы
- •7.1. Общая характеристика пакета SimuLink
- •7.1.1. Запуск SimuLink
- •7.1.2. Библиотека модулей (блоков)
- •7.1.3. Раздел Sinks (приемники)
- •7.1.4. Раздел Sources (Источники)
- •7.1.5. Раздел Сontinuous
- •7.1.6. Раздел Discrete
- •7.1.7. Раздел Math
- •7.1.8. Раздел Functions & Tables
- •7.1.9. Раздел Nonlinear
- •7.1.10. Раздел Signals & Systems
- •7.2. Построение блок-схем
- •7.2.1. Выделение объектов
- •7.2.2. Оперирование с блоками
- •7.2.3. Проведение соединительных линий
- •7.2.4. Проставление меток сигналов и комментариев
- •7.2.5. Создание подсистем
- •7.2.6. Запись и распечатка блок-схемы S-модели
- •7.3. Примеры моделирования
- •7.3.1. Моделирование поведения физического маятника
- •7.3.2. Моделирование поведения гироскопа в кардановом подвесе
- •7.4. Объединение S-моделей с программами MatLAB
- •7.4.2. Функции пересечения нуля
- •7.4.5. Образование S-блоков путем использования программ MatLab. S-функции
- •7.4.6. Пример создания S-функции
- •7.5.1. Создание библиотеки
- •7.5.2. Маскировка блоков
- •7.5.3. Моделирование процесса ориентации космического аппарата
- •Послесловие
- •Предметный указатель
- •Указатель операторов, команд, функций и функциональных блоков MatLAB

7.1. Общая характеристика пакета Simulink |
336 |
|
|
|
|
7.1.5. Раздел Сontinuous
Этот раздел библиотеки содержит блоки (рис. 7.44):
Integrator - идеальное интегрирующее звено (интегратор);
Derivative - идеальное дифференцирующее звено;
State-Space - определение линейного звена через задание четырех матриц его пространства состояний;
Transfer Fcn - определение линейного звена через задание его передаточной функции;
Zero-Pole - задание звена через указание векторов значений его полюсов и нулей, а также значения коэффициента передачи;
Memory (Память) выполняет задержку сигнала на один шаг модельного времени;
Transport Delay обеспечивает задержку сигнала на заданное количество шагов модельного времени, причем необязательно целое;
Variable Transport Delay позволяет задавать управляемую извне величину задержки.
Рис. 7.44
Блок Integrator осуществляет интегрирование в непрерывном времени входной величины. Он имеет такие параметры настраивания (рис. 7.45):
подключение дополнительного управляющего сигнала (External reset);
определение источника (внутренний или внешний) установления начального значения выходного сигнала (Initial condition source);
начальное значение выходной величины (Initial condition); значение вводится в строке редактирования или как числовая константа, или в виде выражения, которое вычисляется;
флажок Limit output (Ограничения исходного значения) определяет, будут ли использоваться следующие 3 параметры настраивания;
верхнее предельное значение выходной величины (Upper saturation limit); по умолчанию - не ограничено (inf);

7.1. Общая характеристика пакета Simulink |
337 |
|
|
|
|
нижнее предельное значение выходной величины (Lower saturation limit); по умолчанию параметр имеет значения (-inf);
флажок Показать порт насыщения (Show saturation port);
флажок Показать порт состояния (Show state port);
допустимая предельная величина абсолютной погрешности (Absolute tolerance).
Рис. 7.45
Параметр External reset может принимать такие значения (см. его выпадающее меню):
none - дополнительный управляющий сигнал не используется; rising - для управления используется нарастающий сигнал; falling - для управления используется убывающий сигнал;
either - на работу блока влияет изменение управляющего сигнала в любом направлении.
Параметр Initial condition source принимает одно из двух значений: internal - используется внутреннее установка начального значения
выходной величины;
external - установления начальных условий будет осуществляться извне. Если выбранные пользователем значения этих двух параметров
предполагают наличие дополнительных входных сигналов, то на графическом изображении блока появляются дополнительные входные порты (после нажатия кнопки Apply в окне настраивания блока). Если флажок Limit output установлен, то при переходе выходного значения интегратора через верхнюю или нижнюю границу на дополнительном выходе блока (saturation port) формируется единичный сигнал. Чтобы этот сигнал можно было использовать для управления
7.1. Общая характеристика пакета Simulink |
338 |
|
|
|
|
работой S-модели, флажок Show saturation port должен быть включен. При этом на графическом изображении блока появляется обозначение нового выходного порта на правой стороне изображения блока-интегратора. Установление флажка Show state port также приводит к появлению дополнительного выхода state port блока (он возникает, конечно, на нижней стороне изображения блока). Сигнал, который подается на этот порт, совпадает с главным выходным сигналом, но, в отличие от него, может быть использован только для прерывания алгебраического цикла или для согласования состояния подсистем модели.
Использование блоков-звеньев State-Space, Transfer Fcn и Zero-Pole является достаточно ясным для тех, кто знаком с основами теории автоматического управления.
Блок Memory (Память) выполняет задержку сигнала только на один шаг модельного времени. Блок имеет два параметра настраивания: Initial condition (Начальное условие) задает значения входного сигнала в начальный момент времени; флажок Inherit sample time (Наследование шага времени) позволяет выбрать величину промежутка времени, на который будет осуществляться задержка сигнала:
если флажок снят, то используется минимальная задержка, равная 0,1 единицы модельного времени;
если флажок установлен, то величина задержки равна значению дискрету времени блока, который предшествует блоку Memory.
Блок Transport Delay обеспечивает задержку сигнала на заданное количество шагов модельного времени, причем необязательно целое. Настраивание блока происходит по трех параметрам:
Time delay (Время задержки) - количество шагов модельного времени, на который следует задержать сигнал; может вводиться или в числовой форме, или в форме выражения, которое вычисляется;
Initial input (Начальное значение входа) - по умолчанию равняется 0;
Initial buffer size (Начальный размер буфера) - объем памяти (в байтах),
который выделяется в рабочем пространстве MatLAB для сохранения параметров задержанного сигнала; должен быть кратной до 8 (по умолчанию - 1024).
Блок Variable Transport Delay позволяет задавать управляемую извне величину задержки. С этой целью блок имеет дополнительный вход. Подаваемый на него сигнал определяет продолжительность задержки.
7.1.6. Раздел Discrete
Ранее рассмотренные разделы библиотеки позволяют формировать непрерывную динамическую систему. Раздел Discrete содержит элементы (блоки), присущие только дискретным системам, а также те, которые превращают непрерывную систему в дискретную (рис. 7.46):
Unit Delay - блок задержки сигнала;
Discrete-Time Integrator - дискретный интегратор;
Zero-Order Hold - экстраполятор нулевого порядка;

7.1. Общая характеристика пакета Simulink |
339 |
|
|
|
|
First-Order Hold - экстраполятор первого порядка;
Discrete State-Space - блок задания дискретного линейного звена матрицами его состояния;
Discrete Filter - блок задания дискретного звена через дискретную передаточную дробно-рациональную функцию относительно 1/z;
Discrete Transfer Fcn - блок задания линейного дискретного звена через дискретную передаточную дробно-рациональную функцию относительно z;
Discrete Zero-Pole - блок задания дискретного звена через указание значений нулей и полюсов дискретной передаточной функции относительно 1/z.
Рис. 7.46
Блок Unit Delay обеспечивает задержку входного сигнала на заданное число шагов модельного времени. Параметрами настраивания для этого блока являются начальное значение сигнала (Initial condition) и время задержки (Sample time), которое задается количеством шагов модельного времени.
Блок Discrete-Time Integrator выполняет численное интегрирование входного сигнала. Большинство параметров настраивания этого блока совпадают с параметрами блока Integrator раздела Linear. Отличия состоят в следующем. В блоке дискретного интегратора есть дополнительный параметр - метод численного интегрирования (Integrator method). С помощью ниспадающего меню можно выбрать один из трех методов: прямой метод Ейлера (левых прямоугольников); обратный метод Ейлера (правых прямоугольников); метод трапеций. Второе отличие - вместо параметра Absolute tolerance введен параметр