数学建模实验答案初等模型.docx

上传人:b****3 文档编号:27144960 上传时间:2023-06-27 格式:DOCX 页数:25 大小:47.62KB
下载 相关 举报
数学建模实验答案初等模型.docx_第1页
第1页 / 共25页
数学建模实验答案初等模型.docx_第2页
第2页 / 共25页
数学建模实验答案初等模型.docx_第3页
第3页 / 共25页
数学建模实验答案初等模型.docx_第4页
第4页 / 共25页
数学建模实验答案初等模型.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

数学建模实验答案初等模型.docx

《数学建模实验答案初等模型.docx》由会员分享,可在线阅读,更多相关《数学建模实验答案初等模型.docx(25页珍藏版)》请在冰豆网上搜索。

数学建模实验答案初等模型.docx

数学建模实验答案初等模型

实验02初等模型(4学时)

(第2章初等模型)

1.(编程)光盘的数据容量p23~27

表13种光盘的基本数据

激光器

激光波长/μm

光斑直径/μm

信道间距/mm

(d)

数据线密度/

(B·mm-1)

(ρ)

红外(CD)

0.78

2

1.6×10-3

121

红色(DVD)

0.64

0.92

0.74×10-3

387

蓝色(DVD)

0.41

0.4

0.32×10-3

800

CAV光盘:

恒定角速度的光盘。

CLV光盘:

恒定线速度的光盘。

R2=58mm,R1=22.5mm,d,ρ见表1。

CLV光盘的信息总长度(mm)LCLV

CLV光盘的信息容量(MB)CCLV=ρLCLV/(10^6)

CLV光盘的影像时间(min)TCLV=CCLV/(0.62×60)

CAV光盘的信息总长度(mm)LCAV

CAV光盘的信息容量(MB)CCAV=ρLCAV/(10^6)

CAV光盘的影像时间(min)TCAV=CCAV/(0.62×60)

1.1(验证、编程)模型求解

要求:

①(验证)分别计算出LCLV,CCLV和TCLV三个3行1列的列向量,仍后输出结果,并与P26的表2(教材)比较。

程序如下:

clear;clc;formatcompact;

R1=22.5;R2=58;

d=10^(-3)*[1.6,0.74,0.32]';

rho=[121,387,800]';

LCLV=pi*(R2^2-R1^2)./d;

CCLV=rho.*LCLV/10^6;%从B转换到MB

TCLV=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;formatcompact;

R1=22.5;R2=58;

d=10^(-3)*[1.6,0.74,0.32]';

rho=[121,387,800]';

LCAV=pi*R2^2./(2*d);

CCAV=rho.*LCAV/10^6;

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=58mm,R1=22.5mm,d,ρ见表1(题1)。

分别计算出LCLV,L和delta三个3行1列的列向量,仍后将它组合起来输出一个3行3列的结果。

②结果与P26的表2和P27(教材)的结果比较。

[提示]

定积分计算用quad、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)',R1,R2);

L=pi*(R2^2-R1^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.(验证,编程)划艇比赛的成绩p29~31

模型:

t=αnβ

其中,t为比赛成绩(时间),n为桨手人数,α和β为参数。

为适合数据拟合,将模型改为:

logt=logα+βlogn

桨手人数n

比赛平均成绩t

1

7.21

2

6.88

4

6.32

8

5.84

(1)参数α和β估计

程序如下:

clear;clc;

n=[1248];%桨手人数

t=[7.216.886.325.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):

实际值与计算值比较(数据比较和和拟合图形)。

★(验证)用数据拟合求参数α和β。

给出α和β值和模型:

模型为:

★(编程)实际值与计算值比较(数据比较和和拟合图形),程序和运行结果:

程序:

n=[1248]';

t=[7.216.886.325.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,t2]

a=0:

0.01:

10;

t3=alfa*a.^beta;

plot(n,t,'x',a,t3);

数值结果:

图形结果:

3.(编程,验证)污水均流池的设计p34~37

表2(p35)社区一天以小时为单位间隔的生活污水流量(单位:

m3/h)

时间t(h)

0

1

2

3

4

5

6

7

流量f(m3·h-1)

150.12

115.56

84.96

66.60

68.04

71.64

82.08

132.84

时间t(h)

8

9

10

11

12

13

14

15

流量f(m3·h-1)

185.04

226.80

246.60

250.92

261.00

271.44

273.96

279.00

时间t(h)

16

17

18

19

20

21

22

23

流量f(m3·h-1)

291.60

302.04

310.68

290.52

281.16

248.40

210.24

186.84

3.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(模型)

要求:

①求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.12115.5684.9666.6068.0471.64,...

82.08132.84185.04226.80246.60250.92,...

261.00271.44273.96279.00291.60302.04,...

310.68290.52281.16248.40210.24186.84];

s=0;

fori=1:

24

s=s+f(i);

end

g=s/24

t2=0:

0.01:

23;

plot(t,f,t2,g,'r-');

text(10,213.67,'g=203.67');

gridon

命令窗口的结果:

图形窗口的结果:

★要求②的程序和运行结果:

程序:

t=0:

23;

f=[150.12115.5684.9666.6068.0471.64,...

82.08132.84185.04226.80246.60250.92,...

261.00271.44273.96279.00291.60302.04,...

310.68290.52281.16248.40210.24186.84];

s=0;

fori=1:

24

s=s+f(i);

end

g=s/24;

c1

(1)=0;

forj=1:

23

