《matlab 酵母培养物的离散阻滞增长模型》由会员分享,可在线阅读,更多相关《matlab 酵母培养物的离散阻滞增长模型(7页珍藏版)》请在金锄头文库上搜索。
1、数学建模实验报告1辽宁工程技术大学上机实验报告实验名称酵母培养物的离散阻滞增长模型院系理学院专业理科实验班级姓名 学号 日期2015.4.20实验 目的简述本次实验目的:掌握酵母培养物的阻滞增长差分方程模型的分析与建模方法,并会利用 Matlab 作数值计算与误差分析.实验 准备你为本次实验做了哪些准备:上课听讲,下课复习课本,不明白之处查阅资料。实验 进度本次共有 1 个练习,完成 1 个。实验 总结 日本次实验的收获、体会、经验、问题和教训:教师 评语陈瑞颖:数学建模习题四2具体处理过程和相应实验结果:已知从测量酵母培养物增长的实验收集的数据如表:时刻/h0123456789 生物量/g9
2、.618.329.047.271.1119. 1174.6257. 3350. 7441. 0 时刻/h101112131415161718 生物量/g513. 3559. 7594. 8629.4640.8651. 1655.9659. 6661. 8 实验要求: 1、作图分析酵母培养物的增长数据、增长率、与相对增长率. 2、建立酵母培养物的增长模型. 3、利用线性拟合估计模型参数,并进行模型检验,展示模型拟合与预测效果图. 4、利用非线性拟合估计模型参数,并进行模型检验,展示模型拟合与预测效果图. 5、请分析两个模型的区别,作出模型的评价.实验内容:1、作图分析酵母培养物的增长数据、增长率
3、、与相对增长率. (1)增长数据: 绘制 x 关于 k 的散点图: 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,6 55.9,659.6,661.8; k=0:1:18; plot(k,x,k+) xlabel(时间 k(小时) ylabel(生物量 x(克)) title(x 关于 k 的散点图)0246810121416180100200300400500600700一 一 k一 一 一 )一 一 一 x一 一 一x一 一 k一 一 一 一即 x 关于
4、 k 的散点沿 s 型曲线分布,x 随着 k 单调增加,x 可能趋于稳定值,极限可能存 在。(2)增长率:数学建模实验报告3绘制 x 差值关于 k 的散点图以及绘制 x 差值关于 x 的散点图:xk=8.7,10.7,18.2,23.9,48,55.5,82.7,93.4,90.3,72.3,46.4,35.1,34.6,11.4,10.3,4.8,3.7,2.2,0; k=0:1:18; subplot(1,2,1); plot(k,xk,k+) xlabel(时间 k(小时) ylabel(一阶差分 xk(克)) title(xk 关于 k 的散点图)xk=8.7,10.7,18.2,23
5、.9,48,55.5,82.7,93.4,90.3,72.3,46.4,35.1,34.6,11.4,10.3,4.8,3.7,2.2,0; 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,6 55.9,659.6,661.8; subplot(1,2,2); plot(x,xk,k+) xlabel(生物量 xk(克) ylabel(一阶差分 xk(克)) title(xk 关于 x 的散点图)051015200102030405060708090100一
6、一 k一 一 一 )一 一 一 一 xk一 一 一xk一 一 k一 一 一 一02004006008000102030405060708090100一 一 一 xk一 一 )一 一 一 一 xk一 一 一xk一 一 x一 一 一 一观察 x 差值关于 k 的散点图,难以发现二者的近似而简单的函数关系。观察 x 差值关于 x 的散点图,发现二者近似二次函数关系 xk=-a1*xk2+a2*xk;,实质就是离散阻滞增长模型。(3)相对增长率: 绘制 rk 差值关于 k 的散点图以及绘制 rk 关于 xk 的散点图:rk=0.90625,0.5847,0.62759,0.50636,0.67511,
7、0.46599,0.47365,0.363,0.25749,0.16395,0.09039陈瑞颖:数学建模习题四45,0.62712,0.058171,0.018112,0.016074,0.0073721,0.0056411,0.0033354,0; k=0:1:18; subplot(1,2,1); plot(k,rk,k+) xlabel(时间 k(小时) ylabel(增长率 rk(%)) title(rk 关于 k 的散点图)rk=0.90625,0.5847,0.62759,0.50636,0.67511,0.46599,0.47365,0.363,0.25749,0.16395,
8、0.09039 5,0.62712,0.058171,0.018112,0.016074,0.0073721,0.0056411,0.0033354,0; 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,6 55.9,659.6,661.8; subplot(1,2,2); plot(x,rk,k+) xlabel(生物量 xk(克) ylabel(增长率 rk(%)) title(rk 关于 x 的散点图)0510152000.10.20.30.40.50.
9、60.70.80.91一 一 k一 一 一 )一 一 一 rk一 %一rk一 一 k一 一 一 一020040060080000.10.20.30.40.50.60.70.80.91一 一 一 xk一 一 )一 一 一 rk一 %一rk一 一 x一 一 一 一观察 rk 关于 k 的散点图,难以发现二者的近似而简单的函数关系。观察 rk 关于 xk 的散 点图,发现二者近似线性递减关系 rk=r*(1-xk/N); 由 rk=(x(k+1)-x(k)/x(k),代入上式,建立离散阻滞增长模型。2、建立酵母培养物的增长模型.在营养有限的环境下,假设用前差公式计算的增长率 rk 随着生物量 xk
10、的增加而线性递减,即rk= rk=(x(k+1)-x(k)/x(k) =r*(1-x(k)/N),k=0,1,2.根据模型假设,即可建立离散阻滞增长模型x(k+1)= x(k)+r* x(k)* (1-x(k)/N),k=0,1,2,数学建模实验报告53、利用线性拟合估计模型参数,并进行模型检验,展示模型拟合与预测效果图.首先,根据 rk 和 xk 的数据拟合出 r(k)=r*(1-x(k)/N)的参数 r 和 N,拟合效果图如1.(3)-1 图所示。然后根据观测数据直接取 x0=9.6,用循环语句按照x(k+1)= x(k)+r* x(k)* (1-x(k)/N),k=0,1,2,进行迭代计
11、算,算出第 018 小时酵母生物量的模拟值,并计算误差平方和,绘制模拟效果图和模拟误差图。用 matlab 编程如下:t=0: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:18x1(k+1)=x1(k)+r1*x1(k)*(1-x1(k
12、)/N1);endresd1=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((1)离散阻滞增长模型的模拟效果图,线性拟合)subplot(2,1,2),plot(t,resd1,k.,-1,19,0,0,k)axis(-1,19,-40,40),legend(观测值,模拟值,4)xlabel(时间 k(小时)),ylabel(模拟误差)title((2)离散阻滞增长模型的模拟误
13、差,线性拟合)结果:r1 = 0.6693N1 = 635.7055陈瑞颖:数学建模习题四6sse1 = 6.2932e+030246810121416180200400600一 一 k一 一 一 一一 一 一 xk一 一 一一 1一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一一 一 一 一 一 一024681012141618-40-2002040一 一 k一 一 一 一一 一 一 一一 2一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一一 一 一 一 一 一4、利用非线性拟合估计模型参数,并进行模型检验,展示模型拟合与预测效果图.
14、用 matlab 编程如下: 函数文件函数文件 fun_3_4_2.m: function y = fun_3_4_2(b,x) y=zeros(size(x); y(1)=b(3); for k=2:length(x)y(k)=y(k-1)+b(1).*y(k-1).*(1-y(k-1)./b(2); end脚本:脚本: t=0: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,6 55.9,659.6,661.8; a2,resd2=nlinfit(
15、t,x, fun_3_4_2,0.5,660,9.6) sse=sum(resd2.2) subplot(2,1,1) plot(t,x,k*,t,fun_3_4_2(a2,t),ks) axis(-1,19,0,670) legend(观测值,模拟值,4) xlabel(时间 k(小时)),ylabel(生物量 x_k(克)) title((1)离散阻滞增长模型的模拟效果图,非线性拟合) subplot(2,1,2) plot(t,resd2,k.,-1,19,0,0,k) axis(-1,19,-40,40)数学建模实验报告7xlabel(时间 k(小时)),ylabel(模拟误差) title((2)离散阻滞增长模型的模拟误差,非线性拟合) 结果如下: a2 = 0.5604 652.4634 14.9997 resd2 = -5.3997 -4.9118 -6.7562 -7.4948 -11.6748 -4.1746 -4.7021 5.1341 11.8406 10.8727 1.0384 -14.2442 -17.8488 -4.1982 -3.0640 2.4807 5.1393 7.8876 9.6673 sse = 1.3535e+030246810121416180200400600一 一 k一 一 一 一一 一 一