您的当前位置:首页正文

matlab命令数学建模上机实验完美版

2023-01-28 来源:意榕旅游网


济 数 学 建 模 上 机

1、设A、B两方案的净现金流量(单位:万元)如下表所示: 方 案 A B 投 资 (第一年) 10 20 年 净 收 入 (第二年开始) 3.0 3.2 计算期 6 12 (1)设折现率为10%,计算两个方案的净现值;

净现值计算公式:净现值=未来收益现金流折现—初始投资额 <1>投资方案A的净现值:matlab命令如下 cf=[-10,3,3,3,3,3,3]; npv=pvvar(cf,0.1) npv =3.0658

A方案的净现值为3.0658

<2>投资方案B 的净现值:matlab命令如下 cf=[-20,3.2,3.2,3.2,3.2,3.2,3.2,3.2,3.2,3.2,3.2,3.2,3.2]; npv=pvvar(cf,0.1) npv =1.8038

B方案的净现值为1.8038

(2)计算两个方案的内部收益率。 A方案的内部收益率:matlab命令如下 cf=[-10,3,3,3,3,3,3]; Return=irr(cf) Return =0.1991

由运行结果可得A方案的内部收益率为:0.1991 B方案的内部收益率:matlab命令如下

cf=[-20,3.2,3.2,3.2,3.2,3.2,3.2,3.2,3.2,3.2,3.2,3.2,3.2]; Return=irr(cf) Return = 0.1181

由运行结果可得B方案的内部收益率为:0.1181

2、某厂生产的一种电器的销售量y与竞争对手的价格x1和本厂的价格x2有关。下表是该厂在二十个城市的销售记录。

城市 销量(个) 竞争对手价格(元) 本 厂 价 格 (元) 城 市 销 量 (个) 竞争对手价格 (元) 本 厂 价 格 (元) 1 2 3 4 5 6 7 8 9 10 102 100 110 115 105 98 95 93 90 89 120 140 138 130 136 148 110 150 165 160 100 110 105 115 118 145 112 165 170 190 11 12 13 14 15 16 17 18 19 20 77 69 92 60 85 82 65 69 46 36 130 145 166 145 150 140 180 145 200 220 156 268 150 200 230 160 270 250 280 286 (1) 根据这些数据建立本厂的需求函数模型;

(2) 根据这些数据建立y与x1和x2的关系(至少两种模型) (1)根据这些数据建立本厂的需求函数模型; 设方程为 y=a + b*x1 + c*x2 Matlab 程序设计如下:

x1=[ 100 110 105 115 118 145 112 165 170 190 156 268 150 200 230 160 270 250 280 286]; x2=[120 140 130 220];

145

138 166

130 145

136 150

148 140

110 150 180

165

160

145 200

y=[102 100 110 115 105 98 95 93 90 89 77 69 92 60 85

82 65 69];

X=[ones(20,1) x1’ x2’]; [b,bint,r,rint,stats]=regress(y,X) b =148.3720 -0.2518 -0.1286

bint =117.8121 178.9320 -0.3641 -0.1395 -0.4060 0.1488

stats =0.7967 33.3049 0.0000 100.1054

即a=148.3720 b=-0.2518 c=-0.1286;a的置信区间为[117.8121 ,178.9320], b的置信区间为[-0.3641 , -0.1395], c的置信区间为[-0.4060 ,0.1488]; r2=0.7967, F=33.3049, p=0.0000

p<0.05, 可知回归模型 y=148.3720-0.2518x1-0.1286x2 成立.

(2)根据这些数据建立y与x1和x2的关系(至少两种模型); 1选择纯二次模型, ○

>> x1=[100 110 105 268

150

200

115 118 145 230

160

112 165 270

170

190

156

250 280 286]; 165145

>> x2=[120 140 160 200

130 220];

138 130 136 148 110 150 180

145 166 145 150 140

>> y=[102 100

110 115 105 98 95 93 90 89 77 69 92 60 85 82

65 69 46 36];

>> x=[x1' x2'];

