Лабораторная работа № 2. Создание модели сердца «Heart»
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Цель работы:

· Научиться создавать модели с нуля.

· Создавать графики в презентации модели.

· Создавать слайдеры для управления параметрами модели.

Содержание работы

Мы рассмотрим простейшую математическую модель, описывающую процессы, похожие на биение сердца. Эта модель описана двумя дифференциальными уравнениями первого порядка:

где: х – радиус сердца, х0 – его начальное значение, b – переменная, а ε – параметр eps.

В этой модели мы исследуем характер зависимостей переменных х и b от времени при разных значениях параметра eps, а также построим фазовую диаграмму зависимости радиуса х от переменной b.

1) Для построения нового проекта щелкните кнопку Создать панели инструментов, либо выберите в основном меню Файл / Создать / Модель. В появившемся диалоговом окне установите рабочую папку, наберите heart как имя модели и щелкните Далее. В следующем окне оставьте выбранным по умолчанию Начать создание модели с «нуля» и щелкните Готово. Новый проект под названием heart будет создан.

2) В нашей модели должны присутствовать две переменные состояния – х и b, и два параметра – х0 и eps, где х0 - начальное значение х. Начальное значение переменной b зададим константой.

В модели переменная х определяется дифференциальным уравнением:

с начальным значением х, равным х0. В AnyLogic можно подобные зависимости задавать именно в таком аналитическом виде. Для того чтобы таким образом определить переменную х, зададим ее в форме накопителя.

Для этого перетащите мышью элемент Накопитель, расположенный во вкладке Системная динамика панели Палитра на диаграмму класса активного объекта Heart. Пиктограмма появится в поле редактора с именем stock. Одновременно внизу вместо окна свойств объекта Heart появится окно свойств выделенного накопителя. В это окно в поле имени Имя вместо предопределенного имени stock введите х и нажмите клавишу <Enter>.

В поле Начальное значение введите x 0, после чего, определим формулу для вычисления х в поле dx / dt следующим образом:

.

Поле Начальное значение будет недоступным. Для того чтобы ввести в это поле формулу, нужно выбрать Режим задания уравнения Произвольный, см. рисунок 2.16.

 

 

Рисунок 2.16 – Накопитель х

 

При выделенной пиктограмме накопителя его имя можно перемещать по диаграмме класса. Саму пиктограмму накопителя также можно перемещать при нажатой на ней левой кнопке мыши.

3) Вторая переменная b задана дифференциальным уравнением

db/dt = х – х0. Ее создадим в модели аналогичным образом (рисунок 2.17). Установим начальное значение b равное 0. В поле Начальное значение окна свойств переменной b величину 0 можно не записывать: если это поле пусто, по умолчанию значение переменной считается нулевым.

Рисунок 2.17 – Накопитель b

 

4) На диаграмму класса активного объекта можно помещать текстовые комментарии. Для этого перетащите элемент Текст со вкладки Презентация панели палитр на диаграмму класса, рядом с накопителями. Введите следующий комментарий: Структура активного объекта. Его можно редактировать в поле Текст окна свойств этого комментария.

5) Для проверки правильности синтаксиса (модели можно использовать кнопку Построить модель панели инструментов или нажать клавишу F7. Если щелкнуть на этой кнопке, то выполнится компиляция разрабатываемой модели в программный код на языке Java. Щелкните по кнопке Построить модель. В нашем примере обнаружились ошибки (рисунок 2.18): действительно, нами не определены параметры х0 и eps.

                                                                                 

 

Рисунок 2.18 – Ошибки при запуске

6)  На наличие ошибки указывает появившиеся символы [х] в панели Ошибки. Для каждой ошибки показывается ее описание и местоположение - имя элемента модели, при задании которого эта ошибка была допущена. Двойной щелчок мышью по ошибке, в зависимости от того, где она была совершена, приведет к открытию того или иного редактора или панели. Если, например, это графическая ошибка, то будет открыт графический редактор, отображающий диаграмму соответствующего класса активного объекта, в котором будут выделены фигуры, которые были неправильно нарисованы.

7) Для завершения построения модели указанные пропущенные параметры нужно задать. Пусть х0 = 0.5, eps = 0.01. Перетащите мышью пиктограмму Параметр с вкладки Основная панели Палитры на диаграмму класса активного объекта Heart. Назовите его х0, затем на вкладке Основные панели свойств этого параметра введите в поле Значение по умолчанию – 0.5. Остальные поля оставьте без изменения. Переменная eps со значением 0.01 задается так же. Снова выполните проверку синтаксиса: нажмите кнопку Построить модель.

8) Задайте связи, как показано на рисунке 2.19.

 

Рисунок 2.19 – Связи переменных

9) Щелкнув на кнопке запуска модели, после компиляции откроется окно презентации эксперимента. Запустив эксперимент, увидим структуру активного объекта: переменные и параметры с их значениями (рисунок 2.20). Переменные b и х в этом окне начнут изменяться в соответствии с определенными для них уравнениями.

 

Рисунок 2.20 – Результат запуска модели

 

10) Системы дифференциальных и алгебраических уравнений, при выполнении модели, решаются одним из встроенных численных методов. Сам метод и необходимая точность решения выбираются автоматически, но можно изменить предварительные установки: во вкладке Проект выбираем нужную модель, в свойствах модели – Численные методы (рисунок 2.21).

 

 

Рисунок 2.21 – Выбор метода и необходимая точность решения

 

11) AnyLogic позволяет наглядно представить поведение модели, в частности, представить изменения во времени всех ее переменных. Для получения полнофункциональных графиков лучше воспользоваться диаграммами AnyLogic, которые позволяют динамически визуализировать данные, собираемые в результате работы модели. Набор диаграмм схож с тем, что предлагается программой MS Excel.

Построим графики зависимостей переменных b и х от времени и фазовую диаграмму b от х. Перетащите элемент График из палитры Статистика в то место графического редактора, где Вы хотите нарисовать график. Перейдите на страницу Данные панели Свойства (рисунок 2.22).

 

Рисунок 2.22 – Свойства графика

 

12) Щелкните мышью по кнопке Добавить элемент данных. При этом над кнопкой появится новая секция свойств, задающая настройки нового элемента данных, который будет отображаться на данном графике. В поле Значение по оси Х введите имя переменой х, а в поле Значение по оси Y – имя переменной b. Задайте заголовок Фазовая диаграмма для этого элемента данных в поле Заголовок. Для того чтобы получить гладкую диаграмму нужно уменьшить период обновления данных в поле Период.

13) Аналогично постройте временной график для переменных x и b, разместив их на одном графике. Временной диапазон укажите равным 10

14) Для лучшего понимания динамики модели и наблюдения за процессами, в AnyLogic можно строить анимированные изображения, состоящие из динамических элементов. Графические элементы называются динамическими, поскольку все их параметры - координаты, размер, цвет и даже их видимость – в процессе выполнения модели можно сделать зависимыми от переменных и параметров, которые меняются со временем при выполнении модели.

Остановите выполнение модели и вернитесь на диаграмму класса Heart. Прямо на диаграмме мы будем рисовать презентацию сердца.

15) Перенесите элемент Овал из палитры Презентация, представляющий динамику сердца на диаграмму класса. Статические значения его параметров задайте так: в панели свойств овала на вкладке Основные цвет заливки определите бордовым, цвет линии границы - красным; толщину линии границы установите 2.

Изменение объема сердца представим радиусами овала как функции от переменной х, как показано на рисунке 2.23.

 

 

Рисунок 2.23 – Настройки «сердца»

 

16) В AnyLogic существует элемент управления, позволяющий графически выбирать число из заданного диапазона значений путем перетаскивания рукоятки – бегунок.

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

Перетащите мышью с палитры Элементы управления пиктограмму Бегунок на диаграмму класса Heart между структурой и анимационным овалом. В поле Связать с панели свойств введите имя параметра x0, а минимальное и максимальное значения, которые можно регулировать слайдером, установите 0 и 1. Добавить подписи к слайдеру можно простым нажатием кнопки Добавить метки, рисунок 2.24. Запустите модель и проверьте действие слайдера.

Аналогично сделайте слайдер для параметра eps, установив ограничения от 0.01 до 0.5. (рисунок 2.24)

 

 

 

Рисунок 2.24 – Настройки элементов управления

 

17) В верхнюю часть диаграммы класса Heart введите поясняющий текст. Для этого перетащите мышью пиктограмму Текст с палитры Презентация. В поле Текст введите текст Модель сердца, выберите шрифт Century Gothic, стиль Полужирный, размер 22. Установите также координаты (Х, Y) этого объекта (20,10). В правой верней части презентации добавьте еще одно поле Текст и напиши в нем пояснения  как на рисунке 2.25 о содержании нашей модели.

Введите в поле презентации прямоугольники, как показано на рисунке 2.25, и поместите их на задний план, чтобы они выделяли функциональные блоки построенной модели. Для того чтобы фигура была фоном и не закрывала другие изображения, в контекстном меню данного прямоугольника выполните команду Порядок / На задний план.

Сделайте подписи к слайдерам, чтобы было понятно, какими параметрами мы управляем.

 

 

Рисунок 2.25 – Внешний вид презентации Main модели.

 

 

Контрольные вопросы

1 Как поместить на поле презентации текущее значение времени?

2 Как создать переменную, определяемую дифференциальным уравнением?

3 Как какими параметрами должен иметь связи накопитель?

4 Как выбрать численный метод решения дифференциального уравнения?

5 Как ввести в модель слайдер и связать его с переменной?

6 Как изменить период обновления графика?

7 Как создавать текстовые поля и выводить в них нужные переменные динамически?



Дата: 2019-03-05, просмотров: 269.