《数学建模实验答案初等模型.doc》由会员分享,可在线阅读,更多相关《数学建模实验答案初等模型.doc(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验02 初等模型(4学时)(第2章 初等模型)1.(编程)光盘的数据容量p2327表1 3种光盘的基本数据激光器激光波长/m光斑直径/m信道间距/mm(d)数据线密度/(Bmm-1)()红外(CD)0.7821.610-3121红色(DVD)0.640.920.7410-3387蓝色(DVD)0.410.40.3210-3800CAV光盘:恒定角速度的光盘。CLV光盘:恒定线速度的光盘。R2=58 mm, R1=22.5 mm,d, 见表1。CLV光盘的信息总长度(mm) LCLV CLV光盘的信息容量(MB) CCLV = LCLV / (106)CLV光盘的影像时间(min) TCLV
2、= CCLV / (0.6260)CAV光盘的信息总长度(mm) LCAVCAV光盘的信息容量(MB) CCAV = LCAV / (106)CAV光盘的影像时间(min ) TCAV = CCAV / (0.6260)1.1(验证、编程)模型求解要求:(验证)分别计算出LCLV, CCLV和TCLV三个3行1列的列向量,仍后输出结果,并与P26的表2(教材)比较。程序如下:clear;clc;format compact;R1=22.5; R2=58;d=10(-3)*1.6,0.74,0.32;rho=121,387,800; LCLV=pi*(R22-R12)./d;CCLV=rho.*
3、LCLV/106;%从B转换到MBTCLV=CCLV/(0.62*60);%从秒转换到分s= ;S=s;s;s;%s为两个空格,S为两列空格num2str(round(LCLV),S,.%其中的量为列向量 num2str(round(CCLV),S,. num2str(round(TCLV)(编程)对于LCAV, CCAV和TCAV,编写类似的程序,并运行,结果与P26的表3(教材)比较。 要求的程序的运行结果: 要求的程序及其运行结果:clear;clc;format compact;R1=22.5; R2=58;d=10(-3)*1.6,0.74,0.32;rho=121,387,800;
4、LCAV=pi*R22./(2*d);CCAV=rho.*LCAV/106;TCAV=CCAV/(0.62*60);s= ;S=s;s;s;num2str(round(LCAV),S,. num2str(round(CCAV),S,. num2str(round(TCAV)1.2(编程)结果分析信道长度LCLV的精确计算:模型给出的是近似值:相对误差为:要求: 取R2=58 mm, R1=22.5 mm,d, 见表1(题1)。分别计算出LCLV, L和delta三个3行1列的列向量,仍后将它组合起来输出一个3行3列的结果。 结果与P26的表2和P27(教材)的结果比较。提示定积分计算用quad
5、、quadl或trapz函数,注意要分别取d的元素来计算。要用数组d参与计算,可用quadv(用help查看其用法)。 编写的程序和运行结果:程序:R1=22.5;R2=58; d=1.6e-3,0.74e-3,0.32e-3;LCLV=zeros(3,1);LCLV(1)=quad(2*pi/1.6e-3*sqrt(x.2+(1.6e-3/(2*pi)2),R1,R2);LCLV(2)=quad(2*pi/0.74e-3*sqrt(x.2+(0.74e-3/(2*pi)2),R1,R2);LCLV(3)=quad(2*pi/0.32e-3*sqrt(x.2+(0.32e-3/(2*pi)2)
6、,R1,R2);L=pi*(R22-R12)./d;delta=abs(LCLV-L)./abs(L);s= ;S=s;s;s;num2str(round(LCLV),S,. num2str(round(L),S,. num2str(round(1000*delta)/100)运行结果:2.(验证,编程)划艇比赛的成绩p2931模型:t=n其中,t为比赛成绩(时间),n为桨手人数,和为参数。为适合数据拟合,将模型改为:log t=log + log n桨手人数n比赛平均成绩t17.2126.8846.3285.84(1) 参数和估计程序如下:clear; clc;n=1 2 4 8; %桨手人
7、数t= 7.21 6.88 6.32 5.84; %比赛平均成绩logt=log(t); logn=log(n);p=polyfit(logn,logt,1);% polyfit函数使用格式见提示beta=p(1)alfa=exp(p(2)(2) 实际值与计算值比较(数据比较和和拟合图形)参考数据结果:第1列为桨手人数,第2列为实际比赛平均成绩,第3列为计算比赛平均成绩。参考图形结果:要求: 运行问题(1)中的程序。 编程解决问题(2):实际值与计算值比较(数据比较和和拟合图形)。(验证)用数据拟合求参数和。给出和值和模型:模型为:(编程)实际值与计算值比较(数据比较和和拟合图形),程序和运行
8、结果:程序:n=1 2 4 8; t=7.21 6.88 6.32 5.84; logt=log(t); logn=log(n);p=polyfit(logn,logt,1);beta=p(1);alfa=exp(p(2);t2=alfa*n.beta;n,t,t2a=0:0.01:10;t3=alfa*a.beta;plot(n,t,x,a,t3);数值结果:图形结果:3.(编程,验证)污水均流池的设计p3437均流池净化设备g 恒速 成 f 变速 成 表2 (p35) 社区一天以小时为单位间隔的生活污水流量(单位:m3/h)时间t (h)01234567流量f (m3h-1)150.121
9、15.5684.9666.6068.0471.6482.08132.84时间t (h)89101112131415流量f (m3h-1)185.04226.80246.60250.92261.00271.44273.96279.00时间t (h)1617181920212223流量f (m3h-1)291.60302.04310.68290.52281.16248.40210.24186.843.1(编程)均流池的恒定流出量和最大容量模型(离散)每小时污水流入均流池的流量为f (t), t=0, 1, 2, , 23。一天的平均流量 均流池中污水的空量 c(t), t=0, 1, 2, , 2
10、3。c(t+1)=c(t)+f(t)-g, t=0, 1, 2, , 22 (模型)要求: 求g,画f(t)和g的图形(与P35图1比较)。 求c(t), t=0, 1, 2, , 23, c(0)=0,并求其中的最小值M(与P36表3比较)。 求c(t), t=0, 1, 2, , 23, c(0)=-M(与P36表4比较)。画c(t)分别当c(0)和c(-M)时的图形(与P37图2比较)。 要求的程序和运行结果:程序:t=0:23;f=150.12 115.56 84.96 66.60 68.04 71.64,. 82.08 132.84 185.04 226.80 246.60 250.
11、92,. 261.00 271.44 273.96 279.00 291.60 302.04,. 310.68 290.52 281.16 248.40 210.24 186.84;s=0;for i=1:24 s=s+f(i);endg=s/24t2=0:0.01:23;plot(t,f,t2,g,r-);text(10,213.67,g=203.67);grid on命令窗口的结果:图形窗口的结果: 要求的程序和运行结果:程序:t=0:23;f=150.12 115.56 84.96 66.60 68.04 71.64,. 82.08 132.84 185.04 226.80 246.60
12、 250.92,. 261.00 271.44 273.96 279.00 291.60 302.04,. 310.68 290.52 281.16 248.40 210.24 186.84;s=0;for i=1:24 s=s+f(i);endg=s/24;c1(1)=0;for j=1:23 c1(j+1)=c1(j)+f(j)-g;endc1M=min(c1)c2(1)=-M;for k=1:23 c2(k+1)=c2(k)+f(k)-g;endc2plot(t,c1,t,c2);text(7,160,c(0)=876.15);text(7,-760,c(0)=0);xlabel(t);
13、ylabel(c);grid on命令窗口的结果:图形窗口的结果:3.2(验证)均流池的恒定流出量和最大容量模型(连续)p56习题3每小时污水流入均流池的流量为f (t), t=0, 1, 2, , 23。用3次样条插值得到连续函数f(t), 0t23。(仍用f(t)表示)一天的平均流量 均流池中污水的容量 c(t) , 0t23。c(t+t)-c(t)=(f(t)-g) t (模型)(1) 求g,画f(t)和g的图形(与P35图1比较)。程序:function y=f(t)tt=0:23;ft=150.12 115.56 84.96 66.60 68.04 71.64,. 82.08 132
14、.84 185.04 226.80 246.60 250.92,. 261.00 271.44 273.96 279.00 291.60 302.04,. 310.68 290.52 281.16 248.40 210.24 186.84;y=interp1(tt,ft,t,spline); %3次样条插值clear; clc;g=1/(23-0)*quad(f,0,23)t=0:0.0001:23;plot(t,f(t),0,25,g,g);text(10+0.7,g+13,g=,num2str(g);xlabel(itt);ylabel(itf);grid on;(2) 求c(t), 0t
15、23, c(0)=0时的最小值M。画c(t)初值条件分别为c(0)=0和c(0)=-M时的图形(与P37图2比较)。程序:function y=c(t,c0,g) %c0, g将作为参数y=quad(f,0,t)-t*g+c0;clear; clc;t=0:0.1:23;g=1/(23-0)*quad(f,0,23);ct0=zeros(size(t);for i=1:length(t) ct0(i)=c(t(i),0,g);endtt,m=fminbnd(t)c(t,0,g),0,23) %求最小值,注意函数c的参数格式ctm=zeros(size(t);for i=1:length(t)
16、ctm(i)=c(t(i),-m,g);endplot(t,ct0,t,ctm);text(7,c(8,0,g)+100,c(0)=,num2str(ct0(1);text(7,c(8,-m,g)+100,c(0)=,num2str(ctm(1);xlabel(itt);ylabel(itf);grid on;要求 运行(1)中的程序,结果与P35图1比较。 运行(2)中的程序,结果与P37图2比较。 阅读并理解程序。 要求的运行结果:命令窗口的结果:图形窗口的结果: 要求的运行结果:命令窗口的结果:图形窗口的结果:4.(编程)天气预报的评价p495431天4种(AD)预报方法的有雨预报(%)
17、及实际观测结果function M=tab()%日期ABCD有雨=1/无雨=0M=1903090601;2403050801;3603080701;4603090701;560300200;6303010501;7803010400;8703020300;9803040300;10603060400;11803020801;12403030400;13903090401;14503060200;15103020100;16603050801;17203010300;180300500;19903060400;2070301000;2120300300;22403020300;234030101
18、00;24803050400;2530300200;26303010300;2730302000;2803060401;2960300200;30203010100;31803050100;4.1(编程求解)计数模型p5052若预报有雨概率50%,则认为明天有雨,50 & M(i,6)=1 a=a+1; end if M(i,j)50 & M(i,6)=0 b=b+1; end if M(i,j)50 & M(i,6)=1 c=c+1; end if M(i,j)50 & M(i,6)=0 d=d+1; end end x=a,b;c,d p=vpa(a+d)/(a+b+c+d),2)end运
19、行结果:4.2(编程求解)记分模型p5253将预报有雨概率的大小与实测结果(有雨或无雨)比较,给予记分。注意:要将M中的预报概率值转换为小数。模型1记第k天某种预报有雨概率为pk,第k天实测有雨为vk=1,无雨为vk=0,令第k天的某种预报得分为将sk对k求和得到某预报的分数S1(越大越好)。模型2sk = | pk - vk |将sk对k求和得到某预报的分数S2(越小越好)。模型3sk = ( pk - vk )2将sk对k求和得到某预报的分数S3(越小越好)。要求: 编程求4种预报在模型1、2、3下的相应分数S1、S2、S3。 运行结果与p52的结果比较。 程序和运行结果:function
20、 M=tab()M=1 90 30 90 60 1; 2 40 30 50 80 1; 3 60 30 80 70 1; 4 60 30 90 70 1; 5 60 30 0 20 0; 6 30 30 10 50 1; 7 80 30 10 40 0; 8 70 30 20 30 0; 9 80 30 40 30 0; 10 60 30 60 40 0; 11 80 30 20 80 1; 12 40 30 30 40 0; 13 90 30 90 40 1; 14 50 30 60 20 0; 15 10 30 20 10 0; 16 60 30 50 80 1; 17 20 30 10
21、30 0; 18 0 30 0 50 0; 19 90 30 60 40 0; 20 70 30 10 0 0; 21 20 30 0 30 0; 22 40 30 20 30 0; 23 40 30 10 10 0; 24 80 30 50 40 0; 25 30 30 0 20 0; 26 30 30 10 30 0; 27 30 30 20 0 0; 28 0 30 60 40 1; 29 60 30 0 20 0; 30 20 30 10 10 0; 31 80 30 50 10 0;M(:,2:5)=M(:,2:5)/100;for i=2:5 S1=0; S2=0; S3=0; f
22、or j=1:31 s1=(-1)M(j,6)*(0.5-M(j,i); S1=S1+s1; s2=abs(M(j,i)-M(j,6); S2=S2+s2; s3=(M(j,i)-M(j,6)2; S3=S3+s3; end i-1 S1 S2 S3endans = 1S1 = 1S2 = 14.5S3 = 8.95ans = 2S1 = 2.6S2 = 12.9S3 = 6.39ans = 3S1 = 7S2 = 8.5S3 = 4.23ans = 4S1 = 6.7S2 = 8.8S3 =3.224.3(部分编程求解)图形模型模型1p53以预报有雨概率p(值为小数)为横轴,实测值v(值为0
23、或1)为纵轴,奖表tab的数据在图上用符号*标出,其中*上面的数字是坐标在*的天数。预报A的程序:clear; clc;M=tab();M(:,2:5)=M(:,2:5)/100;%概率值都改为小数K=logical(M(:,6);%将M(:,6)中非0值的位置赋逻辑值true,MATLAB建议用logical代替findpp=M(K,2);%K中为true的对应位置的M元素保留,其中有重复概率值pp=sort(pp);%按升序排序p,I,=unique(pp,last);%去掉重复值,p(i)值在pp中最后出现的行下标为I(i)c=I-0;I(1:end-1);%求p(i)在pp中重复个数c
24、(i)plot(0,1,1,1,:,p,ones(size(p),b*);%画v=1的水平线和概率值p处的*for i=1:length(c)%标注重复数T=text(p(i),1+0.05,num2str(c(i);set(T,color,b);end%自己完成v=0时的程序,把该图与上面的图合在一起xlabel(itp);ylabel(itv);text(0.5,0.5,预报A);运行结果示例:要求: 自己完成上面未完整的程序并运行。 修改预报A的程序,分别用于B、C、D,并运行。 运行结果与p53中的结果比较。 预报A的完整程序:M=1 90 30 90 60 1; 2 40 30 50
25、 80 1; 3 60 30 80 70 1; 4 60 30 90 70 1; 5 60 30 0 20 0; 6 30 30 10 50 1; 7 80 30 10 40 0; 8 70 30 20 30 0; 9 80 30 40 30 0; 10 60 30 60 40 0; 11 80 30 20 80 1; 12 40 30 30 40 0; 13 90 30 90 40 1; 14 50 30 60 20 0; 15 10 30 20 10 0; 16 60 30 50 80 1; 17 20 30 10 30 0; 18 0 30 0 50 0; 19 90 30 60 40
26、0; 20 70 30 10 0 0; 21 20 30 0 30 0; 22 40 30 20 30 0; 23 40 30 10 10 0; 24 80 30 50 40 0; 25 30 30 0 20 0; 26 30 30 10 30 0; 27 30 30 20 0 0; 28 0 30 60 40 1; 29 60 30 0 20 0; 30 20 30 10 10 0; 31 80 30 50 10 0;M(:,2:5)=M(:,2:5)/100;K=logical(M(:,6);pp=M(K,2);pp=sort(pp);p,I,=unique(pp,last);c=I-0;
27、I(1:end-1);plot(0,1,1,1,:,p,ones(size(p),b*);for i=1:length(c) T=text(p(i),1+0.05,num2str(c(i); set(T,color,b);endK=logical(M(:,6)-1);pp=M(K,2);pp=sort(pp);p,I,=unique(pp,last);c=I-0;I(1:end-1);hold onplot(p,zeros(size(p),r*);hold offfor i=1:length(c) T=text(p(i),0.05,num2str(c(i); set(T,color,b);en
28、dxlabel(itp);ylabel(itv);text(0.5,0.5,预报A); 预报A、B、C、D的程序运行结果(图形):4.4(验证)图形模型模型2p5354对每个不同的预报有雨概率p,统计实测有雨的天数占预报这个p的全部天数的比例q(p和q越接近越好)。以p为横轴,q为纵轴,将表tab数据进行统计后在图上有*标出,并在图中画斜线q=p。预报A的程序:clear; clc;M=tab();m=size(M,1);%M的行数M(:,2:5)=M(:,2:5)/100; pp,I=sort(M(:,2);%按升序排序M1=M(I,6);%使M1与p对应行一致p,I,=unique(pp,
29、last);%去掉pp中的重复值后赋给p,p(i)在pp中最后出现的行下标为I(i)q=zeros(size(p);q(1)=sum(M1(1:I(1)/I(1);for i=2:length(p) q(i)=sum(M1(I(i-1)+1:I(i)/(I(i)-I(i-1);end plot(p,q,r*,0 1,0 1);xlabel(itp);ylabel(itq);text(0.95,0.85,预报A);axis(0 1.2 0 1.2);axis square;运行结果示例:要求: 运行上面程序,仍后修改程序,分别用于B、C、D,并运行。 运行结果与p54中的结果比较。 阅读并理解程序。 预报A、B、C、D的程序运行结果(图形):附1:实验提示第2题数据拟合函数polyfit采用线性最小二乘法进行多项式函数拟合。Polyfit调用格式:P=polyfit(X,Y,N)其中N表示多项式的最高阶数,X,Y为将要拟合的数据,它是用数组的方式输入。输出参数P为拟合多项式 P(1)*XN + P(2)*X(N-1) +.+ P(N)*X + P(N+1)的系数,多项式在x0处的值y0可用下面程序计算。y0=polyval(P,x0,m)附2:第2章 初等模型2.1 光盘的数据容量2.3 划艇比赛的成绩2.5 污水均流池的设计2.9 天气预报的评价