>> rstool(x,y,'purequadratic') >>

140120100806040200120140160180200220240260120140160180200

>> beta, rmse

beta =-36.7974 -0.8178 2.8113 0.0015 -0.0089 rmse =8.0762 >>

2故回归模型为:y36.79740.8178x12.8113x20.0015x120.0089x2

剩余标准差为8.0762, 说明此回归模型的显著性较好.

2选择交叉模型 ○

120110100908070605040120140160180200220240260120140160180200

beta, rmse beta6 = 61.9094 0.1245 0.4847 -0.0026 rmse6 =9.2094

故回归模型为:y61.90940.1245x10.4847x20.0026x1x2 剩余标准差为9.2094, 说明此回归模型的显著性较好.

3.一个城镇有三个主要生产企业:农业、制造业和服务业作为它的经济系统.农业生产价值1元的产品,需消耗0.15元的农业、0.35元的制造业和0.25元的服务业的产品;制造业生产价值1元的产品,需消耗0.40元的农业、0.05元的制造业和0.10元的服务业的产品;服务业提供价值1元的产品,则需消耗0.25元的农业、0.10元的制造业和0.10元的服务业的产品. 在某个月内,除了这三个部门间的彼此

需求,农业得到500000元的订单,制造业得到250000元的供应要求,而服务业得到价值300000元的需求.试问

(1)、这三个部门在这个月各应生产多少产值才能满足内外需求? 各部门的订单可以看做是投入产出表中各部门的最终产品Y,我们需要求的是各部门的总产值X,直接消耗系数矩阵为A,X=inv(E-A)*Y; MATLAB 命令如下:

A=[0.15,0.40,0.25;0.35,0.05,0.10;0.25,0.10,0.10]; Y=[500000;250000;300000]; eye(3,3)-A;

X=inv(eye(3,3)-A)*Y

运行结果:X =1170921.46851447 772915.147094578 744468.75759786

由运行结果可知:农业的总产值是:1170921.46851447 制造业的总产值是:772915.147094578 服务业的总产值是:744468.75759786

(2)、求列昂节夫矩阵、完全消耗系数矩阵;

列昂节夫矩阵为E-A;完全消耗系数矩阵B=(EA)1-E MATLAB 命令如下:

A=[0.15,0.40,0.25;0.35,0.05,0.10;0.25,0.10,0.10]; >> eye(3,3)-A

ans =

0.85 -0.4 -0.25 -0.35 0.95 -0.1 -0.25 -0.1 0.9 完全消耗系数矩阵B:matlab命令如下

A=[0.15,0.40,0.25;0.35,0.05,0.10;0.25,0.10,0.10]; Y=[500000;250000;300000]; B=inv(eye(3,3)-A)-eye(3,3) Matlab运行结果 B =

0.6436 0.7488 0.5398 0.6613 0.3664 0.3355 0.5300 0.3598 0.2983 (3)、写出投入产出表;

(4)、若在以后的二个月内,企业外部需求的增长速度是:农业每月增长15%,制造业每月增长3%,服务业每月运输增长12%;那么各企业的总产值将平均每月增长多少?

根据增长率算出两个月后的总产出,X2=(inv(eye(3,3)-A))*Y2

Matlab命令如下:

A=[0.15,0.40,0.25;0.35,0.05,0.10;0.25,0.10,0.10]; Y=[500000;250000;300000]; y4=500000*((1+0.15)^2) y5=250000*((1+0.03)^2) y6=300000*((1+0.12)^2) Y2=[661250;265225;376320] X2=(inv(eye(3,3)-A))*Y2

X1=[1170921.46851447;772915.147094578;744468.75759786]; X2=[1488542.03744226;925963.068319961;934502.017991733]; x1=1170921.46851447; x2=772915.147094578; x3=744468.75759786; x4=1488542.03744226; x5=925963.068319961; x6=934502.017991733; a1=(x4/x1)^(1/2)-1 a2=(x5/x2)^(1/2)-1 a3=(x6/x3)^(1/2)-1 运行结果如下:

y4 =661250 y5 =265225

y6 =376320 Y2 =661250 265225 376320

X2 =1488542.03744226 925963.068319961 934502.017991733 a1 =0.127500303865124 a2 =0.0945382004694413 a3 =0.120383961897471 4.投资问题(建模并计算)

某部门现有资金200万元,今后五年内考虑给以下的项目投资。已知: 项目A:从第一年到第五年每年年初都可投资,当年末能收回本利

110%;

A项目各年的投资变量为x1,x2,x3,x4,x5

项目B:从第一年到第四年每年年初都可投资,次年末能收回本利

125%,但规定每年最大投资额不能超过30万元;

B项目各年的投资变量为x6,x7,x8,x9

项目C:需在第三年年初投资,第五年末能收回本利140%,但规

定最大投资额不能超过80万元; C项目的投资变量为x10

项目D:需在第二年年初投资,第五年末能收回本利155%,但规定

最大投资额不能超过100万元; D 项目的投资变量为 x11

据测定每万元每次投资的风险指数如表:

项目 A B C D 风险指数(次/万元) 1 3 4 5.5 问:a)应如何确定这些项目的每年投资额,使得第五年年末拥有资

金的本利金额为最大? Maxz =1.1x5+1.25x9+1.4x10+1.55x11 s.t. x1 + x6 = 200

-1.1x1+x2 + x7+ x11 =0 -1.1x2+x3-1.25x6 + x8+ x10 = 0

-1.1x3+x4 -1.25x7+ x9 = 0 -1.1x4+x5-1.25x8 = 0 x6≤30 x7≤30 x8≤30 x9≤30 x10 ≤ 80, x11 ≤ 100

xij≥0 ( i = 1、2、3、4、5;j = 1、2、3、4)

根据模型编辑matlab命令: c=[0 0 0 0 -1.1 0 0 0 -1.25 -1.4 -1.55];

Aeq=[1,0,0,0,0,1,0,0,0,0,0;-1.1,1,0,0,0,0,1,0,0,0,1;0,-1.1,1,0,0,-1.25,0,1,0,1,0;0,0,-1.1,1,0,0,-1.25,0,1,0,0;0,0,0,-1.1,1,0,0,-1.25,0,0,0];

beq=[200;0;0;0;0];

A=[0 0 0 0 0 1 0 0 0 0 0;0 0 0 0 0 0 1 0 0 0 0;0 0 0 0 0 0 0 1 0 0 0;0 0 0 0 0 0 0 0 1 0 0;0 0 0 0 0 0 0 0 0 1 0;0 0 0 0 0 0 0 0 0 0 1];

b=[30;30;30;30;80;100]; vlb=[0,0,0,0,0,0,0,0,0,0,0];vub=[]; [x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub) 运行结果如下:

X= 170.000000374327 59.4009566825639 7.90848846347024e-007 4.49880674049578 33.5000027882525 29.9999996256732 27.5990438299078 22.8410522989657

29.999998916823 79.9999987930981 99.9999998992782 fval =-341.349999867325

由此可以看出,各年投资额的为x的矩阵,最大收益为fval的相反数,为341.35万元

b)应如何确定这些项目的每年投资额,使得第五年年末拥有资金的本利在330万元的基础上使得其投资总的风险系数为最小? Minw=x1+x2+x3+x4+x5+3x6+3x7+3x8+3x9+4x10+5.5x11 s.t. x1 + x6 = 200

-1.1x1+x2 + x7+ x11 =0 -1.1x2+x3-1.25x6 + x8+ x10 = 0

-1.1x3+x4 -1.25x7+ x9 = 0 -1.1x4+x5-1.25x8 = 0 x6≤30 x7≤30 x8≤30 x9≤30 x10 ≤ 80, x11 ≤ 100

-1.1x5-1.25x9-1.4x10-1.55x11≤ -330

xij≥0 ( i = 1、2、3、4、5;j = 1、2、3、4) matlab命令如下:

