您的当前位置:首页正文

数学建模复习内容带习题答案

来源:个人技术集锦
考试内容分布: 1、 2、 3、 4、 5、 6、

线性规划2题,有1题需编程; 非线性规划2题,有1题需编程; 微分方程 1题,需编程;

差分方程2题,纯计算,不需编程; 插值2题,拟合1题,纯计算,不需编程;; 综合1题(4分),纯计算,不需编程。

一、 列出下面线性规划问题的求解模型,并给出matlab计算环境下的程序

1. 某车间有甲、已两台机床,可用于加工三种工件,假定这两台车床的可用台时数分别为800和900,三

种工件的数量分别为400,600和500,且已知用两种不同车床加工单位数量不同工件所需的台时数和加工费用如下表。问怎样分配车床的加工任务,才能即满足加工工件的要求,又使加工费用最低。(答案见课本P35, 例1)

2. 有两个煤厂A,B,每月进煤分别不少于60t、100t, 它们负责供应三个居民区的用煤任务,这三个居民

区每月需用煤分别为45t, 75t, 40t。 A厂离这三个居民区分别为10km, 5km, 6km, B厂离这三个居民区分别为4km, 8km, 15km, 问这两煤厂如何分配供煤,才能使总运输量最小?

(1) 问题分析

设A煤场向这三个居民区供煤分别为x1,x2,x3;B煤场向这三个居民区供煤分别为x4,x5,x6,则min f=10* x1+5*x2+6*x3+4*x4+8*x5+15*x6,再根据题目约束条件来进行解题。

(2) 模型的求解

>> f=[10 5 6 4 8 15]; >> A=[-1 -1 -1 0 0 0

0 0 0 -1 -1 -1 -1 0 0 -1 0 0 0 -1 0 0 -1 0 0 0 -1 0 0 -1];

>> b=[-60;-100;-45;-75;-40]; >> Aeq=[]; >> beq=[];

>> vlb=zeros(6,1); >> vub=[];

>> [x,fval]=linprog(f,A,b,Aeq,beq,vlb,vub) Optimization terminated.

(3) 结果分析

x =

0.0000 20.0000 40.0000 45.0000 55.0000 0.0000 fval = 960.0000

即A煤场分别向三个居民区供煤0t,20t,40t;B煤场分别向三个居民区供煤45t,55t,0t可在满足条件下使得总运输量最小。

3. 某工厂利用两种原料甲、乙生产A1,A2,A3三种产品,每月可供应的原料数量(单位:t)、每万件产品

所需各种原料的数量以及每万件产品的价格如下表所示 每万件产品所学原料/t 原料 甲 乙 价格/万元 每月原料供应量/t 180 200 A1 4 2 12 A2 3 6 5 A3 1 3 4 试制定每月最优生产计划,使得总收益最大。

解:设A1生成x1万件,A2生成x2万件,A3生成x3万件 那么总收入为:12*x1+5*x2+4*x3

目标:总收入最大,即:max 12*x1+5*x2+4*x3

约束条件:

1.甲原材料:4*x1+3*x2+x3<=180 2.乙原材料:2*x1+6*x2+3*x3<=200 3.物理条件:x1>=0,x2>=0,x3>=0

在Matlab中输入: f=-[12;5;4]; A=[4,3,1;2,6,3]; b=[180;200]; Aeq=[]; beq=[];

xmin=[0,0,0];

xmax=[inf,inf,inf]; x0=xmin;

[x,fmin]=linprog(f,A,b,Aeq,beq,xmin,xmax,x0);

x,-fmin 结果为: x =

34.0000 0.0000 44.0000 ans =

584.0000

即当生产34万件的A1和44万件的A3。总收入达到最大,为584万。

4、某医院负责人每日至少需要下列数量的护士: 班次 时间 最少护士数 1 6时—10时 60 2 10时—14时 70 3 14时—18时 60 4 18时—22时 50 5 22时—02时 20 6 02时—06时 30 每班护士在职半开时向病房报道,连续工作八小时,医院领导为满足每班所需要的护士数,最少需雇佣多少护士? 试根据你了解的实际情况建立一个较好的数学模型及相应的算法和程序。

