当前位置:文档之家› 数学建模第二章作业答案章绍辉

数学建模第二章作业答案章绍辉

数学建模第二章作业答案章绍辉
数学建模第二章作业答案章绍辉

数学建模第二章作业答案章绍辉

习题2作业讲评

1. 继续考虑

2.2节的“汽车刹车距离”案例,请问“两秒准则”和“一车长度准则”一样吗?“两秒准则”是否足够安全?对于安全车距,你有没有更好的建议?(“两秒准则”,即后车司机从前车经过某一标志开始,默数2秒之后到达同一标志,而不管车速如何. 刹车距离与车速的经验公式

20.750.082678d v v =+,速度单位为m/s ,距离单位为m )

解答

(1)“两秒准则”表明前后车距与车速成正比例关系. 引入以下符号:

D ~ 前后车距(m );v ~ 车速(m/s );

于是“两秒准则”的数学模型为22D K v v ==. 与“一车长度准则”相比是否一样,依赖于一车长度的选取.

比较2

0.750.082678d v v =+与2D v =,得:

()0.082678 1.25d D v v -=-

所以当15.12 m/s v <(约合54.43 km/h )时,有d时,有d>D ,即前后车距小于刹车距离的理论值,不够安全. 也就是说,“两秒准则”适用于车速不算很快的情况.

另外,还可以通过绘图直观的解释“两秒准则”够不够安全. 用以下MATLAB 程序把刹车距离实测数据和“两秒准则”都画在同一幅图中(图1).

v=(20:5:80).*0.44704;

d2=[18,25,36,47,64,82,105,132,162,196,237,283,334 22,31,45,58,80,103,131,165,202,245,295,353,418

20,28,40.5,52.5,72,92.5,118,148.5,182,220.5,266,318,376]; d2=0.3048.*d2;

k1=0.75; k2=0.082678; K2=2; d1=[v;v;v].*k1; d=d1+d2;

plot([0,40],[0,K2*40],'k') hold on

plot(0:40,polyval([k2,k1,0],0:40),':k') plot([v;v;v],d,'ok','MarkerSize',2)

title('比较刹车距离实测数据、理论值和两秒准则') legend('两秒准则','刹车距离理论值',...

'刹车距离的最小值、平均值和最大值',2) xlabel('车速v (m/s )') ylabel('距离(m )') hold off

51015

2025

303540

020406080100120

140160180比较刹车距离实测数据、理论值和两秒准则

车速v (m/s )

距离(m )

两秒准则

刹车距离理论值

刹车距离的最小值、平均值和最大值

图1

hold on

plot([10,35]*0.44704,2*[10,35]*0.44704,'k',... [35,60]*0.44704,3*[35,60]*0.44704,'k',... [60,75]*0.44704,4*[60,75]*0.44704,'k') title('t 秒准则,刹车距离的模型和数据') xlabel('车速v (m/s )') ylabel('距离(m )') hold off

51015

2025

303540

020406080100120140160180车速v (m/s )

距离(m )

t 秒准则,刹车距离的模型和数据

t 秒准则

刹车距离理论值

刹车距离的最小值、平均值和最大值

图2

4. 继续考虑2.3节“生猪出售时机”案例,假设在第t 天的生猪出售的市场价格(元/公斤)为

2()(0)p t p gt ht =-+ (1)

其中h 为价格的平稳率,取h =0.0002. 其它模型假设和参数取值保持不变.

(1) 试比较(1)式与(2.3.1)式,解释新的假设和原来的假设的区别与联系;

(2)在新的假设下求解最佳出售时机和多赚的纯利润; (3)作灵敏度分析,分别考虑h 对最佳出售时机和多赚的纯利润的影响;

(4)讨论模型关于价格假设的强健性. 解答一(用MATLAB 数值计算)

(1)比较(1)式与(2.3.1)式,(1)式表明价格先降后升,(2.3.1)式假设价格匀速下降,(1)式更接近实际(图3). 两个假设都满足(0)p g '=-,在最佳出售时机附近误差微小(图4). 绘图的程序

p=@(t)12-0.08*t+0.0002*t.^2; figure(1) n=400;

plot([0,n],[12,12-0.08*n],'k:',... 0:.1:n,p(0:.1:n),'k') axis([0,400,0,20])

title('模型假设(1)式与(2.3.1)式的比较')

legend('p(0) - g t (1)式',... 'p(0) - g t + h t^2 (2.3.1)式') xlabel('t (天)')

ylabel('p (元/公斤) ') figure(2) n=20;

plot([0,n],[12,12-0.08*n],'k:',... 0:.1:n,p(0:.1:n),'k')

