谁能帮助我解决这个python问题:狼和猎物的动态

时间:2020-07-16 07:21:47

标签: python

大家好,我今年夏天正在学习python,但是我有一个问题要做,如果有人可以帮助,一切对我来说都是新的:鉴于掠食者(狼)和猎物(鹿)的生态系统,我们将研究动态他们的互动。我们将逐步研究其数量的演变。在(i, j, x[i][j])的每个时间增量处适用:

编写函数

dt=0.01

,它将模拟系统n次并找到系统中狼的最大值。 enter image description here

2 个答案:

答案 0 :(得分:0)

这是一个应该起作用的基本模板,问题中似乎缺少公式,因此您必须自己添加它们。学习编写代码是一项非常有用的技能,因此不要复制并粘贴此答案,而要从中学习。

def wolves_and_dear(deer_0, wolves_0, deer_growth, deer_predation, wolves_predation, wolves_decay, dt, n):
    best_wolves = 0
    for simulation in range(n):
        deer,wolves = deer_0,wolves_0
        t = 0
        while t < 1:
            deer += deer_growth
            deer -= deer_predation
            wolves -= wolves_predation
            wolves -= wolves_decay
            t += dt
        best_wolves = max(best_wolves,wolves)
    return best_wolves

如果您有任何问题,请发表评论,我会尽力帮助。

答案 1 :(得分:0)

 def wolves_and_dear(deer_0, wolves_0, deer_growth, deer_predation, wolves_predation, 
 wolves_decay, dt, n):

wolves_max =0

for i in range(1, n + 1):

     wolves = wolves_0 + dt * (wolves_predation * wolves_0 * deer_0 - wolves_decay *wolves_0)

    deer = deer_0 + dt *(deer_growth * deer_0 - deer_predation * wolves_0 * deer_0)

  if wolves > wolves_max:

    wolves_max = wolves

        wolves_0 = wolves

        deer_0 = deer
        
return wolves_max