章绍辉数学建模第一章.doc

上传人:PIYPING 文档编号:11608650 上传时间:2021-08-26 格式:DOC 页数:8 大小:197.50KB
返回 下载 相关 举报
章绍辉数学建模第一章.doc_第1页
第1页 / 共8页
章绍辉数学建模第一章.doc_第2页
第2页 / 共8页
章绍辉数学建模第一章.doc_第3页
第3页 / 共8页
章绍辉数学建模第一章.doc_第4页
第4页 / 共8页
章绍辉数学建模第一章.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《章绍辉数学建模第一章.doc》由会员分享,可在线阅读,更多相关《章绍辉数学建模第一章.doc(8页珍藏版)》请在三一文库上搜索。

1、数学建模习题一1.(1)Matlab命令:hold on;x1=linspace(-1,1);y11=sqrt(1-x1.2);y12=-sqrt(1-x1.2);plot(x1,y11);plot(x1,y12);x2=linspace(-2,2);y21=sqrt(4-x2.2);y22=-sqrt(4-x2.2);plot(x2,y21);plot(x2,y22);x3=linspace(-2,2);y31=sqrt(1-x3.2/4);y32=-sqrt(1-x3.2/4);plot(x3,y31);plot(x3,y32);输出图形:(2)Matlab命令:hold on;x1=li

2、nspace(-3,3);y1=exp(x1);plot(x1,y1,-);x2=linspace(-5,25);y2=x2;plot(x2,y2,-);x3=linspace(0.05,20);y3=log(x3);plot(x3,y3,-);输出图像:(3)Matlab命令:function Riemann(n)for i=2:n j=1:i-1; j=j(gcd(i,j)=1); plot(j/i,1/i,b.); hold on;end输入n=100输出图像:3.Matlab命令:function p=win(n)m=0;for i=1:n x1=ceil(6*rand); x2=ce

3、il(6*rand); x=x1+x2; if x=3 | x=11 m=m+1; end if x=4 | x=5 | x=6 | x=8 | x=9 | x=10 y1=ceil(6*rand); y2=ceil(6*rand); y=y1+y2; while y=7 & y=x y1=ceil(6*rand); y2=ceil(6*rand); y=y1+y2; end if y=7 m=m+1; end end p=m/n;end重复10次测试结果(输入n为1000):0.4970 0.5150 0.5270 0.5000 0.5230 0.5110 0.5000 0.4960 0.5

4、270 0.5110估计打赌者赢的概率:0.5107理论计算:掷两个骰子,掷出的结果共有36种结果,当第一次掷出3或11时概率为P3=P11=1/18,当第一次掷出4,5,6,8,9或10时,继续掷骰子直到掷出7或第一次掷出的值时停止,此时概率P=196/495,则理论概率为P3+P11+P=251/495=0.5071;随着试验次数增加,这些概率收敛到0.5070。4.(1)Matlab命令:%(i)f1=(xa,t)(3.9).*exp(xa(1).*(t-1790);x=3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76 92 10

5、6.5 123.2 131.7 150.7 179.3 204 226.5 251.4 281.4;t=1790:10:2000;xa0=0.1;xa=nlinfit(t,x,f1,xa0);r=xassea=sum(x-f1(xa,t).2)%(ii)f2=(xb,t)(xb(1).*exp(xb(2).*(t-1790);xb0=3.9 0.1;xb=nlinfit(t,x,f2,xb0);x0=xb(1)r=xb(2)sseb=sum(x-f2(xb,t).2)%(iii)f3=(xc,t)(xc(2).*exp(xc(1).*(t-xc(3);xc0=0.1 3.9 1790;xc=n

6、linfit(t,x,f3,xc0);t0=xc(3)x0=xc(2)r=xc(1)ssec=sum(x-f3(xc,t).2)输出结果如下:(i)r = 0.021194226383220ssea = 1.741848398741968e+04(ii)x0 = 14.993958741348798r = 0.014223075471036sseb = 2.263917490355983e+03(iii)t0 = -3.555319403868392e+43x0 = -2.354423987310530e+42r = -2.276151673580580e+37ssec = 3.5840726

7、00000000e+05由输出结果我们可以看到:情况(ii)的误差平方和相最小,所以认为(ii)的拟合效果最好,并由此做出拟合效果图:Matlab代码:%画图plot(t,x,+)xlabel(年份)ylabel(人口/百万)hold onplot(t,f2(xb,t),ro)legend(实际值,拟合值,2)hold off(2)对模型两边分别求对数:(1)令,则方程(1)可化为(2)为一次线性模型,下面对方程(2)进行线性拟合。Matlab代码:x=3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76 92 106.5 123.2 13

8、1.7 150.7 179.3 204 226.5 251.4 281.4;t=1790:10:2000;X=t-1790;Y=log(x);m=polyfit(X,Y,1)r=m(1)x0=exp(m(2)ycx=exp(polyval(m,X);sse=sum(x-ycx).2)plot(t,x,+)xlabel(年份)ylabel(人口/百万)hold onplot(t,g2(xd,t),ro)legend(实际值,拟合值,2)hold off结果:m = 0.020219333761898 1.799226697714661r = 0.020219333761898x0 = 6.044

9、971066570829sse = 3.489176713658146e+04(3)从误差结果来看,指数增长模型非线性拟合的误差平方和2.2639e+03比线性拟合的误差平方和3.4892e+04要小得多,可以观察到随着线性拟合的越大,其误差也越大,造成这样的结果原因在于:对于越大的数据,由于求了对数处理,把变化的幅度改变了,进而引起了越大的误差。(4)Matlab代码:%(i)g1=(x,t)N*x0/(x0+(N-x0)*exp(-r*(t-t0);g1=(xe,t)xe(1)*3.9./(3.9+(xe(1)-3.9)*exp(-xe(2)*(t-1790);x=3.9 5.3 7.2

10、9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76 92 106.5 123.2 131.7 150.7 179.3 204 226.5 251.4 281.4;t=1790:10:2000;xe0=5 0.01;xe=nlinfit(t,x,g1,xe0);N=xe(1)r=xe(2)ssea=sum(x-g1(xe,t).2)%(ii)g2=(xe,t)xe(1)*xe(3)./(xe(3)+(xe(1)-xe(3)*exp(-xe(2)*(t-1790);xd0=5 0.01 3.9;xd=nlinfit(t,x,g2,xd0);N=xd(1)r=xd(2

11、)x0=xd(3)sseb=sum(x-g2(xd,t).2)%(iii)g3=(xf,t)xf(1)*xf(3)./(xf(3)+(xf(1)-xf(3)*exp(-xf(2)*(t-xf(4);xf0=5 0.01 3.9 1790;xf=nlinfit(t,x,g3,xf0);N=xf(1)r=xf(2)x0=xf(3)t0=xf(4)ssec=sum(x-g3(xf,t).2)运行结果如下:(i)N = 3.424421452047254e+02r = 0.027352784587056ssee = 1.224893784300030e+03(ii)N = 4.465731912033

12、727e+02r = 0.021547289105893x0 = 7.698118979647007ssed = 4.577405235783897e+02(iii)N = 94.772723008835442r = 0.782933071457756x0 = 4.543142434814583t0 = 1.715002873656930e+03ssef = 1.608061236363640e+05比较误差平方和,模型(ii)的误差平方和最小,故认为拟合效果最好,下面的拟合效果图。Matlab代码:plot(t,x,+)xlabel(年份)ylabel(人口/百万)hold onplot(t,g2(xd,t),ro)legend(实际值,拟合值,2)hold off第8页

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1