Запуск нескольких моделей одновременно

Выделение ряда блоков и их перенос

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

Первый способ – воспользоваться командой Select all. Второй спо­соб основан на работе с мышью. Нужно установить курсор мыши рядом с выделяемыми блоками и нажать ее левую кнопку. Теперь при перемещении мыши появится расширяющаяся прямоугольная рамка из тонких пунктирных линий. Как только в ней окажется ка­кой-либо блок, он будет выделен. Охватив рамкой все блоки, можно выделить их все.

Выделенный набор блоков можно перетаскивать мышью как еди­ный объект. Это показано на рис. 4.3, где справа виден набор исход­ных блоков, а слева – перетаскиваемый блок. Отпустив левую кноп­ку мыши, можно увидеть блоки на новом месте.

Теперь все готово для нашего первого серьезного эксперимента - одновременного запуска нескольких моделей. Чтобы получить при­веденные далее результаты, необходимо установить параметры Start tim = 0 и StopTime = 20 в окне установки параметров моделирования (напоминаем, что оно вызывается командой Simulation > Simulation parameters...).

 

После этого, запустив моделирование нажатием кноп­ки Start Simulation или командой меню Simulation > Start, можно уви­деть результат, показанный на рис.4.4.

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

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

Итак, мы видим, что все три модели работают и осциллограммы пред­ставляют временные зависимости сигналов, которые вырабатывают источники, - синусоиду, прямоугольные импульсы и треуголь­ные импульсы.

 

 

Рис. 4.4.Готовая модель и осциллограммы ее работы

 

 

силы

 

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.

Проделываем то же самое с остальными блоками.

 

Все. Система готова для моделирования.


 

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

 

1. В.П. Дьяконов. Matlab 6.5 SP1/7 + Simulink 5/6. Основы применения. М.: СОЛОН-Пресс, 2005.- 800с.

2. В.П. Дьяконов. Matlab 6.5 SP1/7 + Simulink 5/6 в математике и моделировании. М.: СОЛОН-Пресс, 2005. - 576с.

3. Ануфриев И., Смирнов А., Смирнова Е. MATLAB 7.0 в подлиннике. Новая техническая книга, 2005

4. Кривилев А. Основы компьютерной математики с использованием системы MATLAB. Лекс-Книга, 2005

5. В.П.Дьяконов. MATLAB 6/6.1/6.5 + Simulink 4/5. Основы применения. Полное руководство пользователя. СОЛОН-Пресс, 2004.

6. В.Потемкин. Вычисления в среде MATLAB. Диалог-МИФИ. 2004.

7. И.Черных. Simulink: среда создания инженерных приложений. Диалог-МИФИ. 2003.

8. С.Поршнев. Компьютерное моделирование физических процессов в пакете MATLAB. Горячая Линия - Телеком. 2003.

9. В.Потемкин. MATLAB 6: Среда проектирования инженерных приложений. Диалог-МИФИ. 2003.

10. В.Кондрашов, С.Королев. Matlab как система программирования научно-технических расчетов. Мир. 2002.

11. М.Семененко . Введение в математическое моделирование. Солон-Р. 2002.

12. А.Данилов. Компьютерный практикум по курсу "Теория управления". Simulink-моделирование в среде Matlab. МГУИЭ. 2002.

13. Н.Мартынов. Введение в MATLAB 6. Кудиц-образ. 2002.

14. И.Ануфриев. Самоучитель MatLab 5.3/6.x. БХВ-Петербург. 2002.

15. А.Гультяев. MATLAB 5.3. Имитационное моделирование в среде Windows. Корона принт. 2001.

16. Б.Андриевский, А.Фрадков. Элементы математического моделирования в программных средах MATLAB 5 и Scilab. Наука. 2001.

17. С.Герман-Галкин. Компьютерное моделирование полупроводниковых систем в MATLAB 6.0. Корона принт. 2001.

18. К.Чен, П.Джиблин, А.Ирвинг. MATLAB в математических исследованиях. Мир. 2001.

19. В.Дьяконов, В.Круглов. MATLAB. Анализ, идентификация и моделирование систем. Специальный справочник. Питер. 2001.

20. В.Говорухин, В.Цибулин. Компьютер в математическом исследовании: Maple, MATLAB, LaTeX. Питер. 2001.

21. В.Дьяконов, В.Круглов. Математические пакеты расширения MATLAB. Специальный справочник. Питер. 2001.

22. В.Дьяконов, И.Абраменкова, В.Круглов. MATLAB с пакетами расширений. Нолидж. 2001.