- •Начала программирования в среде 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 |
349 |
|
|
|
|
параметр настраивания Number of inputs (Количество входов), который определяет количество информационных входов. Номер входа, который соединяется с выходом, равняется значению управляющего сигнала, который поступает на верхний вход. Если это значение является дробным числом, то оно округляется до целого по обычным правилам. Если оно меньше единицы, то оно считается равным 1; если оно больше количества информационных входов, то оно принимается равным наибольшему номеру (входы нумеруются сверху вниз, кроме самого верхнего - управляющего).
7.1.10. Раздел Signals & Systems
Раздел библиотеки Signals & Systems (сигналы и системы) предназначен для построения сложных S-моделей, которые состоят из других моделей более низкого уровня. Состав раздела приведен на рис. 7.56.
Блоки In (Входной порт) и Out (Исходный порт) обеспечивают информационную связь между подсистемами модели и с рабочим пространством системы MatLAB.
Блок Mux (Мультиплексор) выполняет объединение входных величин в единый выходной вектор. При этом входные величины могут быть как скалярными, так и векторными. Длина результирующего вектора равняется сумме длин всех векторов. Порядок элементов в векторе выхода определяется порядком входов (сверху вниз) и порядком расположения элементов внутри каждого входа. Блок имеет один параметр настраивания - Number of inputs (Количество входов).
Блок Demux (Разделитель, Демультиплексор) выполняет обратную функцию - разделяет входной вектор на заданное количество компонентов. Он также имеет единственный параметр настраивания Number of outputs (Количество выходов). В случае, когда указанное число выходов (N) задается меньшим длины входного вектора (M), блок формирует исходные векторы следующим образом. Первые (N-1) выходов будут векторами одинаковой длины, равной целой части отношение M/(N-1). Последний выход будет иметь длину, равную остатку от деления.
Блоки From (Принять от), Goto Tag Visibility (Признак видимости) и Goto
(Передать к) используются совместно и предназначены для обмена данными между разнообразными частями S-модели с учетом досягаемости (видимости) этих данных.
Блоки Data Store Read (Чтение данных), Data Store Memory (Запоминание данных) и Data Store Write (Запись данных) также используются совместно и обеспечивают не только передачу данных, но и их сохранение на протяжении моделирования.
7.1. Общая характеристика пакета Simulink |
350 |
|
|
|
|
Рис. 7.56
Блоки Enable (Разрешить) и Trigger (Задвижка) предназначены для логического управления работой подсистем S-модели.
Блоки Ground (Земля) и Terminator (Ограничитель) могут использоваться как "заглушки" для тех портов, которые по какой-либо причине оказались не подсоединенными к другим блокам S-модели. При этом блок Ground используется как заглушка для входных портов, а Terminator - для выходных портов.
Блок IC (Initial Condition - начальное условие) позволяет установить произвольное начальное значение входного сигнала.
Блок Subsystem (Подсистема) является "заготовкой" для создания подсистемы. Подсистема - эта довольно самостоятельная S-модель более низкого уровня, которая, в свою очередь, может содержать подсистемы произвольного уровня вложенности.
Блок Selector выбирает в входном векторе и передает на выход только те элементы, номера которых указаны в одном из параметров настраивания блока. Существенным преимуществом блока является то, что значения параметров его настройки отображаются в графической форме в изображении блока.
7.1. Общая характеристика пакета Simulink |
351 |
|
|
|
|
Блок Width (Размер) определяет размерность сигнала, который поступает на его вход. Значения размерности выводится непосредственно на изображении блока. Параметров настраивания блок не имеет.
Блок Merge (Слияния) выполняет объединение сигналов, которые поступают в его входы, в единый сигнал.
Блок Hit Crossing (Обнаружить пересечение) позволяет зафиксировать состояние, когда входной сигнал "пересекает" некоторое значение. При возникновении такой ситуации на выходе блока формируется единичный сигнал. Блок имеет 3 параметры настраивания (рис. 7.57):
Hit crossing offset - определяет значения, пересечение которого необходимо идентифицировать;
Hit crossing direction позволяет указать направление пересечения, при котором это пересечение должно віявляться; значения этого параметра выбирается с помощью выпадающего меню, которое содержит три альтернативы: rising (восхождение), falling (спадание), either (в любом направлении);
Show output port (указать порт выхода) - флажок, с помощью которого выбирается вид представления блока.
Рис. 7.57
При одновременном выполнении условий, которые задаются параметрами
Hit crossing offset и Hit crossing direction, на выходе блока формируется единичный сигнал. Его продолжительность определяется значением дискрета времени (параметр Sample time) блока, который предшествует в модели блоку Hit crossing. Если этот параметр отсутствует, то единичный сигнал на выходе блока сохраняется до его следующего срабатывания.