matlab 酵母培养物的离散阻滞增长模型
matlab 杂质扩散系数程序

matlab 杂质扩散系数程序在MATLAB中,可以使用Fick's second law来模拟杂质的扩散过程。
以下是一个简单的MATLAB程序,用于计算杂质在一维空间中的扩散系数。
matlab.% 定义参数。
D = 1; % 扩散系数。
L = 10; % 空间长度。
t = 5; % 时间。
N = 100; % 离散点数量。
dx = L/N; % 离散步长。
dt = 0.01; % 时间步长。
% 初始化浓度分布。
C = zeros(N,1);C(1) = 1; % 初始浓度。
C_new = zeros(N,1);% 进行扩散计算。
for k = 1:t/dt.for i = 2:N-1。
C_new(i) = C(i) + Ddt/dx^2(C(i+1)-2C(i)+C(i-1)); end.C = C_new;end.% 可视化结果。
x = 0:dx:L-dx;plot(x,C);xlabel('Position');ylabel('Concentration');title('Diffusion of Impurity');这个简单的程序通过离散化空间和时间来模拟杂质的扩散过程。
程序首先定义了扩散系数D、空间长度L、时间t、离散点数量N等参数。
然后初始化了浓度分布,并通过Fick's second law进行迭代计算,最后通过MATLAB的绘图函数可视化了扩散过程的结果。
当然,实际的杂质扩散模拟可能涉及到更复杂的情况,比如多维空间、非均匀材料等,这时候需要更复杂的模型和算法来进行模拟。
希望这个简单的程序能够帮助你入门MATLAB中的杂质扩散模拟。
3.4 离散阻滞增长模型及其应用

S 型曲线说明一阶差分 xk xk 1 xk 随着 k 或 xk (k 0,1, ,17) 的增加而逐渐增大然后逐渐减小. 计算 xk 并填入表 3.2 的第 3 列,由计算结果可 发现 xk 确实随着 k 或 xk 的增加而先递增、然后递减.
3.4.2 酵母培养物的增长 (二)问题分析
xk x0 1 r , k 0,1, 2,
k
(3.2.3)
如果 r>0,种群数量将按指数规律随时间无限增长.
3.4.1 离散阻滞增长模型
由于受有限的资源环境的制约,种群数量不可能 无限增长,种群数量的增长率也不可能一直保持不 变,而是会随着种群数量的增加而逐渐减小. 有限的 资源环境对种群数量增长的制约作用即“阻滞作用” . 假设由于受有限的资源环境的制约,用前差公式 计算的增长率随着种群数量的增加而线性递减,即 xk 1 xk xk (3.4.3) r 1 , k 0,1, 2, xk N 模型假设(3.4.3)式即导出离散阻滞增长模型.
3.4.1 离散阻滞增长模型
离散阻滞增长模型就是一阶非线性差分方程 xk (3.4.1) xk rxk 1 , k 0,1, 2, N xk 即 (3.4.2) xk 1 xk rxk 1 , k 0,1, 2, N 分别记 x 和 y 是同一时段的种群数量和用前差公 式计算的增长率,则在 x~y 直角坐标平面内直线方程 (3.4.4) y r (1 x N ) 的纵截距为 r,横截距为 N(见图 3.6).
图 3.7
1 0
1 0
0 50 100 2<r<2.449,0<x 0<N,x k呈 2周 期 轨 道
数学建模与数学实验:7.7差分形式的阻滞增长模型

数值计算结果
xn1 bxn (1 xn )
初值 x0=0.2 b <3, x x* 1 1
b b=3.3, x两个 极限点
b=3.45, x4个 极限点
b=3.55, x8个 极限点
倍周期收敛——x*不稳定情况的进一步讨论
b 3.3 xn x*
子序列 x2n x1*, x2n1 x2*
• b=3.3; • >> x=zeros(1,1500); • >> x(1)=0.2; • >> for i=1:1499 • x(i+1)=b*x(i).*(1-x(i)); • end • >> u=zeros(1,1500); • >> u(1)=x(1); • >> for i=1:1499 • u(i+1)=b*u(i).*(1-u(i)); • end • >> v=u(1:100); • >> plot(v,'.')
f (x*) 1
1 b 3
x* 稳定
x0
(1) 1 b 2
x* 11/b 1/ 2
y
yx
ห้องสมุดไป่ตู้b/4
x(n 单调增) x*
x
y f (x)
1
0
x1 x2x* 1/ 2
1x
x0
(2) 2 b 3
x* 11/b 1/ 2
y
yx
b/4
(3) b 3
y
yx
b/4
y f (x)
0 x0
x1 1/ 2
f (x) b(1 2x) ( f (2) (x)) xx1*,x2* b2 (1 2x1* )(1 2x2* )
离散阻滞增长模型及其应用ppt

