MatLab 酵母培养物的离散阻滞增长模型的代码解释?

已知从测量酵母培养物增长的实验收集的数据如表:

时刻/h 0 1 2 3 4 5 6 7 8 9

生物量/g 9.6 18.3 29.0 47.2 71.1 119.1 174.6 257.3 350.7 441.0

时刻/h 10 11 12 13 14 15 16 17 18

生物量/g 513.3 559.7 594.8 629.4 640.8 651.1 655.9 659.6 661.8

实验要求:建立酵母培养物的增长模型,利用线性拟合估计模型参数,并进行模型检验,展示模型拟合与预测效果图.

实验代码:

t=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18];
x=[9.6,18.3,29.0,47.2,71.1,119.1,174.6,257.3,350.7,441.0,513.3,559.7,594.8,629.4,640.8,651.1,655.9,659.6,661.8];
r=(x(2:19)-x(1:18))./x(1:18);
a1=polyfit(x(1:18),r,1);
r1=a1(2),N1=-a1(2)/a1(1)
x1=x(1);
for k=1:18
        x1(k+1)=x1(k)+r1*x1(k)*(1-x1(k)/N1);
end
resd1=x-x1;sse1=sum(resd1.^2)
subplot(2,1,1),plot(t,x,'k*',t,x1,'ks')
axis([-1,19,0,670]),legend('观测值 ','模拟值 ',4)
xlabel('时间 k(小时)'),ylabel('生物量 x_k(克)')
title('离散阻滞增长模型的线性模拟效果图 ')
subplot(2,1,2),plot(t,resd1,'k.',[-1,19],[0,0],'k')
axis([-1,19,-40,40])
xlabel('时间k(小时)'),ylabel('模拟误差')
title('离散阻滞增长模型的线性模拟误差')

a1=polyfit(x(1:18),r,1);

r1=a1(2),N1=-a1(2)/a1(1)

我的疑惑在于这里使用多项式拟合的参数为什么是x(1:18)和r,而不是t和x?多项式的最高次数取1,意思是酵母培养物的生物量与增长率的关系用一次函数来拟合?为什么?可以是二次吗?三次吗?如果可以,r1和N1又该怎么算?先谢谢大家!

ps:r~生物量的固有增长率 N~生物量的最大容量

https://wenku.baidu.com/view/632134b11711cc7931b716fa.html