解:一、问题假设

1、每名值班护士都正常工作,没有请假现象。 2、该医院不存在大的人员变动。 3、每名护士都可以连续工作八小时。

二、问题分析

分析该问题,可以得出该问题是一个线性规划问题,求解需雇佣的最少护士人数,所以应该,建立目标函数以及对应的约束条件。根据每班的人数列出目标函数,根据六个时间段所需要的最少护士数建立六个约束条件。

三、符号说明

符号 表示意义 需要雇佣的最少护士数 Z 符号 xi 表示意义 第i个班次加入值班的人数 四、模型建立

根据题意判断出该问题属于求解最优化问题,需要确定目标函数和约束条件,具体模型如下:

minZx1x2x3x4x5x6x1x660xx7021x2x360 s.t.x3x450xx2054x5x630xi0,i1,2,,6五、模型求解

利用matlab软件,编写m文件,求解该模型。 程序代码:

%dierti

f=[1,1,1,1,1,1] A=[-1 0 0 0 0 -1; -1 -1 0 0 0 0; 0 -1 -1 0 0 0; 0 0 -1 -1 0 0; 0 0 0 -1 -1 0; 0 0 0 0 -1 -1;]

b=[-60;-70;-60;-50;-20;-30;] lb=zeros(6,1);

[x,fval,exitflag,output,lambda]=linprog(f,A,b,[],[],lb)

计算结果:

f =

1 1 1 1 1 1 A =

-1 0 0 0 0 -1 -1 -1 0 0 0 0 0 -1 -1 0 0 0 0 0 -1 -1 0 0

0 0 0 -1 -1 0 0 0 0 0 -1 -1 b = -60 -70 -60 -50 -20 -30 x =

41.9176 28.0824 35.0494 14.9506 9.8606 20.1394 fval =

150.0000

六、模型求解分析

根据计算的结果可以得出,该医院至少要雇用150护士,其中在每个班次中添加的具体人员如下表:

表一:每个班次中加入的人员数

班次 1 2 3 4 5 6 综上,求解出该值班安排问题。

护士数 42 28 35 15 10 20 二、 列出下面问题的求解模型,并给出matlab计算环境下的程序

1.炼油厂将A、B、C三种原料加工成甲乙丙三种汽油。一桶原油加工成汽油的费用为4元,每天至多能加工汽油14,000桶。原油的买入价、买入量、辛烷值、硫含量,及汽油的卖出价、需求量、辛烷值、硫含量由下表给出。问如何安排生产计划,在满足需求的条件下使利润最大?

原油类别 A B C 汽油类别 甲 乙 丙 解:

买入价(元/桶) 买入量(桶/天) 45 ≤5000 35 ≤5000 25 ≤5000 卖出价(元/桶) 70 60 50 需求量(桶/天) 3000 2000 1000 辛烷值(%) 硫含量(%) 12 6 8 0.5 2.0 3.0 辛烷值(%) 硫含量(%) ≥10 ≥8 ≥6 ≤1.0 ≤2.0 ≤1.0 甲(3000)乙(2000)X2X5X8丙(1000)X3X6X9决策变量:目标:总利润最大A/45B/35C/25X1X4X7maxz7030006020005010004600045x1x2x335x4x5x625x7x8x9356000minfminf45x1x2x335x4x5x625x7x8x9约束:需求限制;含量限制;原料限制;非负限制 需求限制x1x4x73000x2x5x82000x3x6x91000x1x2x35000x4x5x65000x7x8x9500012x16x48x710300012x26x58x882000原料限制约束含量限制12x36x68x9610000.5x12x43x730000.5x22x53x8220000.5x32x63x91000非负限制

x0

c=[45454535a1=[100101000010a2=[111000010000-1200-60-120000-1200.500200.500000.50b1=[3000 20001000];b2=[5000 50005000-30000v1=zeros(1,9);[x f]=linprog(c,a2,b2,a1,b1,v1)z=356000-f350100100-60020-160003500101000-6002-600025100001-8003003000250100010-80030400025];0;0;1];0;0;1;0;0;-8;0;0;3];1000];甲(3000)A/45B/35C/2524000600乙(2000)80001200丙(1000)8000200总盈利:126000元

