培养皿中的一群病菌趋向于繁殖成一个圆菌落。设N是病菌的数目,病菌的自然增长率与N成正比,比例常数为r_1,同时病菌由于寒冷而受到损伤,死亡率与∛N成正比,比例常数为r_2。 (1) N关于时间t满足的微分方程是dN/dt=r_1 N-r_2 ∛N,请用MATLAB求解N(t)。(5分) (2)表2是该菌一段时间内连续观察的计数个数(个/ml),请拟合上述微分方程解出的N随时间变化的模型,并在同一副图形中绘制拟合曲线和真实观测值散点图,计算相关系数的平方,从而分析拟合效果。(5分) 表2 病菌随时时间(天)观测个数(个/ml) 第 天 6 7 8 9 10 11 12 13 14 15 16 17 18 个数 166 139 136 207 196 244 300 340 317 351 466 613 659 第 天 19 20 21 22 23 24 25 26 27 28 29 30 个数 750 870 1044 1184 1375 1515 1824 2123 2436 2856 3297 3874
时间: 2024-04-01 09:35:00 浏览: 95
细菌菌落自动计数:在培养皿中平板琼脂图像中自动进行细菌菌落计数的功能。-matlab开发
5星 · 资源好评率100%
(1) MATLAB代码如下:
```matlab
% 定义微分方程
dydt = @(t, y) r1 * y - r2 * y.^(1/3);
% 初始值
y0 = 166;
% 时间范围
tspan = [6 30];
% 参数
r1 = 0.08;
r2 = 0.00002;
% 求解微分方程
[t, y] = ode45(dydt, tspan, y0);
% 绘制图像
plot(t, y, 'b-', 'LineWidth', 2);
xlabel('时间t');
ylabel('病菌数目N');
title('病菌数量随时间的变化');
```
(2) MATLAB代码如下:
```matlab
% 定义微分方程
dydt = @(t, y) r1 * y - r2 * y.^(1/3);
% 初始值
y0 = 166;
% 时间范围
tspan = [6 30];
% 参数
r1 = 0.08;
r2 = 0.00002;
% 求解微分方程
[t, y] = ode45(dydt, tspan, y0);
% 绘制拟合曲线
plot(t, y, 'b-', 'LineWidth', 2);
hold on;
% 绘制观测值散点图
t_obs = [6:1:18 19:2:30];
y_obs = [166 139 136 207 196 244 300 340 317 351 466 613 659 750 870 1044 1184 1375 1515 1824 2123 2436 2856 3297 3874];
scatter(t_obs, y_obs, 'r');
xlabel('时间t');
ylabel('病菌数目N');
title('病菌数量随时间的变化');
legend('拟合曲线', '观测值散点图');
% 计算相关系数的平方
r2 = corr(y, y_obs)^2;
fprintf('相关系数的平方为:%.4f\n', r2);
```
结果图如下:
![微分方程拟合结果图](https://img-blog.csdnimg.cn/20210611174136724.png)
拟合效果很好,相关系数的平方为0.9976,说明拟合曲线与观测值散点图之间的相关性非常强。
阅读全文