提供一个思路,不懂生物,看看有无帮助。
如果是初学C,建议用VB,数值分析,画图都很方便。
简化问题,暂时不考虑顶消费者种类的不同,只有虎。不能简单的用群体约束来进行模拟,一定要考虑个体因素。对于虎我简单写了几个属性:布尔型的生或死、以天为单位的年龄(要考虑雌虎的可繁殖年龄阶段)、布尔型性别、整形繁殖间隔天数、整型饱食程度、整形寿命天数。其它的如强壮值等可以后续添加。
投放一定数量的虎,对以上属性赋值,雌雄概率均为50%,寿命为正常寿命附近的随机数。
数据改变以每天为单位,对所有虎进行循环,年龄加1,到达寿命就die结束,如果是雌且繁殖期则繁殖间隔天数减1,间隔为零就产仔,数量可参考某种概率分布,我是模拟的正态数据。在虎空间中加入幼虎的数据。饱食程度减10,如果低于80则捕食,捕食有一定的失败概率。如捕食成功饱食度加20。如果饱食程度低于某值可宣判死刑。
我基本上按这种思路简单做了。如下图
图片附件: 游客没有浏览图片的权限,请
登录 或
注册
可考虑的问题还很多,这是食物充足的情况。还可以考虑强壮值,可以为弱,中,强三等。按积分规则改变强状值,可以在食物不充足的情况下决定谁能得到食物,当然还有疾病因素,还有不同生长期的问题,还有母虎和仔虎之间的关联。
次级消费者也可这样考虑。
初级消费者可以进一步简化,因个体量太大,能不能总体考虑。
至于说不同等级消费者有不同种类的动物,想来也是增加考虑贡献肉的多少和食量的大小。