2. 要设计和发射一个带有X射线望远镜和其他科学仪器的气球,对于性能的粗糙的度量方法是以气球所能达到的高度和所携仪器的重量来表达,很清楚,高度本身是气球体积的一个函数。根据过去的经验作出的结果,是求极大满意性能函数 Pf(V,W)100V0.3V80W0.2W, 此处V是体积,W是仪器重量。 承包项目的预算限额是1040美元,与体积V有关的费用是2V,与设备有关的费用是4W,为了保证在高度方面的性能与科学设备方面的性能之间的合理平衡,设计者需要满足约束条件80W100V。

22找出由体积和设备重量来表达的最优设计模型。

解:由题意可以问题的V和W应满足的约束条件为s.t.

然后求解目标函数

=(,)=100-0.3

+80W-0.2

的最大值。我们可以用非线性规划的线性逼近的方法将目标函数

转化成近似的线性函数然后用线性规划的求解的方法即可得出结果。

根据题意建立模型: Max f = 100s.t.

模型求解的Matlab程序如下:

-0.3

+80W-0.2

(1)建立非线性目标函数文件

function f=qiqiu01(x)

f=0.3*x(1)^2-100*x(1)+0.2*x(2)^2-80*x(2);

(2) 建立主程序求解

clear all; x0=[1;1];

A=[1,2;5,-4]; b=[520;0];

Aeq=[];beq=[];

vlb=[0;0]; vub=[];

[x,fval]=fmincon('qiqiu01',x0,A,b,Aeq,beq,vlb,vub); x fval

%求出的结果为: x =

148.5714 185.7143 fval =

1.6194e+004

3、某厂向用户提供发动机,合同规定,第一、二、三季度末分别交货40台、60台、80台.每

季度的生产费用为 f(x)axbx2(元),其中x是该季生产的台数.若交货后有剩余,可用于下季度交货,但需支付存储费,每台每季度c元.已知工厂每季度最大生产能力为100台,

第一季度开始时无存货,设a=50、b=0.2、c=4,问工厂应如何安排生产计划,才能既满足合同又使总费用最低. 解:问题的分析和假设:

分析:问题的关键在于由于工厂的生产能力足以满足每个季度用户的需求,但是为了使总费用最少,那么利用每个季度生产费用的不同,可用利用上个生产费用低的季度多生产来为下个季度进行准备,前提是本月节省下的费用减去总的发动机存储费用还有剩余,这样生产才有价值,才可能满足合同的同时又能使总费用最低。

基本假设:1工厂的生产能力不受外界环境因素影响。2为使总费用最低,又能满足合同要求,各个季度之间的生产数量之间是有联系的。3第一季度开始时无存货。4工厂每季度的生关费用与本季度生产的发动机台数有关。5生产要按定单的数量来进行,生产的数量应和订单的数量相同,以避免生产出无用的机器。

符号规定:X1―――第一季度生产发动机的数量 X2―――第二季度生产发动机的数量 X3―――第三季度生产发动机的数量

建模: 1三个季度发动机的总的生产量为180台。

2每个季度的生产量和库存机器的数量之和要大于等于本季度的交货数量。 3每个月的生产数量要符合工厂的生产能力。

4将实际问题转化为非线性规划问题,建立非线性规划模型

目标函数 min f(x)=50(x1+x2+x3)+0.2(x12+x22+x32)+4(x1-40)+4(x1+x2-100)

整理,得 min f(x)=50(x1+x2+x3)+0.2(x12+x22+x32)+4(2x1+x2-140) 约束函数 s.t x1+x2≥100; X1+x2+x3=180; 40≤x1≤100; 0≤x2≤100; 0≤x3≤100; 求解的Matlab程序代码: M-文件 fun.m: function f=fun (x);