title('模型假设(1)式与(2.3.1)式的比较')

legend('p(0) - g t (1)式',... 'p(0) - g t + h t^2 (2.3.1)式') xlabel('t (天)'), ylabel('p (元/公斤) ')

50

100

150

200250

300

350

400

024********

161820

模型假设(1)式与(2.3.1)式的比较

t (天)

p (元/公斤)

p(0) - g t (1)式

p(0) - g t + h t 2 (2.3.1)式

图3

2468

101214161820

10.410.610.81111.211.411.611.812

模型假设(1)式与(2.3.1)式的比较

t (天)

p (元/公斤)

p(0) - g t (1)式

p(0) - g t + h t 2 (2.3.1)式

图4

(2)在(1)式和(2.3.1)式组成的假设下,多赚的纯利润为

()()23()(0)(0)(0)Q t rp gw c t hw gr t hrt =--+-+

保留h ,代入其他具体数值,得

()32()900.08 1.6Q t ht h t t =+-+

()2()31800.16 1.60Q t ht h t '=+-+=

解得生猪出售时机为

()2

10.161800.1619.230h h

t -

--=

-(舍去负根)

多赚的纯利润为

()321111900.08 1.6Q ht h t t =+-+.

代入h =0.0002,得113.829t =天,110.798Q =元.

或者用MATLAB 函数fminbnd 计算,脚本如下: C=@(t)3.2*t; w=@(t)90+t;

p=@(t,h)12-0.08*t+h*t.^2;

Q=@(t,h)p(t,h).*w(t)-C(t)-90*12; Qh=@(t)-Q(t,0.0002); t1=fminbnd(Qh,0,30) Q1=Q(t1,0.0002)

为帮助理解,可用以下脚本绘制图5: figure(2) tp=0:250;

plot(tp,Q(tp,0.0002),'k') title('纯利润Q') xlabel('t (天)') ylabel('Q (元) ')

050100

150200250

-600

-500

-400

-300

-200

-100

100

纯利润Q

t (天)

Q (元)

图5

(3)用以下MATLAB 脚本计算灵敏度(,)t t

S t h h h ?=?和(,)Q Q

S Q h h h ?=

?,将结果列表.

结论:h 的微小变化对t 和Q 的影响都很小 Qh=@(t)-Q(t,0.0002*1.01); [tn,Qn]=fminbnd(Qh,0,30); (tn-t1)/t1/0.01 (-Qn-Q1)/Q1/0.01

Qh=@(t)-Q(t,0.0002*1.05); [tn,Qn]=fminbnd(Qh,0,30); (tn-t1)/t1/0.05 (-Qn-Q1)/Q1/0.05

Qh=@(t)-Q(t,0.0002*1.1); [tn,Qn]=fminbnd(Qh,0,30); (tn-t1)/t1/0.1 (-Qn-Q1)/Q1/0.1

表3 数值计算最佳出售时机t 对h 的灵敏度

h h +?

h h ?(%)

t t +?

t t ?(%)

(,)t t S t h h h

?=

?

0.000202 1 13.886 0.41459 0.41459 0.00021 5 14.121 2.1176 0.42352 0.00022

10

14.431 4.3536

0.43536

表4 数值计算多赚的纯利润Q 对h 的灵敏度

h h +?

h h ?(%)

Q Q +?

Q Q ?(%)

(,)Q Q S Q h h h

?=

? 0.000202 1 10.838 0.36936 0.36936 0.00021 5 11.001 1.8802 0.37604 0.00022 10

11.214

3.8479

0.38479

(4)市场价格是经常波动的,如果价格下跌,往往会止跌回稳,模型假设(1)式以二次函数来刻画价格止跌回升的变化趋势,如果考虑的时间段长达数月,(1)式比(2.3.1)式更接近实际(见图3),但是本问题的最佳出售时机不超过20天,(1)式与(2.3.1)式在最佳出售时机附近非常近似(见图4),(1)式导致的模型解答可以由(2.3.1)式导致的解答加上灵敏度分析所代替. 所以采用更为简单的(2.3.1)式作为假设更好.

具体分析如下:

由12()(,)g g t p t h -+?=,得

12(,)

1g p t h g gt

?-=-, 代入h =0.0002,t =13.82852279,g =0.08,得

0.034571g

g

?=-. 由于(,)t g S t g t g

??≈,根据课本2.3节,代入(,) 5.5S t g =-,t =10,算得11.901t t +?=,与t =13.829只相差两天.

用于以上分析计算的MATLAB 脚本: dg_g=(12-p(ts,0.0002))/ts/0.08-1 10+dg_g*10*(-5.5)

