赵静数学实验实验指导书.docx
- 文档编号:7035980
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:17
- 大小:105.45KB
赵静数学实验实验指导书.docx
《赵静数学实验实验指导书.docx》由会员分享,可在线阅读,更多相关《赵静数学实验实验指导书.docx(17页珍藏版)》请在冰豆网上搜索。
赵静数学实验实验指导书
《数学建模与数学实验》实验指导书(3+1)
实验一:
matlab编程
学时:
2学时
实验目的:
熟悉matlab编程,掌握用matlab进行函数拟合的方法。
实验内容:
1.写一个函数rs=f(s),对传进去的字符串变量s,删除其中的小写字母,然后将原来的大写字母变为小写字母,得到rs返回。
例如s=”aBcdE,Fg?
”,则rs=”be,f?
”。
提示:
可利用find函数和空矩阵。
2.f(x)的定义如下:
写一个函数文件f(x)实现该函数,要求参数x可以是向量。
3.求[100,999]之间能被23整除的数的个数。
提示:
可利用find和length函数。
4.一个自然数是素数,且它的各位数字位置经过任意对换之后仍为素数,则成为绝对素数。
例如113是绝对素数。
试求所有三位的绝对素数。
5.根据美国人口从1790年到1990年间的人口数据(如下表),确定人口指数增长模型(Logistic模型)中的待定参数,估计出美国2010年的人口,同时画出拟合效果的图形。
美国人口统计数据
年份
1790
1800
1810
1820
1830
1840
1850
人口(×106)
3.9
5.3
7.2
9.6
12.9
17.1
23.2
年份
1860
1870
1880
1890
1900
1910
1920
人口(×106)
31.4
38.6
50.2
62.9
76.0
92.0
106.5
年份
1930
1940
1950
1960
1970
1980
人口(×106)
123.2
131.7
150.7
179.3
204.0
226.5
提示:
●选择的一般形式是:
ifexpression
{commands}
end
如果在表达式(expression)里的所有元素为真,就执行if和end语句之的命令串{commands}.
●允许一组命令以固定的和预定的次数重复的形式是:
forx=array
{commands}
end
在for和end语句之间的命令串{commands}按数组(array)中的每一列执行一次.在每一次迭代中,x被指定为数组的下一列,即在第n次循环中,x=array(:
,n)
●一些常用函数:
⏹sum(a):
对数组a求和;若a为一矩阵,对a的每一列求和(得到一行向量);sum(a,2)对每一行求和。
⏹max(a),min(a)的用法和sum一样。
⏹find(a):
找到a中不为0的元素的下标;find(a==2):
找到a中等于2的元素的下标
⏹length(a):
数组a的长度
⏹字符串连接:
s=[s1,s2,num2str(1234)]
●函数如下定义:
function返回值=函数名(自变量名)
文件名.m必须和函数名一样,如果不一样,函数以文件名为主。
●人口模型:
⏹指数增长模型:
⏹Logistic模型:
⏹可参考拟合函数:
a=lsqcurvefit('example_curvefit_fun',a0,x,y);
实验二:
Lingo求解线性规划问题
学时:
4学时
实验目的:
掌握用Lingo求解线性规划问题的方法,能够阅读Lingo结果报告。
实验内容:
(选做两题以上)
1、求解书本上P130的习题1:
某银行经理计划用一笔资金进行有价证券的投资,可供购进的证券以及其信用等级、到期年限、收益如下表1所示,按照规定,市政证券的收益可以免税,其他证券的收益需按50%的税率纳税,此外还有以下限制:
1)政府及代办机构的证券总共至少要购进400万元;
2)所购证券的平均信用等级不超过1.4(信用等级数字越小,信用程序越高);
3)所购证券的平均到期年限不超过5年。
表1
证券名称
证券种类
信用等级
到期年限
到期税前收益(%)
A
市政
2
9
4.3
B
代办机构
2
15
5.4
C
政府
1
4
5.0
D
政府
1
3
4.4
E
市政
5
2
4.5
(1)若该经理有1000万元资金,应如何投资?
(2)如果能够以2.75%的利率借到不超过100万元资金,该经理应如何操作?
(3)在1000万元资金情况下,若证券A的税前收益增加为4.5%,投资应否改变?
若证券C的税前收益减少为4.8%,投资应否改变?
列出线性规划模型,然后用Lindo求解,根据结果报告得出解决方案。
2、建立模型并求解P130页第3题。
(建立线性规划模型的技巧:
问什么假设什么,如何雇用即雇用多少全时服务员以12:
00-1:
00为午餐,雇用多少全时服务员以1:
00-2:
00为午餐,雇佣多少从9:
00、10:
00、11:
00、12:
00、1:
00开始工作的半时服务员)。
3、指派问题:
6个人计划做6项工作,其效益如下表(”-”表示某人无法完成某项工作),求一种指派方式,使得每个人完成一项工作,并使得总收益最大。
所建模型最好具有推广性。
人
工作1
工作2
工作3
工作4
工作5
工作6
1
20
15
16
5
4
7
2
17
15
33
12
8
6
3
9
12
18
16
30
13
4
12
8
11
27
19
14
5
-
7
10
21
10
32
6
-
-
-
6
11
13
4、有限制的运输问题:
6个发点6个收点,其供应量、接收量和运费如下表1(”-”表示某个发电无法向某个收点运输货物),如果某个发点向某个收点运输货物,则运输量不得低于15个单位。
求运输方案,使得总费用最小。
所建模型最好具有推广性。
收点1
收点2
收点3
收点4
收点5
收点6
供应量
发点1
20
15
16
5
4
7
20
发点2
17
15
33
12
8
6
30
发点3
9
12
18
16
30
13
50
发点4
12
8
11
27
19
14
40
发点5
-
7
10
21
10
32
30
发点6
-
-
-
6
11
13
30
接受量
30
50
40
30
30
20
提示:
●第1题可参考书上4.1节。
模型可以如下建立:
设投资证券A,B,C,D,E的金额分别为x1,x2,x3,x4,x5万元.
max0.043x1+0.027x2+0.025x3+0.022x4+0.045x5
x2+x3+x4>=400
x1+x2+x3+x4+x5<=1000
(2x1+2x2+x3+x4+5x5)/(x1+x2+x3+x4+x5)<=1.4
(9x1+15x2+4x3+3x4+2x5)/(x1+x2+x3+x4+x5)<=5
●使用Lingo的一些注意事项
1.“>”与“>=”功能相同。
2.变量与系数间相乘必须用”*”号,每行用”;”结束。
3.变量以字母开头,不能超过8个字符。
4.变量名不区分大小写(包括关键字)。
5.目标函数用min=3*x1+2*x2或max=3*x1+2*x2的格式表示。
6.“!
”后为注释。
7.变量界定函数实现对变量取值范围的附加限制,共4种:
@bin(x)限制x为0或1
@bnd(L,x,U)限制L≤x≤U
@free(x)取消对变量x的默认下界为0的限制,即x可以取任意实数
@gin(x)限制x为整数
其他可见“Lingo教程.doc”
●书上85页的Lindo代码可改为如下Lingo代码:
max=72*x1+64*x2;
x1+x2<50;
12*x1+8*x2<480;
3*x1<100;
●例:
如何在LINGO中求解如下的LP问题:
在模型窗口中输入如下代码:
min=2*x1+3*x2;
x1+x2>=350;
x1>=100;
2*x1+x2<=600;
然后点击工具条上的按钮即可。
●例:
使用LINGO软件计算6个发点8个收点的最小费用运输问题。
产销单位运价如下表。
单
位销地
运
价
产地
B1
B2
B3
B4
B5
B6
B7
B8
产量
A1
6
2
6
7
4
2
5
9
60
A2
4
9
5
3
8
5
8
2
55
A3
5
2
1
9
7
4
3
3
51
A4
7
6
7
3
9
2
7
1
43
A5
2
3
9
5
7
2
6
5
41
A6
5
5
2
2
8
1
4
3
52
销量
35
37
22
32
41
32
43
38
可建立如下模型:
使用LINGO软件,编制程序如下:
model:
!
6发点8收点运输问题;
sets:
warehouses/wh1..wh6/:
capacity;
vendors/v1..v8/:
demand;
links(warehouses,vendors):
cost,volume;
endsets
!
目标函数;
min=@sum(links:
cost*volume);
!
需求约束;
@for(vendors(J):
@sum(warehouses(I):
volume(I,J))=demand(J));
!
产量约束;
@for(warehouses(I):
@sum(vendors(J):
volume(I,J))<=capacity(I));
!
这里是数据;
data:
capacity=605551434152;
demand=3537223241324338;
cost=62674295
49538582
52197433
76739271
23957265
55228143;
enddata
end
实验三:
matlab数值计算
学时:
2学时
实验目的:
1.掌握用matlab进行插值、拟合、方程求解等数值计算的方法。
2.掌握用matlab求微分方程和微分方程组的数值解的方法。
实验内容:
(任选两题以上)
1.某气象观测站测得某日6:
00-18:
00之间每隔2小时的温度如下:
时间
6
8
10
12
14
16
18
温度
18
20
22
25
30
28
24
试用三次样条插值求出该日6:
30,8:
30,10:
30,12:
30,14:
30,16:
30的温度。
2.已知lg(x)在[1,101]区间11个整数采样点x=1:
10:
101的函数值lg(x),试求lg(x)的5次拟合多项式p(x),并分别绘制出lg(x)和p(x)在[1,101]区间的函数曲线。
3.求以下非线性方程组的解:
4.求以下有约束最值:
5.求解书上P138,P139页的微分方程和微分方程组,画出书中图7、8和图3、4、5、6。
提示:
●一维插值:
Y1=interp1(X,Y,X1,'method')
1.函数根据X、Y的值,计算函数在X1处的值。
X、Y是两个等长的已知向量,分别描述采样点和样本值,X1是一个向量或标量,描述欲插值的点,Y1是一个与X1等长的插值结果。
method是插值方法,允许的取值有'linear'(线性插值)、'nearest'(最近插值)、'spline'(三次样条插值)、'cubic'(三次多项式插值),缺省值是'linear'。
●多项式拟合:
[P,S]=polyfit(X,Y,m)
2.函数根据采样点X和采样点函数值Y,产生一个m次多项式P及其在采样点的误差向量S。
3.其中X、Y是两个等长的向量,P是一个长度为m+1的向量。
●单变量非线性方程求解:
[x,fval]=fzero(f,x0,tol)
●[x,fval]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)
1.fun是一个函数文件functionf=fun(x)。
x0是初始值。
2.A,Aeq是一个矩阵;b,beq是一个列向量。
Ax<=b是不等式约束。
3.lb和ub是和x一样大小的列向量,规定每个分量的上下界。
4.nonlcon是函数文件,有特定格式function[c,ceq]=mycon(x),描述非线性约束c(x)和ceq(x)。
5.没有整数约束,0-1约束,敏感性分析。
●要求解微分方程(组)dy/dt=f(t,y),可如下调用:
[T,Y]=ode45(f,[t0,tn],y0)
函数在求解区间[t0,tn]内,自动设立采样点向量T,并求出解函数y在采样点T处的样本值Y。
f是一个函数,要有两个参数,第一个参数是自变量t,第二个参数是因变量y。
y0=y(t0)给定方程的初值。
例:
求微分方程初值问题dy/dx=-2y/x+4x,y
(1)=2在[1,3]区间内的数值解,并将结果与解析解进行比较。
先建立一个该函数的m文件fxy1.m:
functionf=f(x,y)
f=-2.*y./x+4*x%注意使用点运算符
再输入命令:
[X,Y]=ode45('fxy1',[1,3],2);
X'%显示自变量的一组采样点
Y'%显示求解函数与采样点对应的一组数值解
(X.^2+1./X.^2)'%显示求解函数与采样点对应的一组解析解
例:
求解常微分方程组初值问题在区间[0,2]中的解。
建立一个函数文件fxy2.m:
functionf=f(x,y)
f
(1)=y
(2);
f
(2)=-x.*y
(2)+x.^2-5;
f=f';
在MATLAB命令窗口,输入命令:
[X,Y]=ode45('fxy2',[0,2],[5,6])
实验四:
Lingo求解图论问题
学时:
2学时
实验目的:
把最短路径、最大流、最小生成树、旅行商、关键路径等图论问题转化为数学规划模型,并用Lingo进行求解。
实验内容:
把以下图从v0到v6最短路径问题转化为数学规划模型,并用Lingo进行求解。
提示:
最短路径问题的数学规划模型为:
实验五:
matlab统计工具箱
学时:
4学时
实验目的:
1.用matlab计算基本统计量,常见概率分布的函数,参数估计,假设检验。
2.掌握matlab进行回归分析的方法。
实验内容:
1、某校60名学生的一次考试成绩如下:
937583939185848277767795948991888683968179977875676968848381756685709484838280787473767086769089716686738094797877635355
1)计算均值、标准差、极差、偏度、峰度,画出直方图;
2)检验分布的正态性;
3)若检验符合正态分布,估计正态分布的参数并检验参数.
2、据说某地汽油的价格是每加仑115美分,为了验证这种说法,一位学者开车随机选择了一些加油站,得到某年一月和二月的数据如下:
一月:
119117115116112121115122116118109112119112117113114109109118
二月:
118119115122118121120122128116120123121119117119128126118125
1)分别用两个月的数据验证这种说法的可靠性;
2)分别给出1月和2月汽油价格的置信区间;
3)给出1月和2月汽油价格差的置信区间.
3、财政收入预测问题:
财政收入与国民收入、工业总产值、农业总产值、总人口、就业人口、固定资产投资等因素有关。
下表列出了1952-1981年的原始数据,试构造预测模型。
年份
国民收入(亿元)
工业总产值(亿元)
农业总产值(亿元)
总人口(万人)
就业人口(万人)
固定资产投资(亿元)
财政收入(亿元)
1952
598
349
461
57482
20729
44
184
1953
586
455
475
58796
21364
89
216
1954
707
520
491
60266
21832
97
248
1955
737
558
529
61465
22328
98
254
1956
825
715
556
62828
23018
150
268
1957
837
798
575
64653
23711
139
286
1958
1028
1235
598
65994
26600
256
357
1959
1114
1681
509
67207
26173
338
444
1960
1079
1870
444
66207
25880
380
506
1961
757
1156
434
65859
25590
138
271
1962
677
964
461
67295
25110
66
230
1963
779
1046
514
69172
26640
85
266
1964
943
1250
584
70499
27736
129
323
1965
1152
1581
632
72538
28670
175
393
1966
1322
1911
687
74542
29805
212
466
1967
1249
1647
697
76368
30814
156
352
1968
1187
1565
680
78534
31915
127
303
1969
1372
2101
688
80671
33225
207
447
1970
1638
2747
767
82992
34432
312
564
1971
1780
3156
790
85229
35620
355
638
1972
1833
3365
789
87177
35854
354
658
1973
1978
3684
855
89211
36652
374
691
1974
1993
3696
891
90859
37369
393
655
1975
2121
4254
932
92421
38168
462
692
1976
2052
4309
955
93717
38834
443
657
1977
2189
4925
971
94974
39377
454
723
1978
2475
5590
1058
96259
39856
550
922
1979
2702
6065
1150
97542
40581
564
890
1980
2791
6592
1194
98705
41896
568
826
1981
2927
6862
1273
100072
73280
496
810
提示:
●对随机变量x,计算其基本统计量的命令如下:
⏹均值:
mean(x)
⏹中位数:
median(x)
⏹标准差:
std(x)
⏹方差:
var(x)
⏹偏度:
skewness(x)
⏹峰度:
kurtosis(x)
●总体方差sigma2已知时,总体均值的检验使用z-检验
[h,sig,ci]=ztest(x,m,sigma,alpha,tail)
检验数据x的关于均值的某一假设是否成立,其中sigma为已知方差,alpha为显著性水平,究竟检验什么假设取决于tail的取值:
tail=0,检验假设“x的均值等于m”
tail=1,检验假设“x的均值大于m”
tail=-1,检验假设“x的均值小于m”
tail的缺省值为0,alpha的缺省值为0.05.
返回值h为一个布尔值,h=1表示可以拒绝假设,h=0表示不可以拒绝假设,sig为假设成立的概率,ci为均值的1-alpha置信区间.
●总体方差sigma2未知时,总体均值的检验使用t-检验[h,sig,ci]=ttest(x,m,alpha,tail)
●两总体均值的假设检验使用t-检验[h,sig,ci]=ttest2(x,y,alpha,tail)
●第3题可用逐步回归。
stepwise(x,y)。
⏹运行stepwise命令时产生三个图形窗口:
StepwisePlot,StepwiseTable,StepwiseHistory.
⏹在StepwisePlot窗口,显示出各项的回归系数及其置信区间.
⏹StepwiseTable窗口中列出了一个统计表,包括回归系数及其置信区间,以及模型的统计量剩余标准差(RMSE)、相关系数(R-square)、F值、与F对应的概率P.
●“有进有出”的逐步回归分析
⏹从一个自变量开始,视自变量Y作用的显著程度,从大到地依次逐个引入回归方程。
⏹当引入的自变量由于后面变量的引入而变得不显著时,要将其剔除掉。
⏹引入一个自变量或从回归方程中剔除一个自变量,为逐步回归的一步。
⏹对于每一步都要进行Y值检验,以确保每次引入新的显著性变量前回归方程中只包含对Y作用显著的变量。
⏹这个过程反复进行,直至既无不显著的变量从回归方程中剔除,又无显著变量可引入回归方程时为止。
实验六:
matlab随机模拟
学时:
2学时
实验目的:
掌握matlab进行随机模拟的方法。
实验内容:
(任选一题)
1、某设备上安装有四只型号规格完全相同的电子管,已知电子管寿命为均值为1500小时,标准差为500小时的正态分布。
当电子管损坏时有两种维修方案,一是每次更换损坏的那一只;二是当其中一只损坏时四只同时更换。
已知更换时间为换一只时需1小时,4只同时换为2小时。
更换时机器因停止运转每小时的损失为20元,又每只电子管价格10元,试用模拟方法编程决定哪一个方案经济合理?
已知matlab中normrnd(mu,sigma,m,n)可产生m*n大小的服从均值为mu,标准差为sigma的正态分布随机数。
可参考右边流程。
2.某报童以每份0.03元的价格买进报纸,以0.05元的价格出售.根据长期统计,报纸每天的销售量
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 实验 指导书