f=50*(x(1)+x(2)+x(3))+0.2*(x(1)^2+x(2)^2+x(3)^2)+4*(2*x(1) +x(2)-140) 主程序fxxgh.m: x0=[60;60;60]; A=[-1 -1 0];b=[-100]; Aeq=[1 1 1];beq=[180];

vlb=[40;0;0];vub=[100;100;100];

[x,fval]=fmincon('fun',x0,A,b,Aeq,beq,vlb,vub)

计算结果与问题分析讨论: 计算结果:x =

50.0000

60.0000 70.0000

fval = 11280

问题分析讨论:

由运算结果得:该厂第一季度、第二季度、第三季度的生产量分别是50台、60台和70台时,才能既满足合同又使总费用最低,费用最低为11280元。

三、 给出下列为微分方程数值解的求解程序

d2xdx21000(1x2)x01. dt (课本,P132页例4) dtx(0)0,x(0)1y2y3y1y1y3y22. (课本,P132页例5)

0.51y1y2y3y1(0)0,y2(0)1,y3(0)1

d2ydy27(1y2)y03. dt (课本,P132页例4,系数“1000”被改为了“7”) dty(0)1,y(0)01(1x)y1(y)24.  5y(0)0,y(0)0解:(1) 微分方程M函数文件 function dy=daodan01(x,y) dy=zeros(2,1); dy(1)=y(2);

dy(2)=0.2*(1/(1-x))*sqrt(1+y(2)^2)

(2)建立主程序求解

clear all; t0=0;tf=10;

[t,y]=ode45('daodan01',[t0,tf],[0,0]); plot(t,y,'r*'); t , y

5dx(1x)dt22(1x)(ty)5dy(ty) (课本,P132页例6) 5. 22(1x)(1y)dtx(0)0,y(0)0

四、 求解下列差分方程的通解 1. 斐波那契数列

FFn1Fn2 n (课本,P138页例7 )

FF1122. 求解 an2an1an2,n3,4,, 初值 a12,a23 (课本,P138页例8 ) 3. 求解 anan1an2,n3,初值a11,a20 (课本,P139页例10 ) 4. H(n)H(n1)H(n2)H(n3),求其通解

解:对应的特征方程 x3x2x10,化简 (x1)2(x1)0 求解得:x1x21,x31

nc1c2nc3 所以通解: H(n)c1x1nc2nx1nc3x3

5. 某人上一共有n级台阶的楼梯,如果规定他每步只能上1级台阶或2级台阶,问共有多少种不同的上楼梯的方法。

解:第一步上1级台阶,则有H(n-1)种上楼梯的方法;第二步上2级台阶,则有H(n-2)种上楼梯的方法。因此 H(n)=H(n-1)+H(n-2),特征方程为: x2x1 特征根为:x11515,x2,写出通解并根据H(1)=1,H(2)=2求c1和c2 226. 只由3个字母a,b,c组成的长度为n的一些单词将在通信信道上传输,传输中应满足条件:

不得有两个a连续出现在任一单词中,确定通信信道允许传输的单词的个数。

解:设单词的总长度是n。若第1个字母是a,那么第2个字母可以是b或c,即开头两个字母是ab或ac,这种情况的单词方案为2*f(n-2)。

若第1个字母是b或c,那么第2个字母可以任取,这种情况的单词方案为2*f(n-1)。 故有f(n)=2f(n-1) +2f(n-2) 对应的特征方程为 x22x20,求解得特征根为

x113,x213,所以通解为 f(n)c1(13)nc2(13)n 将初值 f(0)1,f(1)3代入得 c12323,c22323

7. 某人有n(n≥1)元钱,他每天买一次物品,或者买一元钱的甲物品,或者买两元钱的乙物品。问此人有多少种方式花完这n元钱?

解:H(n)=H(n-1)+H(n-2); n=1时, H(1)=1; n=2时, H(2)=3; 求出特征根。 自己求解即可。

8.求长度为n的0,1符号串,不出现00的符号串总数。

解:第1个符号为0时,第二个符号只能为1,此时共有H(n-2)中排法;第1个符号为1时,第二个符号可任意排,此时共有H(n-1)种排法。因此

