Реализация задачи с помощью технологии VBA

Option explicit

Sub Population() 'Текст модуля "Популяция-99"

Dim v As String: v = "Рост популяции по модели "Мальтуса-Ферхюльста"

Dim х As String: Dim No As Integer:'Описание текущих переменных

x = "Введите значение": Dim No As String:у="электронной таблицы"

'Ввод начальной численности популяции

z = lnputBox(x + "начальной численности популяции No", v): No = Clnt(z)

' Ввод коэффициента относительного прироста популяции

Dim m As Single: z = lnputBox(x + "относительного коэффициента прироста m", v)

m = CSng(z): Dim КAs Integer: Dim T As Single: Dim i As Integer: Dim j As Integer

Ввод значения предельной численности популяции.

z = lnputBox(x + "предельной численности популяции К", v): К = Clnt(z)

' Ввод значения исследуемого временного интервала.

z = lnputBox(x + "временного интервала Т", v):

Т = CSng(z): i = NT1(No, m, К, T)

j = MsgВох(“Прирост популяции (NT-No)=" & CStr(i - No), 1, v)

Запрос на сохранение результатов расчета в заданной электронной таблице.

j = MsgВох(“Будете создавать архив для результатов расчета", 1, v)

If j = 1 Then

x = "Введите номер": Dim NT As Integer: Dim NR As Integer: Dim NC As Integer

z = lnputBox(x +y+ " для записи результата расчета", v, CStr(1)): NT = Clnt(z)

z = lnputBox(x + " строки"+у+" для записи результата расчета", v, CStr(1)):

NR = Clnt(z)' Изменение типа переменной от строкового к целому

z = lnputBox(x + "столбца"+у+ для записи результата расчета", v, CStr(1)):

NC = Clnt(z)' Конец блока для адресации результатов расчета,

z=InputВох("Введите наименование популяции", v, "Насекомое?") Worksheets(NT).Cells(NR, NC).Formula = "Вид популяции"

Worksheets(NT).Cells(NR, NC + 1).Formula = z

Worksheets(NT).Cells(NR + 1, NC).Formula = "Начальная численность популяции" Worksheets(NT).Cells(NR + 1, NC + 1).Value = No

Worksheets(NT).Cells(NR + 2, NC).Formula = "Прирост популяции" Worksheets(NT).Cells(NR + 2, NC + 1).Value = i - No: End If:

End Sub 'Population

' Функция для решения прямой задачи модели о росте популяции.

Function NT1(No As Integer, m As Single, К As Integer, T As Single) As Integer

NT1 =K/(1 + (K - No) / No / Exp(m * T))

End Function 'NT1

 

 

' Функции для решения обратных задач модели о росте популяции

Function NT2(No As Integer, N As integer, К As Integer, T As Single) As single NT2=Log((No*(K-N)/N/(K-No))/T

End Function 'NT2

Function NT3(No As Integer, m As Single, N As Integer, T As Single) As Integer

NT3=(1 -Exp(m*T))*N*No/(N-No*Exp(m*T))

End Function ‘NT3

Численное решение сложных систем дифференциальных уравнений на примерах моделей Хищник-Жертва -Пища.








Дата добавления: 2016-02-04; просмотров: 577;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.