《数学建模实验答案_初等模型.doc》由会员分享,可在线阅读,更多相关《数学建模实验答案_初等模型.doc(32页珍藏版)》请在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.*LCLV/106
3、;%从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;LCAV=pi*R22.
4、/(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、quadl或trapz函数,注意要
5、分别取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),R1,R2);L=pi*(R22-R1
6、2)./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; %桨手人数t= 7.21 6.88 6.32 5.84;
7、 %比赛平均成绩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):实际值与计算值比拟数据比拟和和拟合图形。验证用数据拟合求参数和。给出和值和模型:模型为:编程实际值与计算值比拟数据比拟和和拟合图形,程序和运行结果:程序:n=1 2 4 8; t=7.21 6.88 6.32
8、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.12115.5684.9666.6068.0471.6482.08132.84时间
9、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, , 23。c(t+1)=c(t)+f(t)-g, t=0, 1, 2, , 22 模型要求
10、: 求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.92,. 261.00 271.44 273.96 279.00 291.60 302.04,. 310
11、.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 250.92,. 261.00 271.44 273.96 279.00 291.60 302.04,
12、. 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);ylabel(c);grid on命令窗口的结果:图形窗口的结果:3.2验证均流池的恒定流出量和最大容量
13、模型连续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.84 185.04 226.80 246.60 250.92,. 261.00 271.44 273.96 279.00
14、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), 0t23, c(0)=0时的最小值M。画c(t)初值条件分别为c(0)=0和c(0)=-M时的图形与P37图2比拟。程序:fun
15、ction 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) ctm(i)=c(t(i),-m,g);endplot(t,ct0,t,ctm);text(7,c(8,0,g)+100,c(0
16、)=,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)预报方法的有雨预报(%)及实际观测结果function M=tab()%日期ABCD有雨=1/无雨=0M=1903090601;2403050801;360
17、3080701;4603090701;560300200;6303010501;7803010400;8703020300;9803040300;10603060400;11803020801;12403030400;13903090401;14503060200;15103020100;16603050801;17203010300;180300500;19903060400;2070301000;2120300300;22403020300;23403010100;24803050400;2530300200;26303010300;2730302000;2803060401;296030
18、0200;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运行结果:4.2编程求解记分模型p5253将预报有雨概率的大小与实测结果有雨或无雨比拟,给予记分。注意:要将M中的预报概率值转换为小数
19、。模型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 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
20、; 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 0; 20 70 30 10 0 0; 21 20 30 0 30 0; 22
21、 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; for 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+s
22、2; 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或1为纵轴,奖表tab的数据在图上用符号*标出,其中*上面的数字是坐标在*的天数。预报A的程序:clear; clc;M=tab();M(:,2:5)=M(:,2
23、: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(i)plot(0,1,1,1,:,p,ones(size(p),b*);%画v=1的水平线和概率值p处的*for i=1:length(c)%标注重复数T=tex
24、t(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 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
25、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 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
26、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;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,
27、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);endxlabel(itp);ylabel(itv);text(0.5,0.5,预报A); 预报A、B、C、D的程序运行结果图形:4.4验证图形模型模型2p5354对每
28、个不同的预报有雨概率p,统计实测有雨的天数占预报这个p的全部天数的比例qp和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,last);%去掉pp中的重复值后赋给p,p(i)在pp中最后出现的行下标为I(i)q=zeros(size(p);q(1)=sum(M1(1:I(1)/I(1);for i=
29、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 天气预报的评价32 / 32