H(n)=H(n-1)+H(n-2)。可求出特征根,并根据H(1)=2, H(2)=3求其参数c1和c2

9. 从n个文字中取k个文字作允许重复的排列,但不允许一个文字连续出现3次,求这样的排列的数目。 解:

首先,假设取n个文字作允许重复的排列,不允许一个字连续出现3次的排列数为an,

假设取n-1个文字最后一位为x,最后一位与x不同的取法有(k-1)种,(k-1)an-1种。 少算了最后一位也取x的情况,就是最后两位都是x的情况,也就是最后两位与倒数第三位不同的情况,有(k-1)an-2种。

an(k1)an1(k1)an2a1k,a2k,a3kk特征方程为x(k1)x(k1)0223

特征根(k1)(k1)24(k1)x

2(k1)(k1)(k3) 2设r1(k1)(k1)(k3)2

(k1)(k1)(k3)r22nn则ank1r1k2r2

代入初值a1k,a2k,2,可求出k1,k2

五、 插值与拟合

1. 根据下表给出的平方根值,(1)用线性插值计算5; (2)用抛物线法计算5

x 1 1 4 2 9 3 16 4 x (答案见课本P151, 例1和例2)

2. 已知yf(x)的函数表

x y 1 1 3 2 求线性插值多项式,并计算x1.5的值。 解:

xx0xx1

p(x)y0y1 x0x1x1x0 x3x1112(x1) 13312 f(1.5)p(1.5)1.253.已知x=1, 4, 9 的平方根值, 用抛物插值公式, 求解:7(x–x1)(x–x2)(x–x0)(x–x2)y1L2(x)=(x–x)(x–x)y0+0102(x1–x0)(x1–x2)(x–x0)(x–x1)+y2(x2–x0)(x2–x1)x0=1, x1=4, x2=9(7–4)(7–9)L2(7)=(1–4)(1–9)(7–1)(7–4)+(9–1)(9–4)= 2.72014/12/30jkhhy0=1, y1=2, y2=3 *1+* 332(7–1)(7–9)(4–1)(4–9)* 2 4.求过点(0,1)、(1,2)、(2,3)的三点插值多项式解:由Lagrange 插值公式(xx0)(xx2)(xx0)(xx1)(xx1)(xx2)P(x)y0y1y2(x0x1)(x0x2)(x1x0)(x1x2)(x2x0)(x2x1)(x1)(x2)(x0)(x2)(x0)(x1)p(x)123(01)(02)(10)(12)(20)(21)x1(给定的三个点在一条直线上)2014/12/30jkhh34 5. 已知f (x)的观测数据x 0 1 2 4f (x) 1 9 23 3构造Lagrange插值多项式解四个点可构造三次Lagrange插值多项式:基函数为l(x)(x1)(x2)(x4)1770(01)(02)(04)8x38x24x1l1(x)(x0)(x2)(x4)(10)(12)(14)13x32x283xl(x0)(x1)(x4)32(x)(20)(21)(24)1x5x2x2014/12/30jkhh44l(x0)(x1)(x2)131213(x)(40)(41)(42)24x8x12xLagrange插值多项式为3L3(x)yklk(x)k0l0(x)9l1(x)23l2(x)3l3(x)114x3454x212x12014/12/30jkhh3536 6. 已知f(x)的观测数据x 1 2 3 4f(x) 0 -5 -6 3构造三次拉格朗日插值多项式解: 四个点可以构造三次插值多项式, 将数据代入插值公式,有L3(x)l0(x)y0l1(x)y1l2(x)y2l3(x)y3x34x232014/12/30jkhh

7.. 用二次多项式函数拟合下述给定数据,求其超定方程和相应的正规方程。x 1 2 3 4 y 4 10 18 36 解:设

P(x)a0a1xa2x2,得

a0a1a24111a02a14a210124a403aa,a01939a110 2181a4a0116a2261416a18226

记系数矩阵为,则

4103058T1030100, Ty

18230100354622故正规方程组为

41030a0581030100a301003541182 a2622解得

a349102,a110,a22

37

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