解答二(用MATLAB 的Symbolic Math Toolbox 的MuPAD 软件符号计算)

(1)运行以下MuPAD 语句,绘得图6和图7:

plot(plot::Function2d(12-0.08*t+0.0002*t^2,t=0..400), plot::Function2d(12-0.08*t,t=0..150, LineStyle=Dashed));

plot(plot::Function2d(12-0.08*t+0.0002*t^2,t=0..20), plot::Function2d(12-0.08*t,t=0..20, LineStyle=Dashed),#O);

(1)式表明价格先降后升,在实际当中有一定道理. 而 (2.3.1)式假设价格匀速下降. 两个假设都满足(0)p g '=-,在最佳出售时机附近误差微小.

图6 假设(2.3.1)式与(1)式的比较

图7 假设(2.3.1)式与(1)式的比较

(2) 在(1)式和(2.3.1)式组成的假设下,保留h,代入其他具体数值,计算多赚的纯利润. 运行以下MuPAD语句:

C:=t->32/10*t:

w:=t->90+t:

p:=(t,h)->12-8/100*t+h*t^2:

Q:=(t,h)-->expand(w(t)*p(t,h)-C(t)-90*12); plot(plot::Function2d(Q(t,0.0002), t=0..290));

算得2

23

(2)8

25

,905ht h h t Q t t t =+-+,绘得图8.

图8 (,0.0002)Q t 的图像

运行以下MuPAD 语句:

S:=solve(diff(Q(t,h),t),t) assuming h>0; t1:=S[1];

subs(t1,h=0.0002); t2:=S[2];

ts:=subs(t2,h=0.0002); Q2:=Q(t2,h);

Qs:=subs(Q2,h=0.0002);

由方程0Q

t

?=?,解得两根: 238416

5625123841656252253240045004

450025324004

h h h t h h h t -+-+=

+-+-=

代入h =0.0002,得12192.8381439, 13.82852279t t ==(天). 2t 符合题意,1t 应该舍去(对应的Q 是负数). 2t 对应的多赚的纯利润为10.79837809元.

(3)接着上一小题,运行以下MuPAD 语句:

subs(diff(t2,h)*h/t2, h=0.0002); //t 对h 的灵敏度

利用导数算得t 对h 的灵敏度:

d (,)0.4124276803d t h

S t h h t

=?=.

运行以下MuPAD 语句:

subs(diff(Q2,h)*h/Q2,h=0.0002); //Q 对h 的灵敏度,方法一 subs(diff(Q(t,h),h)*h/Q(t,h),t=ts,h=0.0002); //Q 对h 的灵敏度,方法二,更简单

用两种方法利用导数算得Q 对h 的灵敏度:

d (,)0.367739025d Q h

S Q h h Q

=

?=. 结论:h 的微小变化对t 2和Q 2的影响都很小. (4)同解答一

5. 继续考虑第2.3节“生猪出售时机”案例,假设在第t 天的生猪体重(公斤)为

()000()m

t m w w w t w w w e α-=

+- (2)

其中0(0)90w w ==(公斤),270m w =(公斤),其它模型假设和参数取值保持不变.

(1)试比较(2)式与(2.3.2)式,解释新的假设和原来的假设的区别与联系(提示:说明当α (α>0)取何值时,在t =0时可以保持(0)1w r '==;说明当t 增大时,猪的体重会如何变化).

(2)在新的假设下求解最佳出售时机和多赚的纯利润. (3)参数m w 代表猪长成时的最终重量,对m w 做灵敏度分析,分别考虑m w 对最佳出售时机和多赚的纯利润的影响.

(4)讨论模型关于生猪体重假设的强健性. 解答一(用MATLAB 数值计算)

(1)在(2)式中,为使(0)w r '=,必须00()m m w w w w α-=. 当

m w =270,0w =90时,有160α=.

新假设(2)式是阻滞增长模型,假设生猪体重的增长率是体重的线性递减函数,于是体重增加的速率先快后慢,时间充分长后,体重趋于m w . 而(2.3.2)式0()w t w rt =+只假设体重匀速增加. 长时间来看,新假设比原假设更符合实际(图9). 两个假设都满足(0)w r '=,在最佳出售时机附近误差微小(图10).

50

100

150

200250

300

350

400

050

100

150

200

250

300

t (天)

价格 p (元/公斤)

模型假设(2.3.2)式与(2)式的比较

p(0) - g t (2.3.2)式p(0) - g t + h 2 (2)式

图9

2468

101214161820

9095

100

105

110

115

t (天)

价格 p (元/公斤)

p(0) - g t (2.3.2)式p(0) - g t + h 2 (2)式

图10

(2) 在(2.3.1)式和(2)式组成的假设下,用MATLAB 函数fminbnd 计算,可以求得生猪出售时机为t =14.434天,多赚的纯利润为Q =12.151元.

(3) 编程计算(,)m m m t t S t w w w ?=?和(,)m m m

Q Q

S Q w w w ?=?,将

结果列表.

表5 数值计算最佳出售时机t 对m w 的灵敏性

m m w w +?

m m

w w ?(%)

t t +?

t t ?(%)

(,)m m m

t t

S t w w w ?=

?

272.7 1 14.977 3.767 3.767 283.5 5 17.057 18.173 3.6345 297

10

19.46 34.825

3.4825

表6 数值计算多赚的纯利润Q 对m w 的灵敏性

m m w w +?

m m w w ?(%)

Q Q +?

Q Q ?(%)

(,)m m m

Q Q S Q w w w ?=

?

272.7 1 13.108 7.872 7.872 283.5 5 17.121 40.897 8.1794 297

10

22.475

84.963

8.4963

结论:m w 的微小变化对t 和Q 的影响都较小.

(4)模型假设(2)式导致的模型解答可以由(2.3.2)式导致的解答加上灵敏度分析所代替,所以实践中采用更为简单的(2.3.2)式作为假设即可. 具体分析过程见解答二之(4).

MATLAB脚本:

%% (1) 绘图的程序

w=@(t)90*270./(90+180*exp(-t/60));

figure(1)

n=400;

plot([0,n],[90,90+n],'k:',...

0:.1:n,w(0:.1:n),'k')

axis([0,400,0,300])

legend('p(0) - g t (2.3.2)式',... 'p(0) - g t + h^2 (2)式',4) title('模型假设(2.3.2)式与(2)式的比较') xlabel('t(天)')

ylabel('价格 p(元/公斤) ')

figure(2)

n=20;

plot([0,n],[90,90+n],'k:',...

0:.1:n,w(0:.1:n),'k')

legend('p(0) - g t (2.3.2)式',... 'p(0) - g t + h^2 (2)式',2) xlabel('t(天)')

ylabel('价格 p(元/公斤) ')

%% (2) 最佳出售时机和多赚的纯利润

C=@(t)3.2*t;

w=@(t,m)90*m./(90+(m-90)*exp(-t/60)); p=@(t)12-0.08*t;

Q=@(t,m)p(t).*w(t,m)-C(t)-90*12;

Qh=@(t)-Q(t,270);

ts=fminbnd(Qh,0,30)

Qs=Q(ts,270)

%% (3) 灵敏度分析

Qh=@(t)-Q(t,270*1.01);

[tn,Qn]=fminbnd(Qh,0,30);

(tn-ts)/ts/0.01

(-Qn-Qs)/Qs/0.01

Qh=@(t)-Q(t,270*1.05);

[tn,Qn]=fminbnd(Qh,0,30);

(tn-ts)/ts/0.05

(-Qn-Qs)/Qs/0.05

Qh=@(t)-Q(t,270*1.1);

[tn,Qn]=fminbnd(Qh,0,30);

(tn-ts)/ts/0.1

(-Qn-Qs)/Qs/0.1

%% (4) 强健性分析

dr_r=(w(ts,270)-90)/ts-1

10+dr_r*10*6.5

解答二(用MATLAB 的Symbolic Math Toolbox 的MuPAD 软件符号计算)

(1)运行以下MuPAD 语句,算得160α=:

solve(subs(diff(90*270/(90+(270-90)*E^(-a*t)),t), t=0)=1, a);

运行以下MuPAD 语句,绘得图11:

plot(plot::Function2d(90*270/(90+180*E^(-1/60*t)), t=0..400),

plot::Function2d(90+t, t=0..180, LineStyle=Dashed), plot::Line2d([0,270],[400,270],LineStyle=Dotted),#O);

运行以下MuPAD 语句,绘得图12 :

plot(plot::Function2d(90*270/(90+180*E^(-1/60*t)), t=0..20),

plot::Function2d(90+t,t=0..20,LineStyle=Dashed),#O);

(2)式()06000()m

t m w w w t w w w e -=+-是阻滞增长模型,

假设生猪体重的增长率是体重的线性递减函数. 于是,体重w 是时间t 的增函数,体重增加的速率先快后慢,时间充分长后,体重趋于m w . 而(2.3.2)式0()w t w rt =+只假设体重匀速增加. 长时间来看,新假设比原假设更符合实际. 两假设都满足(0)w r '=,在最佳出售时机附近误差微小.

相关主题
文本预览
相关文档 最新文档