c=[1,1,1,1,1,3,3,3,3,4,5.5];

Aeq=[1,0,0,0,0,1,0,0,0,0,0;-1.1,1,0,0,0,0,1,0,0,0,1;0,-1.1,1,0,0,-1.25,0,1,0,1,0;

0,0,-1.1,1,0,0,-1.25,0,1,0,0;0,0,0,-1.1,1,0,0,-1.25,0,0,0]; beq=[200;0;0;0;0];

A=[0 0 0 0 0 1 0 0 0 0 0;0 0 0 0 0 0 1 0 0 0 0;0 0 0 0 0 0 0 1 0 0 0;0 0 0 0 0 0 0 0 1 0 0;0 0 0 0 0 0 0 0 0 1 0;0 0 0 0 0 0 0 0 0 0 1;0,0,0,0,-1.1,0,0,0,-1.25,-1.4,-1.55]; b=[30;30;30;30;80;100;-330]; vlb=[0,0,0,0,0,0,0,0,0,0,0];vub=[]; [x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub) 运行结果如下: x =199.999999996333 158.595034748964 136.435502206387 150.07905242801 165.086957673066 3.66988104889918e-009

1.18848454743001e-009 1.80099983846738e-009 5.03011172611181e-010 38.0190360202567 61.4049652458121 fval =1300.00000000724

fval为在本利资金大于330的情况下最小风险系数为1300。

5.某报童每天从发行商处购进报纸零售,晚上将没有卖掉的报纸退回.

如果每份报纸的购进价0.8元,每份报纸的零售价为1元,每份报纸的退回价为0.75元.每天报纸的需求量是随机的,现收集了159天的报纸需求量的情况如下表:

表中需求量在100~119天的天数为3天,其余类推。

需求量 100— 120— 140— 160— 180— 100— 220— 240— 260— 280— 天数 3 9 12 23 32 35 20 15 8 2 (1)将报纸的需求看为离散型,在计算有关数据时取小区间的中点,

为报童提供最佳决策。

(2)若认为报纸的需求量服从正态分布,报童的最佳决策又是什么? (1)将报纸的需求看为离散型,在计算有关数据时取小区间的中点,

为报童提供最佳决策。

(2)若认为报纸的需求量服从正态分布,报童的最佳决策又是什么?

解:(1)建模一:

设报童订报纸份数为n,需求量r~f (r).)

设购进n份的平均收入(即期望)日收入为 g(n) 则g(n)(ab)n;rn

(ab)r(bc)(nr);rn用G(n)表示日平均收入,问题归纳为在f(r),a,b,c已知时,求n,使G(n)最大。

G(n)E(g(n))g(n)f(r)[(ab)r(bc)(nr)]f(r)r0r0nrn1(ab)nf(r)

通常需求量r和购进量n都很大,为便于分析,将r视为连续型随机变量,f(r)转化为概率密度函数。

G(n)[(ab)r(bc)(nr)]p(r)dr(ab)np(r)dr

0nn令

ndG0 dn

0p(r)drp(r)drnab bcnp(r)drP

10p(r)drP

2n取n使

Pab1 P2bc由于数据多组,应考虑用Matlab设计程序求解:

P=[3/159, 9/159, 12/159, 23/159, 32/159, 35/159, 20/159, 15/159, 8/159,

2/159] ;

S=0; for i=1:10 S=s+p (i) ; if s>=0.8 disp (i) ; return end end

Matlab 输出为7,说明概率等于0.8的订报量分布于第六组和第七组之间。

假设区间内数据平均分布,则订报份数即【220,240】。 当区间内数据平均分布是,设订报量为n,则

230nn210 134114159159其中

134114和分别是第七组和第五组的频数累和,解得:n = 219 159159则订报份数为219份。

(2)根据题意,用excel求出均值及方差,标准差

取均值=199.6;标准差=38.7 可编程:

所以,此时报童的最佳决策为购进报纸232份。

因篇幅问题不能全部显示,请点此查看更多更全内容