Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Отчет по практическому заданию по “Методам математического моделирования”

Автор:   •  Октябрь 10, 2022  •  Практическая работа  •  528 Слов (3 Страниц)  •  137 Просмотры

Страница 1 из 3

Нижегородский государственный университет им Н.И Лобачевского

Радиофизический факультет

Отчет по практическому заданию по курсу “Методы математического моделирования”

Выполнил студент:

Вдовин А.А.

Гр. 428

Нижний  Новгород

2020

1. Задание № 3

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

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

2. Модель и алгоритм

За основу была взята модель SIR с учетом естественной рождаемости и смертности. Формулы вычисления:

[pic 1]

[pic 2]

[pic 3]

[pic 4]

где

[pic 5]

[pic 6]

[pic 7]

[pic 8]

[pic 9]

[pic 10]

[pic 11]

[pic 12]

[pic 13]

[pic 14]

Каждая последующая формула вычисляется на основании предыдущей. В программе создаётся 4 массива с данными,  и потому выводятся в виде графиков с помощью модуля matplotlib.

Погрешность интегрирования вычисляется как разность между значением полученным с помощью формулы N(T) в момент T, и интегралом . При шаге dt =0.02 погрешность составила: 0.3617832162517516, при шаге 0.2 -  1.1841188553376014.[pic 15]

3. Код

import math as mt

import numpy as np

from matplotlib import pylab as plt

def N_t(t):

    N = np.e**((ksi_B-ksi_D-mu)*t)*N_0

    return N

def S_t(t):

    #S=(N_t(t)+N_0)*np.e**(-alpha*N_t(t)*t)*N_t(t)

    S = (N_t(t))*np.e**(-alpha*t)

    return S

def I_t(t):

    I = (N_t(t))/np.e**((beta*S_t(t)))

    return I

def R_t(t):

    R = gamma*I_t(t)

    return R

def integriruem():

    intgr = 0.0

    for i in np.arange(t0, t, 0.2):

        intgr += (ksi_B-ksi_D-mu)*0.2*N_0*np.e**((ksi_B-ksi_D-mu)*i)

    return intgr

ksi_B = 0.01  # коэф. рождаемости

...

Скачать:   txt (5.8 Kb)   pdf (423.5 Kb)   docx (832.6 Kb)  
Продолжить читать еще 2 страниц(ы) »
Доступно только на Essays.club