Построение модели сердца

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

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 04.11.2015
Размер файла 2,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Лабораторная работа №2

1. Построение модели сердца

1.1 Постановка задачи

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

dx/dt= (x - x3 - b)/e;

db/dt=x-x0;

где: x - радиус сердца, x0 - его начальное значение, b - переменная, а e- параметр eps.

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

1.2 Создание нового проекта

математический модель биение сердце

Запустите AnyLogic. Для построения нового проекта щелкните кнопку Создать панели инструментов, либо выберите в основном меню Файл / Создать / Модель.

В появившемся диалоговом окне установите рабочую папку: рабочий_диск:\номер_группы\ФИОстудента, наберите heart как имя модели и щелкните Далее. В следующем окне оставьте выбранным по умолчанию Начать создание модели с «нуля» и щелкните Готово. Новый проект под названием heart будет создан.

Окно редактора нового проекта содержит несколько панелей. Слева в панели проектов автоматически строится дерево проекта. Оно обеспечивает навигацию по всем элементам проекта, которые будут создаваться при построении модели. Для нашего проекта в нем уже создан корневой класс активного объекта с именем Main, а для проведения экспериментов с моделью уже создан один эксперимент с именем Simulation. Центральная панель - панель графического редактора класса активного объекта в которой мы будем производить основные построения модели.

Нижняя панель - это панель свойств выделенного элемента модели. В данном случае панель показывает свойства класса корневого объекта с именем Main, если окно его структуры активно. Измените имя корневого объекта нашей модели, назвав его Heart (вместо установленного по умолчанию имени Main). Для этого в поле Имя вкладки Основные панели Свойства корневого объекта введите Heart вместо Main. В панели проектов имя корневого объекта сразу изменится.

Поскольку AnyLogic создает для каждого класса активного объекта соответствующий Java класс, при задании имени класса активного объекта нужно руководствоваться правилами названия классов в Java. Пожалуйста, начинайте имя класса с заглавной буквы.

1.3 Построение модели

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

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

dx/dt = (х - х3 - b)/eps

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

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

Затем, определим формулу для вычисления х в поле dx/dt = следующим образом: (x - х*х*х - b) /eps В поле Начальное значение введите х0, (рис. 1).

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

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

Рис. 1

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

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

Рис.2

Рис.3

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

с

Для завершения построения модели указанные пропущенные параметры нужно задать.

Пусть х0 = 0.5, eps = 0.01.

Перетащите мышью пиктограмму Параметр

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

Надпись «Построение удачно завершено» в левом нижнем углу окна программы свидетельствует о том, что синтаксис модели правильный.

1.4 Запуск модели

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

Системы дифференциальных и алгебраических уравнений, при выполнении модели решаются одним из встроенных численных методов. Сам метод и необходимая точность решения выбираются автоматически, но можно изменить предварительные установки во вкладке Дополнительные панели свойств объекта Simulation, рис. 5.

По умолчанию выполнение модели закончится, когда счетчик модельного времени дойдет до 100, это условие остановки эксперимента также может быть изменено во вкладке Модельное время панели свойств объекта Simulation, рис. 6.

Рис. 2.4

Рис.2.5

Рис. 2.6

1.5 Графики и диаграммы

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

Окна инспекта мы подробно рассмотрели ранее, здесь отметим лишь то, что эти графики строятся на базе автоматически создаваемых наборов данных, в которые периодически записываются новые и новые значения переменных. Если кривая Вашего графика покажется Вам не гладкой, а "рваной", то причина этого может заключаться в том, что AnyLogic недостаточно часто обновляет наборы данных новыми значениями.

Чтобы изменить частоту обновления автоматически создаваемых для переменных наборов данных перейдите на страницу свойств Дополнительные того класса активного объекта, на диаграмме которого находится переменная и измените период обновления данных в поле Период, рис. 7.

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

Рис.7

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

Рис.8

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

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

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

Проведите серию экспериментов с моделью, перезапуская ее с различными параметрами

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

Рис. 9

1.6 Презентация модели

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

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

1.6.1 Объекты в презентации

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

Этот радиус является функцией от значения переменной х модели. Для построения изображения овала перетащите мышью из вкладки Презентация панели Палитра пиктограмму Овал на диаграмму класса. Внизу появится окно свойств этого овала. По умолчанию имя этого объекта будет oval, координаты Х и Y соответствуют месту, куда мы поместили овал, а радиус X и радиус Y соответствуют тому, что мы нарисовали.

Рис. 10

1.6.2 Динамические параметры графических объектов