c1(j+1)=c1(j)+f(j)-g;

end

c1

M=min(c1)

c2

(1)=-M;

fork=1:

23

c2(k+1)=c2(k)+f(k)-g;

end

c2

plot(t,c1,t,c2);

text(7,160,'c(0)=876.15');

text(7,-760,'c(0)=0');

xlabel('t');

ylabel('c');

gridon

命令窗口的结果:

图形窗口的结果:

3.2(验证)均流池的恒定流出量和最大容量模型(连续)p56习题3

每小时污水流入均流池的流量为f(t),t=0,1,2,…,23。

用3次样条插值得到连续函数f(t),0≤t≤23。

(仍用f(t)表示)

一天的平均流量

均流池中污水的容量c(t),0≤t≤23。

c(t+Δt)-c(t)=(f(t)-g)Δt

(模型)

(1)求g,画f(t)和g的图形(与P35图1比较)。

程序:

functiony=f(t)

tt=0:

23;

ft=[150.12115.5684.9666.6068.0471.64,...

82.08132.84185.04226.80246.60250.92,...

261.00271.44273.96279.00291.60302.04,...

310.68290.52281.16248.40210.24186.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}');

gridon;

(2)求c(t),0≤t≤23,c(0)=0时的最小值M。

画c(t)初值条件分别为c(0)=0和c(0)=-M时的图形(与P37图2比较)。

程序:

functiony=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));

fori=1:

length(t)

ct0(i)=c(t(i),0,g);

end

[tt,m]=fminbnd(@(t)c(t,0,g),0,23)%求最小值,注意函数c的参数格式

ctm=zeros(size(t));

fori=1:

length(t)

ctm(i)=c(t(i),-m,g);

end

plot(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}');

gridon;

要求

①运行

(1)中的程序,结果与P35图1比较。

②运行

(2)中的程序,结果与P37图2比较。

③阅读并理解程序。

★要求①的运行结果:

命令窗口的结果:

图形窗口的结果:

★要求②的运行结果:

命令窗口的结果:

图形窗口的结果:

4.(编程)天气预报的评价p49~54

31天4种(A~D)预报方法的有雨预报(%)及实际观测结果

functionM=tab()

%日期ABCD有雨=1/无雨=0

M=[1903090601;

2403050801;

3603080701;

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;

2960300200;

30203010100;

31803050100];

4.1(编程求解)计数模型p50~52

若预报有雨概率>50%,则认为明天有雨,<50%则认为无雨,且依照明天是否有雨的实际观测,规定预报是否正确,从而统计预报的正确率。

求出4种预报的结果计数矩阵:

预报的正确率:

对角线数字之和/全部数之和。

要求:

①编写程序求出4种预报的结果计数(天数),并分别计算出它们的预报正确率(取2位小数)。

②结果与p51中的结果比较。

★程序和运行结果:

程序:

functionM=tab()

M=[1903090601;

2403050801;

3603080701;

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;

2960300200;

30203010100;

31803050100];

forj=2:

5

a=0;b=0;c=0;d=0;

fori=1:

31

ifM(i,j)>50&&M(i,6)==1

a=a+1;

end

ifM(i,j)>50&&M(i,6)==0

b=b+1;

end

ifM(i,j)<50&&M(i,6)==1

c=c+1;

end

ifM(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(编程求解)记分模型p52~53

将预报有雨概率的大小与实测结果(有雨或无雨)比较,给予记分。

注意:

要将M中的预报概率值转换为小数。

模型1

记第k天某种预报有雨概率为pk,第k天实测有雨为vk=1,无雨为vk=0,令第k天的某种预报得分为

将sk对k求和得到某预报的分数S1(越大越好)。

模型2

sk=|pk-vk|

将sk对k求和得到某预报的分数S2(越小越好)。

模型3

sk=(pk-vk)2

将sk对k求和得到某预报的分数S3(越小越好)。

要求:

①编程求4种预报在模型1、2、3下的相应分数S1、S2、S3。

②运行结果与p52的结果比较。

★程序和运行结果:

functionM=tab()

M=[1903090601;

2403050801;

3603080701;

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;

2960300200;

30203010100;

31803050100];

M(:

2:

5)=M(:

2:

5)/100;

fori=2:

5

S1=0;

S2=0;

S3=0;

forj=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

S3

end

ans=

1

S1=

1

S2=

14.5

S3=

8.95

ans=

2

S1=

2.6

S2=

12.9

S3=

6.39

ans=

3

S1=

7

S2=

8.5

S3=

4.23

ans=

4

S1=

6.7

S2=

8.8

S3=

3.22

4.3(部分编程求解)图形模型——模型1p53

以预报有雨概率p(值为小数)为横轴,实测值v(值为0或1)为纵轴,奖表tab的数据在图上用符号*标出,其中*上面的数字是坐标在*的天数。

预报A的程序:

clear;clc;

M=tab();

M(:

2:

5)=M(:

2:

5)/100;%概率值都改为小数

K=logical(M(:

6));%将M(:

6)中非0值的位置赋逻辑值true,MATLAB建议用logical代替find

pp=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处的*

fori=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=[1903090601;

2403050801;

3603080701;

4603090701;

560300200;

6303010501;

7803010400;

8703020300;

9803040300;

10603060400;

11803020801;

12403030400;

13903090401;

14503060200;

15103020100;

16603050801;

17203010300;

180300500;

19903060400;

20

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

当前位置:首页 > 职业教育 > 职业技术培训

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1