Equação de Lotka-Volterra Competitiva Estocástica
As Equações de Lotka-Volterra fornecem um modelo para a previsão de sistemas biológicos considerando diversas relações entre populações. Exploraremos no vigente trabalho a relação de competitividade. Dividiremos, para tanto, o trabalho em três partes principais, considerando duas e três populações, mostrando os gráficos de evolução temporal do número de indivíduos de cada espécie e os espaços de fase, e generalizando para N populações.
Equação de Fokker-Planck
Equações para Duas Populações
O modelo logístico utilizado para duas espécies disputando um território pode ser descrito pelo seguinte par de equações:
com e sendo as duas populações consideradas, e , o crescimento inerente per-capita, e , a capacidade de carga e e , o efeito que a espécie um tem na espécie dois e vice-versa.
Equações para Três Populações
Equações para N Populações
using Plots
using Distributions
r = [1,0.72,1.53,1.27]
a = [1 1.09 1.52 0
0 1 0.44 1.36
2.33 0 1 0.47
1.21 0.51 0.35 1]
b = [1, 1.2, 0.8, 1.6] .- 0.5
k = [40, 65, 56, 44]
function f(x)
return r.*x.*(1 .-(a*x))
end
tmax = 20
dt = 0.0001
L = Int(tmax/dt)
tempo = collect(0:dt:tmax)
normal = Normal(0,sqrt(dt))
function stratmatriz(x1,x2,x3,x4)
x = [x1,x2,x3,x4]
xlist = Array{Float64}(undef,4, L+1)
xlist[1,1], xlist[2,1], xlist[3,1], xlist[4,1] = x1,x2,x3,x4
for t in 1:L
random = [rand(normal),rand(normal),rand(normal),rand(normal)].*sqrt(dt)
k1 = f(x)
k2 = f(x .+ k1*dt/3)
k3 = f(x .+ (-k1/3 + k2)*dt)
k4 = f(x .+ (k1 - k2 + k3)*dt)
dx = ((k1 + 3 .*k2 + 3 .*k3 + k4)./8 - 0.5 .*x)*dt + x.*b.*random
x = x + dx
xlist[1,t+1], xlist[2,t+1], xlist[3,t+1], xlist[4,t+1] = x[1],x[2],x[3],x[4]
end
return xlist
end
result = lvmatriz(0.25,0.25,0.25,0.25)
x1,x2,x3,x4 = collect(result[1,:]),collect(result[2,:]),collect(result[3,:]),collect(result[4,:])
plot(tempo,x1)
plot!(tempo,x2)
plot!(tempo,x3)
plot!(tempo,x4)