• 其中 a、b 与 c 为实数常数 ,且a > 0. • 应用:在自然科学、社会科学、数学以及工程学等
领域都有高斯函数旳身影,这方面旳例子涉及: • 在统计学与概率论中,高斯函数是正态分布旳密
度函数,根据中心极限定理它是复杂总和旳有限 概率分布。
22
用期望值及方差作为参数表达旳 高斯曲线
14
这个坐标系后来被称为H-D曲线,也称为特征曲线, 特征曲线描述旳是胶片显影后不同曝光量与相应密
度旳关系。
15
3.4.2 酵母培养物旳增长
1. 问题提出
16
图3.8
17
3.4.2 酵母培养物旳增长
2. 问题分析
18
19
3.4.2 酵母培养物旳增长
2. 问题分析
20
图3.9
21
高斯函数
5. 模型求解和模型检验
36
3.4.2 酵母培养物旳增长
5. 模型求解和模型检验
37
3.4.2 酵母培养物旳增长
5. 模型求解和模型检验
38
3.4.2 酵母培养物旳增长
5. 模型求解和模型检验
39
图3.12
40
3.4.2 酵母培养物旳增长
5. 模型求解和模型检验
41
3.4.3 人口预报
1. 问题提出
3. 模型一
51
图3.14
52
3.4.3 人口预报
3. 模型一
53
3.4.3 人口预报
4. 模型二
54
3.4.3 人口预报
4. 模型二
55
3.4.3 人口预报
4. 模型二
56
3.4.3 人口预报
matlab遗传算法工具箱关于离散变量优化算例

1. 引言遗传算法是一种模拟自然选择与遗传机制的优化算法,被广泛应用于离散变量优化问题的求解。
在Matlab软件中,有专门的工具箱可以支持遗传算法的实现与应用,极大地方便了工程技术人员进行离散变量优化问题的研究与应用。
本文将介绍Matlab遗传算法工具箱在离散变量优化算例中的应用,并通过具体案例来展示其实际求解效果。
2. Matlab遗传算法工具箱介绍Matlab遗传算法工具箱是Matlab软件的一个重要工具箱,它提供了丰富的遗传算法函数和工具,方便用户进行遗传算法的实现和应用。
在离散变量优化问题的求解中,用户可以利用工具箱提供的函数对问题进行建模、参数设置、运行算法等操作,从而快速高效地求解问题。
3. 离散变量优化算例为了更好地展示Matlab遗传算法工具箱在离散变量优化中的应用效果,我们选取了一个经典的离散变量优化问题作为算例,具体问题描述如下:设有一组零件需要进行装配,零件的形状和尺寸有多种选择。
每种零件的装配工艺和成本不同,需要选择最佳的零件组合方案来满足装配要求并使总成本最低。
假设可供选择的零件种类有n种,每种零件有m个备选方案,且装配每种零件的成本已知。
问应选择哪些零件及其具体方案才能使得总装配成本最低?4. Matlab遗传算法工具箱的应用为了利用Matlab遗传算法工具箱求解上述离散变量优化问题,我们可以按照以下步骤进行操作:1) 利用Matlab的数据处理工具,将零件的备选方案数据以矩阵的形式导入Matlab环境;2) 利用工具箱提供的函数对遗传算法的参数进行设置,例如选择交叉方式、变异方式、群体大小、迭代次数等;3) 利用工具箱提供的函数对离散变量优化问题进行编码和解码,以便算法能够对离散变量进行操作;4) 利用工具箱提供的函数编写适应度函数,用于评价每个个体的适应度;5) 利用工具箱提供的主函数运行遗传算法,获取最优解及其对应的总装配成本。
5. 案例求解结果分析通过上述步骤,我们在Matlab环境中成功应用遗传算法工具箱求解了离散变量优化问题。
数学建模作业

