Это - учебно-методические материалы по медицинской информатике и статистике с сайта 1mgmu.com
Увеличить шрифт ::
Уменьшить шрифт
9.3.2 Использование электронной таблицы Excel для расчета динамики численности биологических популяций
Уравнения динамики численности. Модель Мальтуза
Уравнения динамики численности N обычно записывают в виде дифференциального уравнения, то есть скорость изменения численности dN/dt есть некоторая функция F(N,t), зависящая от времени и текущей численности популяции. В данном случае F(N,t)=N*(a(N,t)-b(N,t)), где a(N,t) – рождаемость, а b(N,t) – смертность.
Для численного расчета динамики N можно пользоваться приближенной схемой расчета N(T+x)=N(T)+x*dN/dt. Величина расчета тем точнее, чем меньше величина x. Сама эта величина должна быть выбрана таким образом, чтобы за промежуток времени длиною x скорость изменения численности dN/dt менялась мало. x называется шагом численного интегрирования.
В простейшем случае, когда рождаемость и смертность постоянны, данная модель динамики численности популяции называется моделью Мальтуза.
Численно рассчитаем динамику численности России, если начальную численность принять за 140 миллионов, время рассматривать в годах, смертность взять в 1,4%, а рождаемость в 1%. В качестве шага численного интегрирования возьмем 0,1 года.
Как уже было сказано, используемая схема расчета имеет некоторую погрешность, которая уменьшается при уменьшении шага интегрирования. Поэтому изменением шага интегрирования можно пользоваться для проверки точности расчета. Если при его изменении полученные величины численности меняются мало, то это означает, что численность рассчитана достаточно точно.
Например, запомним, что для приведенного расчета для 200 лет численность населения составила 51,4902433. Увеличим шаг интегрирования вдвое – и для значения в 200 лет численность составит 51,47735947. Таким образом, точность полученного расчета около 0,01 миллиона.
Из полученного результата следует, что в модели Мальтуза численность меняется геометрически. Действительно, исходное уравнение имеет решение N(t)=N(0)*exp((a-b)*t). Однако для рассматриваемых далее случаев, когда рождаемость и смертность уже не являются постоянными, такого простого аналитического решения уже нет, и приходится пользоваться приближенными численными методами расчета.
Используемая выше формула приближенного расчета F(N,t)=N*(a(N,t)-b(N,t)), как и любые формулы численного интегрирования, дает ошибку. Связано это с тем, что при расчете изменения численности за некоторый промежуток времени в качестве скорости изменения берется не среднее за этот промежуток времени, а значение на начало промежутка.
Поэтому точность расчета при том же шаге интегрирования можно повысить, если в качестве оценки средней скорости изменения за промежуток использовать не ее значение на начальный момент времени, а прогноз средней скорости изменения за этот промежуток.
На этот счет есть некоторая своя наука «вычислительная математика». На практике чаще всего используются варианты метода Рунге-Кутта второй или третьей степени. Они позволяют проводить достаточно точные расчеты со значительно большим шагом численного интегрирования x, то есть со значительно меньшим объемом вычислений на компьютере. С другой стороны, вместо простой формулы N(T+x)=N(T)+x*dN/dt там используются более длинные выражения.
Поэтому в данном курсе мы не будем далее касаться выборов метода численного интегрирования, так как они находятся вне круга целей и задач цикла. От обучаемого требуется запомнить, что если при использовании рассматриваемых методов для решения его задач объем вычислений становится чрезмерным (например, компьютер очень долго думает или не хватает строк электронной таблицы), то можно в Интернет-энциклопедиях посмотреть ссылку на «Рунге-Кутта».
Оглавление раздела нижнего уровня
Оглавление раздела верхнего уровня
ОГЛАВЛЕНИЕ ОГЛАВЛЕНИЙ
НА ГЛАВНУЮ СТРАНИЦУ САЙТА
Материалы используются на Едином Образовательном Пространстве Первого московского государственного медуниверситета им. И.М. Сеченова