- •2 Среда проектирования инженерных приложений matlab
- •2.1 Функциональные возможности системы matlab
- •2.2 Характеристика пакета расширения simulink
- •2.3 Задание параметров расчета модели в среде matlab
- •Подготовка и запуск модели
- •Создание модели Постановка задачи и начало создания модели
- •Ввод текстовой надписи
- •Размещение блоков в окне модели
- •Выделение блока модели
- •Меню редактирования Edit
- •Применение буфера обмена
- •Выделение ряда блоков и их перенос
- •Запуск нескольких моделей одновременно
- •2.4 Моделирование колебаний одномассовой системы в среде matlab
- •2.5 Моделирование колебаний многомассовой системы в среде matlab
2.4 Моделирование колебаний одномассовой системы в среде matlab
а) Случай отсутствия внешней
а) Случай наличия внешней силы
2.5 Моделирование колебаний многомассовой системы в среде matlab
Рассмотрим работу приложения на примере составления схемы для решения системы дифференциальных уравнений. Опишем подробно процесс составления схемы для одного из пяти дифференциальных уравнений второго порядка.
Запустим Matlab. После полной его загрузки для запуска пакета Simulink нажимаем кнопку
(см. рис. 1) на панели инструментов Matlab (см. рис. 2).
Откроется окно Simulink Library Browser – основное окно пакета Simulink, содержащее в себе коллекцию всех блоков, которые можно использовать при построении моделей.
Чтобы создать новую модель, заходим в основное меню окна Simulink Library Browser
File – New – New Model
Откроется окно, в котором в дальнейшем будем составлять нашу схему.
Разберем первое уравнение:
Так как уравнение представляет собой сумму 3-х произведений, то возьмем из Similink Library Browser блок Sum, который находится в Simulink – Math (см. рис. 3):
Перетянем этот блок на окно с будущей моделью. В этот сумматор мы поведем входы от произведений ,,.
Но сумматор еще необходимо настроить. По умолчанию, он суммирует 2 входа (числа), а в нашем случае нужно просуммировать 3 числа. Делаем двойной клик по сумматору на нашей схеме. Видим следующее окно (см. рис. 4). Поле Icon Shape отвечает за форму сумматора. Она может быть круглой либо прямоугольной. При некоторых видах компоновки всей схемы круглый вид действительно удобен. Однако в нашем случае лучше взять прямоугольную форму.
Поле List of signs отвечает за знаки в результирующей сумме. Если предвидится сумма вида А+В-С-Д+Г, то в этом поле будет написано |+--+.
Рис. 4 Окно настройки параметров блока Sum
Итак, выставляем форму rectangular, знаки в |+++ и жмем ОК.
Теперь перетягиваем 3 блока типа Gain из Simulink – Math – Gain.
В их свойствах выставляем параметру Gain значение в K3, K4 и C2.
Рис. 5 Окно настройки блока Gain (Усилитель)
Соединяем выходы этих 3-х блоков со входами Sum.
Получаем следующую картину (рис. 6).
Рис. 6 Схема с 3-мя усилителями и сумматором
Теперь нужно перетянуть на схему еще 3 сумматора, чтобы создать суммы ,,
В них задаем форму прямоугольную, и знаки -++-, --++, -++-.
Соединяем их выходы соответственно с Gain1, Gain2 и Gain3.
Получим следующую схему (рис. 7):
Рис. 7
Теперь доведем до ума первую сумму . Перетянем еще 2 блока Gain.
Соединим их со 2-м и 4-м входами верхнего сумматора.
Еще 2 блока Gain соединим со 2-м и 4-м входами 2-го сумматора и 2-м и 4-м входами 3-го сумматора.
В блоки Gain выставим их значения. Получим почти готовую схему для 1-го уравнения (рис. 8).
Рис. 8 Схема, выражающая правую часть одного уравнения.
Теперь добавим на схему 2 блока Integrator: Simulink – Continuous – Integrator, так как у нас уравнение 2-го рода.
Соединяем вход одного из них с тем сумматором, который мы добавили первым, а его выход (интегратора) соединяем со входом второго интегратора.
Перед использованием интегратора нужно его настроить . Задать начальное условие интегрирования. В нашем случае это будут 1 и 2 элементы массива ybegin: для первого интегратора мы напишем параметр Initial Condition равным ybegin(2), а для второго – уbegin(1).
Рис. 9 Схема для решения одного дифференциального уравнения
Схема для первого уравнения составлена (рис. 9). После составления подобных схем для остальных уравнений системы останется малость – соединить «входы уравнений» с их «выходами». То есть. С помощью первого уравнения мы получим q’1 и q1. Мы сразу же можем их соединить со входами, которые требуют q1 и q’1.
Получим схему (рис. 10):
Рис. 10. Схема с подключенными входами для решения одного дифференциального уравнения
Собрав все уравнения и соединив все входы и выходы уравнений, получим готовую схему
(рис. 11):
Рис. 11. Схема для решения системы ОДУ из пяти уравнений
Еще одна очень удобная вещь – выделение блоков и исходящих из них сигналов цветом.
Для этого нужно щелкнуть правой кнопкой мыши по блоку (рис. 12) и выбрать пункт меню Foreground color (Background color) и выбрать конкретный цвет или подпункт custom(для выбора пользовательского цвета)[только в версии 7.0 и выше].
Рис. 12 Выбор цветов для блоков
После составления схемы и проверки правильности составления добавляем 5 блоков Scope (Simulink – Sinks – Scope).
Делаем двойной щелчок по одному из них и видим окно (рис. 13).
Рис. 13 Окно отображения графиков Scope
Жмем кнопку «Свойства» (рис. 14) и изменяем свойство Number of axes на 2 ( количество графиков).
Рис. 14 Окно свойств блока Scope
Получаем блок Scope с 2-мя входами. Такие же действия проделываем с остальными блоками Scope.
Соединяем 1-ой и 2-ой входы первого блока Scope с выходами 2-го и 1-го интеграторов в 1-ом уравнении схемы. Т.о. на этом блоке будут отображаться q’1 и q1.
Проделываем то же самое с остальными блоками.
Все. Система готова для моделирования.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
В.П. Дьяконов. Matlab 6.5 SP1/7 + Simulink 5/6. Основы применения. М.: СОЛОН-Пресс, 2005.- 800с.
В.П. Дьяконов. Matlab 6.5 SP1/7 + Simulink 5/6 в математике и моделировании. М.: СОЛОН-Пресс, 2005. - 576с.
Ануфриев И., Смирнов А., Смирнова Е. MATLAB 7.0 в подлиннике. Новая техническая книга, 2005
Кривилев А. Основы компьютерной математики с использованием системы MATLAB. Лекс-Книга, 2005
В.П.Дьяконов. MATLAB 6/6.1/6.5 + Simulink 4/5. Основы применения. Полное руководство пользователя. СОЛОН-Пресс, 2004.
В.Потемкин. Вычисления в среде MATLAB. Диалог-МИФИ. 2004.
И.Черных. Simulink: среда создания инженерных приложений. Диалог-МИФИ. 2003.
С.Поршнев. Компьютерное моделирование физических процессов в пакете MATLAB. Горячая Линия - Телеком. 2003.
В.Потемкин. MATLAB 6: Среда проектирования инженерных приложений. Диалог-МИФИ. 2003.
В.Кондрашов, С.Королев. Matlab как система программирования научно-технических расчетов. Мир. 2002.
М.Семененко . Введение в математическое моделирование. Солон-Р. 2002.
А.Данилов. Компьютерный практикум по курсу "Теория управления". Simulink-моделирование в среде Matlab. МГУИЭ. 2002.
Н.Мартынов. Введение в MATLAB 6. Кудиц-образ. 2002.
И.Ануфриев. Самоучитель MatLab 5.3/6.x. БХВ-Петербург. 2002.
А.Гультяев. MATLAB 5.3. Имитационное моделирование в среде Windows. Корона принт. 2001.
Б.Андриевский, А.Фрадков. Элементы математического моделирования в программных средах MATLAB 5 и Scilab. Наука. 2001.
С.Герман-Галкин. Компьютерное моделирование полупроводниковых систем в MATLAB 6.0. Корона принт. 2001.
К.Чен, П.Джиблин, А.Ирвинг. MATLAB в математических исследованиях. Мир. 2001.
В.Дьяконов, В.Круглов. MATLAB. Анализ, идентификация и моделирование систем. Специальный справочник. Питер. 2001.
В.Говорухин, В.Цибулин. Компьютер в математическом исследовании: Maple, MATLAB, LaTeX. Питер. 2001.
В.Дьяконов, В.Круглов. Математические пакеты расширения MATLAB. Специальный справочник. Питер. 2001.
В.Дьяконов, И.Абраменкова, В.Круглов. MATLAB с пакетами расширений. Нолидж. 2001.