假设某渔场内养殖有某种鱼群(如鲳鱼),分为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 09:04:39 浏览: 130
4第四节鱼 (2).ppt
首先,我们需要建立模型来描述鱼群的增长和死亡。设第 $i$ 年 $j$ 龄鱼的数量为 $n_{i,j}$,则有:
$$
n_{i,j} = \begin{cases}
n_{i-1,j+1} \cdot \frac{1.22 \times 10^{11}}{1.22 \times 10^{11} + n_{i-1,j+1}} & j = 1 \\
n_{i-1,j+1} \cdot \frac{1.22 \times 10^{11}}{1.22 \times 10^{11} + n_{i-1,j+1}} + (1-0.8) n_{i-1,j} & 1 < j < 4 \\
n_{i-1,j} + 0.5 \cdot 1.109 \times 10^{5} \cdot \frac{n_{i-1,4}}{n_{i-1,4} + n_{i-1,3}} & j = 4
\end{cases}
$$
其中,第一行描述了 1 龄鱼的数量增长,第二行描述了 2-3 龄鱼的数量变化(既包括死亡也包括成长),第三行描述了 4 龄鱼的数量变化(包括死亡和产卵)。注意到 2-3 龄鱼的产卵不会影响后代数量,因此没有考虑。
接下来,我们需要建立模型来描述捕捞的影响。假设每年投入的捕捞强度系数为 $k$,则每个年龄组被捕捞的数量为:
$$
\begin{aligned}
c_3 &= k \cdot 0.42 \cdot n_{i,3} \\
c_4 &= k \cdot 1 \cdot n_{i,4}
\end{aligned}
$$
其中,$c_3$ 和 $c_4$ 分别是 3 龄鱼和 4 龄鱼被捕捞的数量。
最后,我们需要建立目标函数来描述年收获量。由于鱼的重量不同,我们需要分别计算不同年龄组被捕捞的重量:
$$
\begin{aligned}
w_3 &= c_3 \cdot 0.0186 \cdot 11.55 \\
w_4 &= c_4 \cdot 0.0186 \cdot 22.99
\end{aligned}
$$
其中,0.0186 是网眼面积与拉网面积的比值(可以通过网眼大小和拉网长度计算得出)。
年收获量即为 $w_3 + w_4$。
综上所述,我们可以使用 Matlab 编写如下代码来模拟鱼群的增长和捕捞的影响,并计算最高年收获量:
```
n = [1000; 1000; 1000; 1000]; % 初始鱼群数量
y = 10; % 模拟年数
k = 0.1; % 捕捞强度系数
w = zeros(y, 1); % 每年的收获量
for i = 1:y
% 计算鱼群数量变化
n = [n(2:4); ...
n(3:4)' * 1.109e5 / sum(n(3:4)) * 0.5 + ...
n(2:3)' * (1 - 0.8)];
% 计算捕捞量
c3 = k * 0.42 * n(3);
c4 = k * 1 * n(4);
% 计算收获量
w3 = c3 * 0.0186 * 11.55;
w4 = c4 * 0.0186 * 22.99;
w(i) = w3 + w4;
end
max(w) % 输出最高年收获量
```
注意到我们使用了一个循环来模拟多年的捕捞。最后输出的 `max(w)` 即为最高年收获量。可以通过调整初始鱼群数量和捕捞强度系数等参数,来探究如何可持续捕获更多的鱼。
阅读全文