Запустив модель, мы увидим, неподвижный овал, находящийся в заданном месте. В AnyLogic принята следующая концепция: каждая характеристика графического элемента имеет два значения: статическое и динамическое. Статическое значение определяет параметр (координату, угол поворота, цвет и т. п.) объекта как константу. Динамическое определяет значение этого параметра в процессе выполнения модели и может быть определено как значение любой переменной модели. Поэтому у графических объектов в панели свойств имеются вкладки Основные и Дополнительные для статических значений, и вкладка Динамические - для динамических значений параметров. Если динамическое значение не определено, графический объект сохранит свое статическое значение.

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

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

Рис.11

Запустите модель. Проведите эксперименты с установкой различных параметров модели (х0 и eps) и наблюдайте, как изменяется характер сердцебиения

1.6.3 Слайдеры в презентации

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

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

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

Аналогично сделайте слайдер для параметра eps, установив ограничения от 0,01 до 0,5

Рис. 12

1.6.4 Текст в презентации

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

Следующий текст, содержащий пояснение к модели, введите чуть ниже и правее: Это упрощенная модель динамики сердечных сокращений. Модель описывается двумя дифференциальными уравнениями: dx/dt=(x-х^3-b)/ерs и db/dt=х-х0. Модель позволяет изменять параметры и наблюдать изменение ритма и формы пульсаций. При значении х0 = 0.6 сердце останавливается. Установите выравнивание по правому краю, все другие параметры текста можете оставить по умолчанию. Для того чтобы текст уместился по ширине, в нужных местах следует вставить перевод строки.

Элемент Текст также имеет динамические свойства, как и другие графические элементы. Это значит, что можно в процессе выполнения модели динамически изменять положение и ориентацию текста, его цвет, и даже сам текст.

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

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

Размещено на Allbest.ru


Подобные документы

  • Построение концептуальной модели и метод имитационного моделирования. Определение переменных уравнений математической модели и построение моделирующего алгоритма. Описание возможных улучшений системы и окончательный вариант модели с результатами.

    курсовая работа [79,2 K], добавлен 25.06.2011

  • Метод решения математической модели на примере решения задач аналитической геометрии. Описание согласно заданному варианту методов решения задачи. Разработка математической модели на основе описанных методов. Параметры окружности минимального радиуса.

    лабораторная работа [310,6 K], добавлен 13.02.2009

  • Построение логической модели определенного вида по выборке данных указанного объема, которая содержит информацию о трех входах системы и одном выходе, и представлена в виде матрицы размерностью 30х4. Поверка адекватности этой модели по заданному критерию.

    дипломная работа [20,0 K], добавлен 13.08.2010

  • Проектирование и реализация модели, которая будет имитировать автозаправочную станцию с постоплатой. Подбор оптимальных параметров модели с учетом требований к сети массового обслуживания. Разработка модели в среде имитационного моделирования GPSS World.

    контрольная работа [279,5 K], добавлен 16.03.2014

  • Методы диагностики и лечения нарушений ритма сердца. Применение аналитической модели диагностики риска развития сердечных блокад на основе d-схемы. Разработка компьютерной программы, реализующей созданный алгоритм, ее экспериментальная проверка.

    курсовая работа [727,6 K], добавлен 14.10.2012

  • Построение математической модели, описывающей движение тела. Составление алгоритма расчёта и визуализации временных диаграмм скорости, пути и движущей силы. Листинг программы, реализующей представленный алгоритм расчёта и построение графиков V, S и F.

    контрольная работа [102,4 K], добавлен 05.11.2012

  • Разработка математической модели системы. Моделирование работы конвейера сборочного цеха в течении 8 часов. Определение вероятности пропуска секции. Расчет количества скомплектованных изделий за 8 часов. Исследование системы на имитационной модели.

    контрольная работа [98,3 K], добавлен 24.09.2014

  • Построение математической модели корпуса судна. Изучение работы последней версии программы FastShip6. Построение теоретической поверхности корпуса теплохода, проходящего ремонт на судостроительном предприятии. Процесс построения поверхности по ординатам.

    дипломная работа [656,0 K], добавлен 24.03.2010

  • Специфика работы терапевтического отделения. Разработка имитационной модели в среде AnyLogic. Выбор средств моделирования. Описание схемы моделирующего алгоритма. Организация вычислительного эксперимента над математической моделью, анализ его результатов.

    курсовая работа [1,2 M], добавлен 10.06.2015

  • Создание математической модели системы массового обслуживания на примере банка. Разработка имитационной модели на языке программирования С++. Блок-схема программы, перевод модели на язык программирования. Верификация и валидация имитационной модели.

    курсовая работа [630,5 K], добавлен 01.06.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.