江西科技师范学院
实 验 报 告
课程 数学模型
系别
班级 _
学号 ____ _
姓名 _____
目录
实验一 Matlab基本语法与绘图……………………………………
实验二 Matlab解规划问题…………………………………
实验三 Matlab解微积分与微分方程……………………………
实验四 Matlab解最短路问题…………………………………
实验五 概率统计模型…………………………
实验一Matlab基本语法与绘图
实验课程名称 数学实验
实验项目名称 Matlab基本语法与绘图
1. 实验的目的和要求
了解一些简单的矩阵、向量、数组、和多项式的构造和运算方法。
例如,懂得编写简单的数值计算的Matlab程序;同时掌握二维图形和三维图
的绘制方法,能够使用这些方法进行常用的数据可视化处理,用其画出图形。
2. 实验内容和原理
内容:循环语句,对求的值.
矩阵运算编制一个正弦函数表,
绘图计算:在[0,2*pi]用红线画sin(x),用绿圈画cos(x).
原理:根据循环语句的结构,矩阵的特殊运算方法以及绘图的专用语句求解。
3. 主要仪器设备
计算机与Windows 2000/XP;Matla等软件。
4. 操作方法与实验步骤
步骤:1.打开Matlab,新建file-M文件
在M文件编辑窗口输入以下程序,并以文件名f1.m保存
for n=1:10
x(n)=sin(n*pi/10)
end
x
点击执行按钮,运行其代码
x =0.3090,0.5878,0.8090,0.9511 ,1.0000 ,0.9511 0.8090,0.5878,0.3090,0.0000
2.打开Matlab,新建file-M文件
在M文件编辑窗口输入以下程序,并以文件名f2.m保存
x=[1 2 3;4 5 6;7 8 9;10 11 12]/24;
y=sin(x*pi)
点击执行按钮,运行其代码
y = 0.1305 0.2588 0.3827
0.5000 0.6088 0.7071
0.7934 0.8660 0.9239
0.9659 0.9914 1.0000
3.打开Matlab,新建file-M文件
在M文件编辑窗口输入以下程序,并以文件名f3.m保存x=linspace(0,2*pi,30);
y=sin(x);
z=cos(x);
plot(x,y,'r',x,z,'g0')
点击执行按钮,运行其代码
5. 实验结果分析
1中根据n从1到10的循环由x与n所建立的函数关系便求出了所有的循环结果。2.中根据矩阵的行列以及特殊的数学运算,与三角函数相结合,从而构成一个以矩阵为主的y的值。3中根据matlab绘图的固定的语言,得出函数的清晰图像,从而清楚的观察到函数的变化趋势。
实验二Matlab解规划问题
1.实验课程名称 数学实验
2.实验项目名称 Matlab解线性规划或非线性规划问题
3.实验的目的和要求
了解一些线性规划与非线性规划的基本内容,掌握用数学软件包来 了解线性规划与非线性规划的问题。
4.实验内容和原理
内容:1.
2.
原理:利用求解线性规划的单纯形法和非线性规划求解思路,应用Matlab软件求解线性规划和非线性规划。
5.主要仪器设备
计算机与Windows 2000/XP系统;Matlab等软件。
6.操作方法与实验步骤
步骤:1.(1)打开Matlab,新建file-M文件
(2)在M文件编辑窗口输入以下程序,并以文件名”fun.m” 保存: function f=fun(x);
f=-2*x(1)-x(2);
再新建一个M文件,mycon2.m定义非线性约束:
function [G,Ceq]=mycon2(x)
G=[x(1)^2+x(2)^2-25;x(1)^2-x(2)^2-7];
再建一个主程序M文件,f1.m文件:
x0=[3;2.5];
VLB=[0,0];VUB=[5,10];
A=[];B=[];
Aeq=[];beq=[];
[x,fval]=fmincon('fun',x0,A,b,Aeq,beq,VLB,VUB,'mycon2')
(3)点击保存和执行按钮,运行其代码
2. (1)打开Matlab,新建file-M文件
(2)在M文件编辑窗口输入以下程序,并以文件名”fun.m” 保存: C=[5 6 7 8];
A=[-5 -4 -5 -6;2 1 1 4];
b=[-530;160];
Aeq=[1 1 1 1];
beq=[100];
vlb=[0,0,0,0];vub=[];
[x,fval]=linprog(C,A,b,Aeq,beq,vlb,vub)
(3)点击保存和执行按钮,运行其代码
7.实验结果与分析
实验结果与分析:1.
x =
4.0000
3.0000
fval =-11.0000
fmincon函数可能会给出局部最优解,这与初值X0的选取有关。该输出的结果有两个最值x1=4.0000和x2=3.0000并且在此时x处的值fval为-11.0000
2.实验结果:
分析:[1]若没有不等式:存在,则令A=[ ],b=[ ].
[2]若没有等式约束:Aeq*X=beq, 则令Aeq=[ ], beq=[ ]
[3]由此结果得出该函数的最优解为x1=0.0000,x2=0.0000,x3=82.8571,x4=19.2857及在此时x处的目标函数值为734.2587
实验三Matlab解微积分与微分方程
1.实验课程名称 数学实验
2.实验项目名称 Matlab解微积分与微分方程
3.实验的目的和要求
学会用Matlab求简单的微分方程和微积分的解析解,学会用Matlab求微分方程和微积分的数值解
4.实验内容和原理
内容:微分方程组,
微积分的求解,求定积分
原理:根据微分方程与微积分的不同的特点以及在Matlab中各自的特定的语句来进行求解
5.主要仪器设备
计算机与Windows 2000/XP;Matla等软件。
6.操作方法与实验步骤
步骤:1.打开Matlab,新建file-M文件
在M文件编辑窗口输入以下程序,并以文件名f1.m保存x,y,z]=dsolve('Dx=2*x-3*y+3*z',
'Dy=4*x-5*y+3*z','Dz=4*x-4*y+2*z','t');
x=simple(x) y=simple(y)z=simple(z)
点击执行按钮,运行其代码
x = (c1-c2+c3+c2e -3t-c3e-3t)e2t
y =-c1e-4t+c2e-4t+c2e-3t-c3e-3t+c1-c2+c3)e2t
z = (-c1e-4t+c2e-4t+c1-c2+c3)e2t
2.打开Matlab,新建file-M文件
在M文件编辑窗口输入以下程序,并以文件名f2.m保存
s=int('x*exp(x)/(1+x)^2',0,1)
点击执行按钮,运行其代码
s =-1+1/2*exp(1)
7.实验结果分析
1.根据微分方程独特简洁的解答方法得出
x = (c1-c2+c3+c2e -3t-c3e-3t)e2t
y = -c1e-4t+c2e-4t+c2e-3t-c3e-3t+c1-c2+c3)e2t
z = (-c1e-4t+c2e-4t+c1-c2+c3)e2t
2.中根据定积分的独特语句通过使用int来进行求解,从而得出简洁明了的答案
实验四Matlab解最短路问题
1.实验课程名称 数学实验
2实验项目名称 Matlab解最短路问题
3.实验的目的和要求
了解最短路的算法及应用,会用Matlab软件求最短路
4.实验内容和原理
内容:最短路求法,求下图从顶点到其余顶点的最短路
最短路应用:某城市要建一个消防站,为该市所属的七个区服务,如图所示,问应设在哪个区才能使它至最远的路径最短?
原理: 在图的带权邻接矩阵中用插入顶点的方法依次构造出v个矩阵使得最后得到的矩阵成为图的距离矩阵,同时也求出插入点矩阵以便得到两点间的最短路径
5.主要仪器设备
计算机与Windows 2000/XP;Matla等软件。
6.操作方法与实验步骤
步骤:1.打开Matla,新建file-M文件
在M文件编辑窗口输入以下程序,并以文件名f1.m保存
w=[0 2 1 8 inf inf inf inf;2 0 inf 6 1 inf inf inf;1 inf 0 7 inf inf 9 inf;...
8 6 7 0 5 1 2 inf;inf 1 inf 5 0 3 inf 9;inf inf inf 1 3 0 4 6;...
inf inf 9 2 inf 4 0 3;inf inf inf inf 9 6 3 0]
n=size(w,1);
w1=w(1,:);
%¸³³õÖµ
for i=1:n
l(i)=w1(i);
z(i)=1;
end
s=[];
s(1)=1;
u=s(1);
k=1
l
z
while k<n
% ¸üРl(v) ºÍ z(v)
for i=1:n
for j=1:k
if i~=s(j)
if l(i)>l(u)+w(u,i)
l(i)=l(u)+w(u,i);
z(i)=u;
end
end
end
end
l
z
%Çóv*
ll=l;
for i=1:n
for j=1:k
if i~=s(j)
ll(i)=ll(i);
else
ll(i)=inf;
end
end
end
lv=inf;
for i=1:n
if ll(i)<lv
lv=ll(i);
v=i;
end
end
lv
v
s(k+1)=v
k=k+1
u=s(k)
end
l
z
点击执行按钮,运行其代码
w =
0 2 1 8 Inf Inf Inf Inf
2 0 Inf 6 1 Inf Inf Inf
1 Inf 0 7 Inf Inf 9 Inf
8 6 7 0 5 1 2 Inf
Inf 1 Inf 5 0 3 Inf 9
Inf Inf Inf 1 3 0 4 6
Inf Inf 9 2 Inf 4 0 3
Inf Inf Inf Inf 9 6 3 0
k =1,l =0 2 1 8 Inf Inf Inf Inf
z =1 1 1 1 1 1 1 1
l = 0 2 1 8 Inf Inf Inf Inf
z =1 1 1 1 1 1 1 1
lv =1,v =3,s = 1 3,k =2,u = 3
l =0 2 1 8 Inf Inf 10 Inf
z =1 1 1 1 1 1 3 1
lv =2,v =2,s =1 3 2,k =3,u =2
l =0 2 1 8 3 Inf 10 Inf
z = 1 1 1 1 2 1 3 1
lv =3,v =5,s =1 3 2 5
k = 4,u =5
l = 0 2 1 8 3 6 10 12
z =1 1 1 1 2 5 3 5
lv = 6
v =6
s = 1 3 2 5 6
k =5,u =6
l =0 2 1 7 3 6 10 12
z =1 1 1 6 2 5 3 5
lv =7
v = 4
s = 1 3 2 5 6 4
k =6,u =4
l = 0 2 1 7 3 6 9 12
z =1 1 1 6 2 5 4 5
lv = 9,v =7
s = 1 3 2 5 6 4 7
k =7,u =7
l = 0 2 1 7 3 6 9 12
z =1 1 1 6 2 5 4 5
lv =12,v =8
s =1 3 2 5 6 4 7 8
k =8,u =8
l =0 2 1 7 3 6 9 12
z =1 1 1 6 2 5 4 5
>> 2.打开Matlab,新建file-M文件
function[D,R]=floyd(a)
n=size(a,1);
D=a
for i=1:n
for j=1:n
R(i,j)=j;
end
end
R
for k=1:n
for i=1:n
for j=1:n
if D(i,k)+D(k,j)<D(i,j)
D(i,j)=D(i,k)+D(k,j);
R(i,j)=R(i,k);
end
end
end
k
D
R
end
在M文件编辑窗口输入以下程序,并以文件名f2.m保存
a=[0 3 inf inf inf inf inf;3 0 2 inf 18 2.5 inf;...
inf 2 0 6 2 inf inf;inf inf 6 0 3 inf inf;...
inf 18 2 3 0 4 inf;inf 2.5 inf inf 4 0 1.5;...
inf inf inf inf inf 1.5 0];
[D,R]=floyd(a)
点击执行按钮,运行其代码
D =
0 3.0000 5.0000 10.0000 7.0000 5.5000 7.0000
3.0000 0 2.0000 7.0000 4.0000 2.5000 4.0000
5.0000 2.0000 0 5.0000 2.0000 4.5000 6.0000
10.0000 7.0000 5.0000 0 3.0000 7.0000 8.5000
7.0000 4.0000 2.0000 3.0000 0 4.0000 5.5000
5.5000 2.5000 4.5000 7.0000 4.0000 0 1.5000
7.0000 4.0000 6.0000 8.5000 5.5000 1.5000 0
R =
1 2 2 2 2 2 2
1 2 3 3 3 6 6
2 2 3 5 5 2 2
5 5 5 4 5 5 5
3 3 3 4 5 6 6
2 2 2 5 5 6 7
6 6 6 6 6 6 7
7.实验结果分析
1.中根据最短路径原理可得出最小的权,即在同等效果下最短的距离。2.用floyd算法求出距离矩阵,然后计算各点v设立服务设施的最大服务距离s(v)求出顶点使得s最小,则其为所求的消防站点。
实验五Matlab概率统计模型
1.实验课程名称 数学实验
2.实验项目名称 Matlab统计数据与回归分析,线性与非线性拟合
3.实验的目的和要求
直观了解统计基本内容,掌握用数学软件包求解统计问题以及回归问题,了解拟合基本内容,掌握用数学软件求解拟合问题
4.实验内容和原理
内容:回归问题:对一道工序用自动化车床连续加工某种零件,由于刀具损坏等会出现故障.故障是完全随机的,并假定生产任一零件时出现故障机会均相同.工作人员是通过检查零件来确定工序是否出现故障的.现积累有100次故障纪录,故障出现时该刀具完成的零件数如下:
459 362 624 542 509 584 433 748 815 505
612 452 434 982 640 742 565 706 593 680
926 653 164 487 734 608 428 1153 593 844
527 552 513 781 474 388 824 538 862 659
775 859 755 49 697 515 628 954 771 609
402 960 885 610 292 837 473 677 358 638
699 634 555 570 84 416 606 1062 484 120
447 654 564 339 280 246 687 539 790 581
621 724 531 512 577 496 468 499 544 645
764 558 378 765 666 763 217 715 310 851
试观察该刀具出现故障时完成的零件数属于哪种分布.
数据拟合:用下面一组数据拟合中的参数a,b,k
原理:根据线性回归的数据分析与调用,与拟合来解答问题
5.主要仪器设备
计算机与Windows 2000/XP;Matla等软件。
6.操作方法与实验步骤
步骤:1. 打开Matlab,新建file-M文件
在M文件编辑窗口输入以下程序,并以文件名f1.m保存
(1)数据输入程序:x1=[459 362 624 542 509 584 433 748 815 505];
x2=[612 452 434 982 640 742 565 706 593 680];
x3=[926 653 164 487 734 608 428 1153 593 844];
x4=[527 552 513 781 474 388 824 538 862 659];
x5=[775 859 755 49 697 515 628 954 771 609];
x6=[402 960 885 610 292 837 473 677 358 638];
x7=[699 634 555 570 84 416 606 1062 484 120];
x8=[447 654 564 339 280 246 687 539 790 581];
x9=[621 724 531 512 577 496 468 499 544 645];
x10=[764 558 378 765 666 763 217 715 310 851];
x=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10];
save dj x
(2)作频数直方图:load dj hist(x,10)
(3)分布的正态性检验:load dj normplot(x)
(4)参数估计:load dj
[muhat,sigmahat,muci,sigmaci] = normfit(x)
(5)假设检验:load dj
[h,sig,ci] = ttest( x ,594)
点击执行按钮,运行其代码
(7)muhat =594 sigmahat =204.1301 muci =553.4962
634.5038 sigmaci=179.2276 237.1329
(8)h = 0,sig = 1,ci =[553.4962,634.5038].
2.分析:该问题即解最优化问题
打开Matlab,新建 file-M文件
在M文件编辑窗口输入以下程序,并以文件名f2.m保存
clear
tdata=100:100:1000
cdata=1e-03*[4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,6.50,6.59];
x0=[0.2,0.05,0.05];
x=lsqcurvefit('curvefun1',x0,tdata,cdata)
f=curvefun1(x,tdata)
x
点击执行按钮,运行其代码
f =0.0043 0.0051 0.0056 0.0059 0.0061
0.0062 0.0062 0.0063 0.0063 0.0063
x = 0.0063 -0.0034 0.2542
3.打开Matlab,新建file-M文件
在M文件编辑窗口输入以下程序,并以文件名f3.m保存
点击执行按钮,运行其代码
7.实验结果分析
1.根据以上的数据,图像,正态分布得出估计出该刀具的均值为594,方差204,均值的0.95置信区间为[ 553.4962,634.5038],方差的0.95置信区间为[ 179.2276,237.1329] 检验结果: 1. 布尔变量h=0, 表示不拒绝零假设. 说明提出的假设寿命均值594是合理的.
2. 95%的置信区间为[553.5,634.5], 它
完全包括594, 且精度很高.
3. sig-值为1, 远超过0.5, 不能拒绝零假 设.
4.根据拟合方法与最优化模型 解答结果为a=0.0063, b=-0.0034, k=0.2542