习 题 11. 请编写绘制以下图形的MA TLAB 命令,并展示绘得的图形.(1) 221x y +=、224x y +=分别是椭圆2241x y +=的内切圆和外切圆. (2) 指数函数x y e =和对数函数ln y x =的图像关于直线y=x 对称. (3) 黎曼函数1, (0)(0,1)0 , (0,1), 0,1q x p q q x y x x x =>∈⎧=⎨∈=⎩当为既约分数且当为无理数且或者 的图像(要求分母q 的最大值由键盘输入).3. 两个人玩双骰子游戏,一个人掷骰子,另一个人打赌掷骰子者不能掷出所需点数,输赢的规则如下:如果第一次掷出3或11点,打赌者赢;如果第一次掷出2、7或12点,打赌者输;如果第一次掷出4、5、6、8、9或10点,记住这个点数,继续掷骰子,如果不能在掷出7点之前再次掷出该点数,则打赌者赢. 请模拟双骰子游戏,要求写出算法和程序,估计打赌者赢的概率. 你能从理论上计算出打赌者赢的精确概率吗?请问随着试验次数的增加,这些概率收敛吗?4. 根据表1.14的数据,完成下列数据拟合问题:(1) 如果用指数增长模型0()0()e r t t x t x -=模拟美国人口从1790年至2000年的变化过程,请用MATLAB统计工具箱的函数nlinfit 计算指数增长模型的以下三个数据拟合问题:(i) 取定0x =3.9,0t =1790,拟合待定参数r ;(ii) 取定0t =1790,拟合待定参数0x 和r ; (iii) 拟合待定参数0t 、0x 和r .要求写出程序,给出拟合参数和误差平方和的计算结果,并展示误差平方和最小的拟合效果图.(2) 通过变量替换,可以将属于非线性模型的指数增长模型转化成线性模型,并用MA TLAB 函数polyfit 进行计算,请说明转化成线性模型的详细过程,然后写出程序,给出拟合参数和误差平方和的计算结果,并展示拟合效果图.(3) 请分析指数增长模型非线性拟合和线性化拟合的结果有何区别?原因是什么?(4) 如果用阻滞增长模型00()00()()er t t N x x t x N x --=+-模拟美国人口从1790年至2000年的变化过程,请用MA TLAB 统计工具箱的函数nlinfit 计算阻滞增长模型的以下三个数据拟合问题:(i) 取定0x =3.9,0t =1790,拟合待定参数r 和N ;(ii) 取定0t =1790,拟合待定参数0x 、r 和N ; (iii) 拟合待定参数0t 、0x 、r 和N .要求写出程序,给出拟合参数和误差平方和的计算结果,并展示误差平方和最小的拟合效果图.表1.14 美国人口统计数据(百万人)人口 3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 年份1900 1910 1920 1930 1940 1950 1960 1970 1980 1990 2000 人口76.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5 251.4 281.4习题 21. 继续考虑第2.2节“汽车刹车距离”案例,请问“两秒准则”和“一车长度准则”一样吗?“两秒准则”是否足够安全?对于安全车距,你有没有更好的建议?4. 继续考虑第2.3节“生猪出售时机”案例,假设在第t 天的生猪出售的市场价格(元/公斤)为2()(0)p t p gt ht =-+ (2.4.1) 其中h 为价格的平稳率,取h =0.0002. 其它模型假设和参数取值保持不变.(1) 试比较(2.4.1)式与(2.3.1)式,解释新的假设和原来的假设的区别与联系. (2) 在新的假设下求解最佳出售时机和多赚的纯利润.(3) 做灵敏度分析,分别考虑h 对最佳出售时机和多赚的纯利润的影响. (4) 讨论模型关于价格假设的强健性.5. 继续考虑第2.3节“生猪出售时机”案例,假设在第t 天的生猪体重(公斤)为()000()mtm w w w t w w w e α-=+- (2.4.2) 其中0(0)90w w ==(公斤),270m w =(公斤),其它模型假设和参数取值保持不变.(1) 试比较(2.4.2)式与(2.3.2)式,解释新的假设和原来的假设的区别与联系(提示:说明当α (α>0)取何值时,在t =0时可以保持(0)1w r '==;说明当t 增大时,猪的体重会如何变化).(2) 在新的假设下求解最佳出售时机和多赚的纯利润.(3) 参数m w 代表猪长成时的最终重量,对m w 做灵敏度分析,分别考虑m w 对最佳出售时机和多赚的纯利润的影响.(4) 讨论模型关于生猪体重假设的强健性.习 题 34. 某成功人士向学院捐献20万元设立优秀本科生奖学金,学院领导打算将这笔捐款以整存整取一年定期的形式存入银行,第二年一到期就支取,取出一部分作为当年的奖学金,剩下的继续以整存整取一年定期的形式存入银行……请你研究这个问题,并向学院领导写一份报告.5. 有一位老人60岁时将养老金10万元以整存零取方式(指本金一次存入,分次支取本金的一种储蓄)存入,从第一个月开始每月支取1000元,银行每月初按月利率0.3%把上月结余额孳生的利息自动存入养老金. 请你计算老人多少岁时将把养老金用完?如果想用到80岁,问60岁时应存入多少钱?10. 继续考虑第3.4.3小节“人口预报”案例,用前差公式计算美国人口的年增长率,假设人口年增长率是人口数量的二次函数,重新建模、求解和分析.习题 41. 请估算第4.1.6小节“排污量的估计”案例中氨氮污染物的排放量.2. 继续考虑第4.1.7小节“饮酒驾车”案例,大李在喝了3瓶啤酒后多长时间内驾车就会违反新的国家标准?分别在以下两种情况下回答:(1) 酒是在很短时间内喝的;(2) 酒是在较长一段时间(比如2小时)内喝的.3. 继续考虑第3.4.2小节“酵母培养物的增长”案例,建立微分方程模型,模拟酵母培养物的增长.习题 62. 13名儿童参加了一项睡眠时间(分钟)与年龄(岁)关系的调查,表6.18中的睡眠时间是根据连续3天记录的每天睡眠时间的平均值得到的. 请建立和求解回归模型,解释得到的结果,给出10岁儿童的平均睡眠时间及预测区间.3. 水的沸点与大气压强有密切关系,表6.19中包含了17次试验中所测得的水的沸点(华氏温度)和大气压强(水银英寸),请建立回归模型估计沸点和压强之间的关系,并给出当沸点为201.5F 时压强的预测值及预测区间.习 题 71. 对于不允许缺货的确定性静态库存模型,做灵敏度分析,讨论参数1p 、2p 和r 的微小变化对最优订货策略的影响.2. 某配件厂为装配线生产若干种部件. 每次轮换生产不同的部件时,因更换设备要付生产准备费(与生产数量无关). 同一部件的产量大于需求时,因积压资金、占用仓库要付库存费. 今已知某一部件的日需求量100件,生产准备费5000元,库存费每日每件1元. 如果生产能力远大于需求,并且不允许出现缺货,请制定最优生产计划.3. 某商场把销售所剩的空纸皮箱压缩并打成包准备回收,每天能产生5包,在商场后院存放的费用是每包每天10元. 另一家公司负责将这些纸包运送到回收站,要收取固定费用1000元租装卸车,外加运输费每包100元. 请制定运送纸包到回收站的最优策略.6. 继续考虑例7.2.1,约束条件保持不变,将每吨内、外墙涂料的利润分别修改为5千元和4千元,请分别用图解法和单纯形法求解.。
基于matlab求解对流弥散衰减方程

基于matlab求解对流弥散衰减方程文章标题:基于Matlab求解对流弥散衰减方程概述:在科学研究、工程设计和环境监测等领域,对流弥散衰减方程是一个常用的数学模型。
它描述了物质在流体中的输运过程,并考虑了对流、弥散和衰减等因素。
本文将介绍如何使用Matlab软件来求解对流弥散衰减方程,并探讨其应用和优化方法。
在阅读本文之前,建议读者对微分方程、数值解法和Matlab编程有基本的了解。
一、对流弥散衰减方程的数学表达式对流弥散衰减方程描述了物质浓度或其它相关物理量随时间和空间的变化规律。
一般形式的对流弥散衰减方程可以表示为:\[\frac{{\partial C}}{{\partial t}} = D\frac{{\partial^2 C}}{{\partialx^2}} - v\frac{{\partial C}}{{\partial x}} - kC\]其中,\(C\)表示物质浓度,\(t\)表示时间,\(x\)表示空间位置,\(D\)表示弥散系数,\(v\)表示流速,\(k\)表示衰减系数。
该方程描述了物质浓度随时间和空间的变化,分别受到弥散、对流和衰减的影响。
二、使用Matlab求解对流弥散衰减方程的步骤1. 建立数值模型在使用Matlab求解对流弥散衰减方程之前,首先要建立数值模型。
根据实际问题确定边界条件、初值条件和方程的参数。
2. 离散化方程由于对流弥散衰减方程是一个偏微分方程,需要将其离散化为差分方程。
可以使用有限差分方法或有限元方法进行离散化。
3. 制定求解策略根据离散化的差分方程,选择合适的数值解法进行求解。
常用的数值解法包括显式方法、隐式方法和Crank-Nicolson方法等。
4. 编写Matlab程序根据求解策略,编写Matlab程序来求解对流弥散衰减方程。
利用Matlab的矩阵运算和数值计算函数,可以快速实现数值求解。
5. 求解方程并分析结果使用编写好的Matlab程序,对对流弥散衰减方程进行数值求解,并得到数值解。
matlab指数增长和阻滞增长拟合代码

资讯类时间段原始数据指数增长模型阻滞增长模型1500万{量总号众公生活类时间段原始数据指数增长模型阻滞增长模型万{量总号众公娱乐类原始数据指数增长模型阻滞增长模型其他ooOooO321阻滞增长模型2 4 6810 12 14时间段原始数据指数增长模型万{量总号众公万{量总号众公代码:t=1:13;x=[,,,,,,,,,,,,];c=[,,,,,,,,,,,,];d=[,,,,,,,,,,,,];e=[,,,,,,,,,,,,]; %指数增长模型y=log(x);cc=log(c);dd=log(d);ee=log(e);a=polyfit(t,y,1);h= polyfit(t,cc,1); i= polyfit(t,dd,1); k= polyfit(t,ee,1); r=a(1); r2=h(1);r3=i(1);r4=k(1);x0=exp(a(2)); x1=x0*exp(r*t);c0=exp(h(2));c1=c0*exp(r2*t);d0=exp(i(2));d1=d0*exp(r3*t);e0=exp(k(2));e1=e0*exp(r4*t);%阻滞增长模型f=@(a,t) a(1)./(1+(a(1)/x(1)-1)*exp(-a(2)*(t-t(1))));f=@(h,t) h(1)./(1+(h(1)/c(1)-1)*exp(-h(2)*(t-t(1))));f=@(i,t) i(1)./(1+(i(1)/d(1)-1)*exp(-i(2)*(t-t(1))));f=@(k,t) k(1)./(1+(k(1)/e(1)-1)*exp(-k(2)*(t-t(1))));a=lsqcurvefit(f,[800 1],t,x);h=lsqcurvefit(f,[800 1],t,c);i=lsqcurvefit(f,[800 1],t,d);k=lsqcurvefit(f,[800 1],t,e);figure(1);subplot(2,1,1);plot(t,x,'o',t,x1,'r:.');x2=f(a,t);plot(t,x,'o',t,x1,'r:.',t,x2,'g*--')legend(' 原始数据',' 指数增长模型',' 阻滞增长模型',2) xlabel 时间段ylabel 公众号总量(万)title(' 资讯类');figure(1)subplot(2,1,2);plot(t,c,'o',t,c1,'r:.');c2=f(h,t);plot(t,c,'o',t,c1,'r:.',t,c2,'g*--')legend(' 原始数据',' 指数增长模型',' 阻滞增长模型',2) xlabel 时间段ylabel 公众号总量(万)title(' 生活类');figure(2) subplot(2,1,1);plot(t,d,'o',t,d1,'r:.');d2=f(i,t);plot(t,d,'o',t,d1,'r:.',t,d2,'g*--')legend(' 原始数据',' 指数增长模型',' 阻滞增长模型',2)xlabel 时间段ylabel 公众号总量(万)title(' 娱乐类');figure(2)subplot(2,1,2);plot(t,e,'o',t,e1,'r:.');e2=f(k,t);plot(t,e,'o',t,e1,'r:.',t,e2,'g*--')legend(' 原始数据',' 指数增长模型',' 阻滞增长模型',2) xlabel 时间段ylabel 公众号总量(万)title(' 其他');(jeneral model;cf_ (st) = Ml/ (l-HjO*erp (-teO* 1)))'with 9&9S conf i den 匚E bounds);龙254 (11. 73, 4497)164 (66. 7L 26L 1) 0. 1S2 (lO. 1411, 0-2228)ell =General model;elf _(K ) = 8.1/ (1+bl *B3tp (-kl* (x —1)))Coefficient 3■ (with 9&W confidence bourids)al =1FS. 1 (129.鸟 1S6.4) bl = 47. 52 (12. 53, 62.36) kl 二0.2451(0.1779, 0.3143)k(x 1)Coefficient saO =bO -kO =General mode1:c2f_ bt) = a2/ (l+b2*exp (-k2* Cx~ l)i )95% confidence bounds):(45.75, 1577)(356-3, 986^7)(Q. 190^ 0.2724)General mode1:c3f _(x) = aS/(l+b3*exp(j k3+(x_ i)))Coftff icierrt r (urith 95飯conf idtriee bounds):a3 = 1365(-5500, 82旳)b3 =301. 5(-971. 157E)=0.166(0.08979, 0.2423)c4f_ =General model:c4f_ Cx)=a4/ (l+"b4*exp (-k4w (K T j ) jCoefficients (vilh95馬tcunds):制= 2.459&+06(-2. 293^+10, 2.294&<10)b4 二9. S88e+D5(-9.. 22e-H)9, 9. 222e-tO9)k4 =0. 174(0. 1157, D. 2314)各个领域公众号对比图资讯类生活类C?f00700600500400300200T—4^5程序代码:x=[1:2:26]';------ 公众号总量娱乐类其他类Coefficient s (応th a2 =811.4b2 = 6710. 2313b=[,,,,,,,,,,,,]';c=[,,,,,,,,,,,,]';d=[,,,,,,,,,,,,]';e=[,,,,,,,,,,,,]';st_ = [500 30 ];ft_ = fittype('a0/(1+b0*exp(-k0*(x-1)))',...'dependent',{'y'},'independent',{'x'},...'coefficients',{'a0', 'b0','k0'});cf_ = fit(x,y,ft_,'Startpoint',st_)plot(cf_,'fit',;hold on,plot(x,y,'ro') f1t_ = fittype('a1/(1+b1*exp(-k1*(x-1)))',...'dependent',{'b'},'independent',{'x'},...'coefficients',{'a1', 'b1','k1'});c1f_ = fit(x,b,f1t_,'Startpoint',st_)plot(c1f_,'fit',;hold on,plot(x,b,'g*') f2t_ = fittype('a2/(1+b2*exp(-k2*(x-1)))',...'dependent',{'c'},'independent',{'x'},...'coefficients',{'a2', 'b2','k2'});c2f_ = fit(x,c,f2t_,'Startpoint',st_)plot(c2f_,'fit',;hold on,plot(x,c,'b+') f3t_ = fittype('a3/(1+b3*exp(-k3*(x-1)))',...'dependent',{'d'},'independent',{'x'},...'coefficients',{'a3', 'b3','k3'});c3f_ = fit(x,d,f3t_,'Startpoint',st_)plot(c3f_,'fit',;hold on,plot(x,d,'*') f4t_ = fittype('a4/(1+b4*exp(-k4*(x-1)))',...'dependent',{'e'},'independent',{'x'},...'coefficients',{'a4', 'b4','k4'}); c4f_ = fit(x,e,f4t_,'Startpoint',st_)plot(c4f_,'fit',;hold on,plot(x,e,'yo')。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
辽宁工程技术大学上机实验报告具体处理过程和相应实验结果:已知从测量酵母培养物增长的实验收集的数据如表:时刻/h 0 123 4 5 678 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 161718 生物量/g513.3559.7594.8629.4640.8651.1655.9 659.6661.8实验要求:1、作图分析酵母培养物的增长数据、增长率、与相对增长率.2、建立酵母培养物的增长模型.3、利用线性拟合估计模型参数,并进行模型检验,展示模型拟合与预测效果图.4、利用非线性拟合估计模型参数,并进行模型检验,展示模型拟合与预测效果图.5、请分析两个模型的区别,作出模型的评价. 实验内容:1、作图分析酵母培养物的增长数据、增长率、与相对增长率. (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,655.9,659.6,661.8]; k=0:1:18; plot(k,x,'k+')xlabel('时间k (小时)') ylabel('生物量x (克)') title('x 关于k 的散点图')时间k (小时)生物量x (克)x 关于k 的散点图即x 关于k 的散点沿s 型曲线分布,x 随着k 单调增加,x 可能趋于稳定值,极限可能存在。
(2)增长率:绘制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.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,655.9,659.6,661.8]; subplot(1,2,2); plot(x,xk,'k+')xlabel('生物量xk (克)') ylabel('一阶差分xk (克)') title('xk 关于x 的散点图')时间k (小时)一阶差分x k (克)xk 关于k 的散点图生物量xk (克)一阶差分x k (克)xk 关于x 的散点图观察x 差值关于k 的散点图,难以发现二者的近似而简单的函数关系。
观察x 差值关于x 的散点图,发现二者近似二次函数关系 △ xk=-a1*xk^2+a2*xk;,实质就是离散阻滞增长模型。
(3)相对增长率:绘制rk 差值关于k 的散点图以及绘制rk 关于xk 的散点图:rk=[0.90625,0.5847,0.62759,0.50636,0.67511,0.46599,0.47365,0.363,0.25749,0.16395,0.090395,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,0.090395,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,655.9,659.6,661.8]; subplot(1,2,2); plot(x,rk,'k+')xlabel('生物量xk (克)') ylabel('增长率rk (%)') title('rk 关于x 的散点图')时间k (小时)增长率r k (%)rk 关于k 的散点图生物量xk (克)增长率r k (%)rk 关于x 的散点图观察rk 关于k 的散点图,难以发现二者的近似而简单的函数关系。
观察rk 关于xk 的散点图,发现二者近似线性递减关系rk=r*(1-xk/N);由rk=(x(k+1)-x(k))/x(k),代入上式,建立离散阻滞增长模型。
2、建立酵母培养物的增长模型.在营养有限的环境下,假设用前差公式计算的增长率rk 随着生物量xk 的增加而线性递减,即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,…3、利用线性拟合估计模型参数,并进行模型检验,展示模型拟合与预测效果图.首先,根据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,…进行迭代计算,算出第0~18小时酵母生物量的模拟值,,并计算误差平方和,绘制模拟效果图和模拟误差图。
用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,6 55.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)/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)离散阻滞增长模型的模拟误差,线性拟合')结果:r1 = 0.6693N1 = 635.7055sse1 = 6.2932e+03200400600时间k (小时)生物量x k(克)2040时间k (小时)模拟误差(2)离散阻滞增长模型的模拟误差,线性拟合4、利用非线性拟合估计模型参数,并进行模型检验,展示模型拟合与预测效果图. 用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,655.9,659.6,661.8];[a2,resd2]=nlinfit(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])xlabel('时间k (小时)'),ylabel('模拟误差')title('(2)离散阻滞增长模型的模拟误差,非线性拟合')结果如下:a2 = 0.5604 652.4634 14.9997resd2 = -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+03200400600时间k (小时)生物量x k(克)2040时间k (小时)模拟误差(2)离散阻滞增长模型的模拟误差,非线性拟合5、请分析两个模型的区别,作出模型的评价.方法一能够用离散阻滞增长模型模拟酵母培养生物量的变化趋势,前半段的误差很小,但后半段的误差很大,误差平方和很大。