假设某渔场内养殖有某种鱼群(如鲳鱼),分为4个年龄组,分别称为1龄鱼,2龄鱼,3龄鱼和4龄鱼。已知: 各年龄组每条鱼的平均重量分别为5.07,11.55,17.86和22.99克; 各年龄组鱼的自然死亡率均为0.8条/年; 这种鱼为季节性集中产卵繁殖,平均每条4龄鱼的产卵量为1.109×105个,3龄鱼的产卵量为4龄鱼的一半,2龄鱼和1龄鱼不产卵,鱼群产卵和孵化期为每年的最后4个月; 如果顺利则卵孵化并成活为1龄鱼,其成活率(1龄鱼条数与产卵量n之比)为 1.22×10^11/(1.22×10^11+n); 渔业管理部门规定,每年只允许在产卵期前的8个月内进行捕捞作业。 如果每年投入的捕捞能力(如渔船数、下网次数等)固定不变,这时单位时间捕捞量将与各年龄组鱼群条数成正比,比例系数称作捕捞强度系数。通常使用13mm网眼的拉网,这种网只能捕捞3龄鱼和4龄鱼,两类鱼的捕捞强度系数之比为0.42:1。渔业上称这种方式为固定努力量捕捞。用matlab(1) 建立数学模型分析如何可持续捕获(即每年开始捕捞时渔场中各年龄组鱼群不变),并且在此前提下得到最高的年收获量(捕捞总重量)。
时间: 2023-06-19 10:04:39 浏览: 85
我们可以建立如下的数学模型:
假设各年龄组鱼群的数量分别为n1、n2、n3、n4,单位时间捕捞量分别为C3、C4,捕捞强度系数分别为k3、k4。则有:
单位时间内捕捞到的3龄鱼的数量为C3 * n3 * k3
单位时间内捕捞到的4龄鱼的数量为C4 * n4 * k4
因为渔场中各年龄组鱼群不变,所以捕捞掉的鱼群数量必须等于鱼群自然死亡数量和卵孵化后成活的数量之和。因此我们可以列出如下的方程组:
n1_new = n1 * (1 - 0.8) # 1龄鱼死亡
n2_new = n2 * (1 - 0.8) # 2龄鱼死亡
n3_new = n3 * (1 - 0.8) - C3 * n3 * k3 # 3龄鱼死亡和被捕捞
n4_new = n4 * (1 - 0.8) - C4 * n4 * k4 # 4龄鱼死亡和被捕捞
n1_new += 1.22 * 10 ** 11 / (1.22 * 10 ** 11 + n4) * 1.109 * 10 ** 5 * n4 # 4龄鱼产卵,1龄鱼孵化并成活
其中,n1_new、n2_new、n3_new、n4_new分别表示新的鱼群数量,n4_new的产卵数量和孵化成活数量通过公式计算得到。我们可以通过迭代计算不断更新n1、n2、n3、n4的值,直到收敛为止。
我们的目标是得到最高的年收获量,即捕捞掉的3龄鱼和4龄鱼的总重量。因此我们可以在迭代计算的过程中,不断更新捕捞强度系数k3、k4的值,使得每次迭代后捕捞掉的总重量最大。
完整的MATLAB代码如下: