数学建模malab第四章作业

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数学建模习题4作业第2题(1)程序如下:a=[2.0079,0.1855,2.0079*155.79/(2.0079-0.1855)];f=@(t)a(3).*(exp(-a(2).*t)-exp(-a(1).*t));g=@(t)-f(t);h_1=@(t)f(t)-20;h_2=@(t)f(t)-80;[smax,fval]=fminbnd(g,0,20)x1=fzero(h_1,[0,smax])x2=fzero(h_2,[0,smax])x3=fzero(h_1,[smax,20])x4=fzero(h_2,[smax,20])运行结果:smax=1.3069fval=-122.2501x1=0.0689x2=0.3805x3=11.5887x4=4.1125(2)程序如下:a=[2.0079,0.1855,3/4*103.86,0,0,0,0,0,0,0];a(4)=a(3)/(a(1)-a(2));a(5)=a(1)*a(4)/a(2);a(6)=a(3)/a(2);a(7)=a(3)*(exp(2*a(1))-1);a(8)=a(4)*exp(-2*a(1))-a(5)*exp(-2*a(2))+a(6);a(9)=a(7)/(a(1)-a(2));a(10)=a(8)*exp(2*a(2))+a(9)*exp(2*(a(2)-a(1)));f=@(t)a(4).*exp(-a(1).*t)-a(5).*exp(-a(2).*t)+a(6);g=@(t)a(10).*exp(-a(2).*t)-a(9).*exp(-a(1).*t);f1=@(t)-f(t);g1=@(t)-g(t);[smax,fval]=fminbnd(f1,0,2)[smax,fval]=fminbnd(g1,0,20)h_1=@(t)f(t)-20;h_2=@(t)f(t)-80;h_3=@(t)g(t)-20;h_4=@(t)g(t)-80;x1=fzero(h_1,[0,2])x2=fzero(h_2,[0,2])x3=fzero(h_3,[2,20])x4=fzero(h_4,[2,20])运行结果:smax=2.0000fval=-101.4297smax=2.6327fval=-115.7418x1=0.6233x2=1.6366x3=12.6196x4=5.1412程序如下:a=[2.0079,0.1855,3/4*103.86,0,0,0,0,0,0,0];a(4)=a(3)/(a(1)-a(2));a(5)=a(1)*a(4)/a(2);a(6)=a(3)/a(2);a(7)=a(3)*(exp(2*a(1))-1);a(8)=a(4)*exp(-2*a(1))-a(5)*exp(-2*a(2))+a(6);a(9)=a(7)/(a(1)-a(2));a(10)=a(8)*exp(2*a(2))+a(9)*exp(2*(a(2)-a(1)));h=@(t)(2.0079*155.79/(2.0079-0.1855)).*(exp(-a(2).*t)-exp(-a(1).*t));f=@(t)a(4).*exp(-a(1).*t)-a(5).*exp(-a(2).*t)+a(6);g=@(t)a(10).*exp(-a(2).*t)-a(9).*exp(-a(1).*t);x1=linspace(0,2,300);x2=linspace(2,20,3000);x3=linspace(0,20,3300);plot([2],[f(2)],'k.',x3,h(x3),'k:',x2,g(x2),'k',x1,f(x1),'k')legend('函数的分段点','2小时内匀速喝三瓶啤酒','很短时间内喝三瓶啤酒')运行结果:02468101214161820-20020406080100120140函数的分段点2小时内匀速喝三瓶啤酒很短时间内喝三瓶啤酒3.继续考虑3.4.2小节的“酵母培养物的增长”案例,建立微分方程模型,模拟酵母培养物的增长。解:为了刻画酵母培养物的阻滞增长,在微分方程()dxtxdt中,假设在时刻t酵母培养物增长率()t为相应的酵母培养物的数量()xt的线性递减函数,即()(1()/)trxtN,其中参数0r,称为酵母培养物固有增长率,参数0N,称为酵母培养物最大容量,另外,()Nxt称为酵母培养物数量尚未实现部分,1()/xtN是酵母培养物尚未实现部分占最大容量的比例,()(1()/)trxtN表明,酵母培养物与人口尚未实现部分成正比。将模型假设()(1()/)trxtN代入()dxtxdt中,得到阻滞增长方程,(1)dxxrxdtN,用分离变量法容易得到满足初始条件00()xtx的解为00()00()()rttNxxtxNxe%b(1)=r,b(2)=N,b(3)=0x,程序如下: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];f=@(b,t)b(2).*b(3)./(b(3)+(b(2)-b(3)).*exp(-b(1).*(t-0)));[b1,r1]=nlinfit(t(1:19),x(1:19),f,[0.5,660,9.6])sse1=sum(r1.^2)subplot(2,1,1),plot(t,x,'k*',0:.01:18,f(b1,0:.01:18),'k')axis([-1,19,0,670]),legend('观测值','模拟值',4)xlabel('时间k(小时)'),ylabel('生物量x_k(克)')title('阻滞增长方程模拟酵母培养物的增长的模拟效果图')subplot(2,1,2),plot(t,r1,'k.',[-1,19],[0,0],'k')axis([-1,19,-40,40])xlabel('时间k(小时)'),ylabel('模拟误差')title('阻滞增长方程模拟酵母培养物的增长的模拟误差')运行结果:b1=0.5470663.02209.1355r1=Columns1through140.46452.67012.44652.6143-2.35041.6469-5.1784-2.14841.76865.06073.8475-4.8434-7.42952.9714Columns15through19-0.54180.79930.29960.89321.2820sse1=194.32540246810121416180200400600时间k(小时)生物量xk(克)阻滞增长方程模拟酵母培养物的增长的模拟效果图观测值模拟值024681012141618-40-2002040时间k(小时)模拟误差阻滞增长方程模拟酵母培养物的增长的模拟误差建立阻滞增长模型,对解函数进行数据拟合,求得固有增长率r=0.5470,酵母培养物最大容量N=663.0220,初始值0x=9.1355,误差平方和是194.3254。得到酵母培养物数量增长的经验公式为:0.5470(0)0.5470663.02209.13556057.037()9.1355(663.02209.1355)9.1355653.8865ttxtee计算结果以及模拟效果图和模拟误差图表明,该阻滞增长方程能够较好的模拟酵母培养物生物量的变化趋势,前半段和后半段的误差很小,但中间段的误差较大,然而总体误差较小,最大容量N的估计值较为合理,模拟效果比较令人满意。4.研究将鹿群放入草场后,草和鹿群两个种群的相互作用,草的生长服从Logistic规律,年固有增长率0.8,最大密度为3000个密度单位,在草最茂盛时,每只鹿每年吃掉1.6个密度单位的草,若没有草,鹿群的年死亡率高达0.9,而在草最茂盛的时候草对鹿的死亡的补偿率为1.5.(1)建立差分方程组模型,比较将100只鹿放入密度为1000和密度为3000的两种草场的情况下,草和鹿两个种群的数量演变过程;(2)建立常微分方程组模型,重做以上问题;(3)说明以上两个模型的解的联系和区别.解:由题意,r=0.8,N=3000,a=1.6,b=1.5,d=0.9(1)草和鹿第k年的数量分别记为kx和ky,列式得,11(1)kkkkkkkkkkkxaxyxxrxNNbxyyydyN平衡点为0(0,0)P,1(,0)PN,2(/,()/())PdNbrNbdab,用循环语句迭代计算15步,画图,可以观察到2P的渐近稳定性。程序如下:n=15;r=0.8;N=3000;a=1.6;b=1.5;d=0.9;x=[1000,3000];y=[100,100];fork=1:nx(k+1,:)=x(k,:)+x(k,:).*r.*(1-x(k,:)./N)-a.*x(k,:).*y(k,:)./N;y(k+1,:)=y(k,:)-d.*y(k,:)+b.*x(k,:).*y(k,:)./N;enddisp('草数量的演变')disp('年密度为1000的草场密度为3000的草场')disp([(0:n)',round(x)])disp('鹿数量的演变')disp('年密度为1000的草场密度为3000的草场')disp([(0:n)',round(y)])subplot(2,1,1),plot(0:n,x(:,1),'kd',0:n,y(:,1),'kv')xlabel('第k年'),ylabel('数量')title('草和鹿随时间的演变')subplot(2,1,2),plot(0:n,x(:,2),'kd',0:n,y(:,2),'kv')xlabel('第k年'),ylabel('数量')title('草和鹿随时间的演变')axis([-1,n,0,3000])gtext('草密度')gtext('鹿数量')gtext('草密度')gtext('鹿数量')运行结果:草数量的演变年密度为1000的草场密度为3000的草场010003000114802840220332719325022570427592378528252149627871910726931707825481581923561548102126159711189016981216931814131575190714155019541516051950鹿数量的演变年密度为1000的草场密度为3000的草场0100100160160250243356355476492511263461707447254785836774995056671064558311751523127844971374250014659527155765670510150100020003000第k年数量草和鹿随时间的演变草密度鹿数量0510150100020003000第k年数量草和鹿随时间的演变草密度鹿数量(2)草和鹿在时刻t年的数量分别记为()xxt和()yyt,列式得,(1)dxxaxyrxdtNNdybxydydtN平衡点为0(0,0)P,1(,0)PN,2(/,()/())PdNbrNbdab,计算数值解并画图,也可以观察到2P的渐近稳定性。系数的值和代表的意思都保持不变。且有x(0)=y(0)=0将方程组第二式除以第一式,消去dt后可以得到常微分方程:*(1)dydybxyxdxrxaxyN当x≠0且y≠0时,运用分离变量法可以求出上述常微分方程的解:(1)lnlnxrxyaydxbxcN———①式。其中任意常数C由初始条件来确定。注意到实际问题的草的密度和鹿的数量都是正数,所以①式可以变为:(1)xayxbxdrNxyec,其中C由初始条件来确定。令(1)xrxaxyN

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功