Я работаю над созданием модели, основанной на динамике Лотки-Вольтерры, которая включает в себя стохастическую меру дисперсии, с целью изучения размеров популяции с течением времени по мере увеличения относительной плотности неадаптированной жертвы.
У меня полностью функционирующая базовая модель LV.До сих пор я пытался поместить всю модель в цикл и определить дисперсию как последовательность.
Это моя базовая модель:
LVmod<-function(Time,State,Pars){
with(as.list(c(State, Pars)),{
ingestion1 <- ingP1 * P1 * P #ingestion maladapted
ingestion2 <- ingP2 * P2 * P #ingestion residents
ingestion3 <- ingS * S * p #source population
growthprey1 <- rGrow1 * P1 * (1-((P1+P2)/K)) #mal
growthprey2 <- rGrow2 * P2 * (1-((P2+P1)/K)) #res
growthsource <- rGrowS * S * (1-(S/K2)) #source pop
mortpred <- rMort * P #predator mortality
mortpredS <- rMort * p #source pred mort
migration <- S*.5 #dispersal from source pop
dPrey1 <- growthprey1 - ingestion1 + migration #change in maladapted pop
dPrey2 <- growthprey2 - ingestion2 # change in resident pop
dSource <- growthsource - ingestion3 # source
dPred <- (ingestion1+ingestion2)*assEff - mortpred #change in predator
dpredS <- (ingestion3)*assEff - mortpredS #source predator
return(list(c(dPrey1,dPred,dPrey2,dSource,dpredS)))
})
}
pars <- c(ingP1 = 0.8,
ingP2 = 0.2,
ingS = 0.2,
rGrow1 = 0.5,
rGrow2 = 1.5,
rGrowS = 1.5,
rMort = 0.2,
assEff = 0.8,
K = 10,
K2 = 15)
yini <- c(P1 = 1, P = 2, P2 = 1, S = 1, p = 2)
times <- seq(0,200,by=1)
out <- ode(yini,times,LVmod,pars)
Это проблемная строка:
migration <- S*.5 #dispersal from source pop
В настоящее время значение разгона установлено на .5.Я хотел бы иметь что-то вроде этого:
migration <- S*dispersal
со случайным изменением разгона на одну итерацию.
Это начало цикла, который я пробовал:
for (j in 2:200){
disp=runif(200,0,1)
LVmod<-function(Time,State,Pars){......
Я хочу получить результат, который можно представить как изменение численности населения с течением времени в связи с изменяющимися показателями рассеивания.Прямо сейчас, если я запускаю цикл, я получаю большое количество графиков, которые имеют одну горизонтальную линию.