数学建模课后习题答案.docx
《数学建模课后习题答案.docx》由会员分享,可在线阅读,更多相关《数学建模课后习题答案.docx(18页珍藏版)》请在冰豆网上搜索。
数学建模课后习题答案
实验报告
姓名:
和家慧专业:
通信工程学号:
20121060248周一下午78节
实验一:
方程及方程组的求解
一实验目的:
学会初步使用方程模型,掌握非线性方程的求解方法,方程组的求解方法,MATLAB函数直接求解法等。
二问题:
路灯照明问题。
在一条20m宽的道路两侧,分别安装了一只2kw和一只3kw的路灯,它们离地面的高度分别为5m和6m。
在漆黑的夜晚,当两只路灯开启时
(1)两只路灯连线的路面上最暗的点和最亮的点在哪里?
(2)如果3kw的路灯的高度可以在3m到9m之间变化,如何路面上最暗点的亮度最大?
(3)如果两只路灯的高度均可以在3m到9m之间变化,结果又如何?
三数学模型
解:
根据题意,建立如图模型
P1=2kwP2=3kw
S=20m
照度计算公式:
(k为照度系数,可取为1;
P为路灯的功率)
(1)设Q(x,0)点为两盏路灯连线上的任意一点,则两盏路灯在Q点的照度分别为
Q点的照度:
要求最暗点和最亮点,即为求函数I(x)的最大值和最小值,所以应先求出函数的极值点
算法与编程
利用MATLAB求得
时x的值
代码:
s=solve('(-30*x)/((25+x^2)^(5/2))+(54*(20-x))/((36+(20-x)^2)^(5/2))');
s1=vpa(s,8);
s1
计算结果
运行结果:
s1=
19.97669581
9.338299136
8.538304309-11.61579012*i
.2848997038e-1
8.538304309+11.61579012*i
因为x>=0,选取出有效的x值后,利用MATLAB求出对应的I(x)的值,如下表:
x
0
0.028489970
9.3382991
19.976695
20
I(x)
0.08197716
0.08198104
0.01824393
0.08447655
0.08447468
综上,x=9.33m时,为最暗点;x=19.97m时,为最亮点。
(2)路灯2的高度可以变化时,Q点的照度为关于x和h2的二元函数:
与
(1)同理,求出函数I(x,h2)的极值即为最暗点和最亮点
算法与编程
利用matlab求得x:
solve('3/((h^2+(20-x)^2)^(3/2))-3*(3*h^2)/((h^2+(20-x)^2)^(5/2))=0')
ans=
20+2^(1/2)*h
20-2^(1/2)*h
即x1=20+2^(1/2)*h(舍去)x2=20-2^(1/2)*h
利用matlab求解h2
solve('-30*(20-2^(1/2)*h)/((25+(20-2^(1/2)*h)^2)^(5/2))+9*h*(20-(20-2^(1/2)*h))/((h^2+(20-(20-2^(1/2)*h))^2)^(5/2))=0')
ans=
7.4223928896768612557104509932965
14.120774098526835657369742179215
因为h在3~9之间,所以h2=7.42239m
再利用matlab求解x和亮度I
算法:
h=7.42239;
x=20-2^(1/2)*h
I=10/((25+x^2)^(3/2))+(3*h)/((h^2+(20-x)^2)^(3/2))
计算结果
结果:
x=
9.5032
I=
0.0186
综上,x=9.5032,h2=7.42239时,最暗点的亮度最大,为0.0186w。
(3)两盏路灯的高度均可以变化时,I为关于x,h1,h2的三元函数,用同样的方法求解
=
算法与编程
利用matlab求解x,h1,h2的值:
算法:
solve('1/((20-x)^3)=2/(3*(x^3))');
s1=vpa(s,6);
a=(1/sqrt
(2))*s1;
a1=double(a);
b=(1/sqrt
(2))*(20-s1);
b1=double(b);
a1,b1,s1
计算结果
结果:
a1=
6.5940
5.1883+12.0274i
5.1883-12.0274i
b1=
7.5482
8.9538-12.0274i
8.9538+12.0274i
s1=
9.32530
7.33738+17.0093*i
7.33738-17.0093*i
综上,h1=6.5940,h2=7.5482,x=9.32530时,最暗点的亮度最大
四分析、检验和结论
经过数学模型的建立和数学软件MATLAB的使用,我们已经得到较为准确的答案。
五心得体会
随着计算机技术的发展,大型的线性/非线性方程组我们已可以用计算机简单方便的计算出来了。
对我们的生活有很好的提高。
实验二:
数据插值与拟合实验
1、实验目的及意义
[1]了解插值、最小二乘拟合的基本原理
[2]掌握用MATLAB计算一维插值和两种二维插值的方法;
[3]掌握用MATLAB作最小二乘多项式拟合和曲线拟合的方法。
二、实验内容
1.针对实际问题,试建立数学模型。
用MATLAB计算一维插值和两种二维插值的方法求解;
1.用MATLAB中的函数作一元函数的多项式拟合与曲线拟合,作出误差图;
2.用MATLAB中的函数作二元函数的最小二乘拟合,作出误差图;
3.针对预测和确定参数的实际问题,建立数学模型,并求解。
三问题:
数据插值
山区地貌:
在某山区测得一些地点的高程如下表3.8。
平面区域为
(1200<=x<=4000,1200<=y<=3600)
试作出该山区的地貌图和等高线图,并对几种插值方法进行比较。
表3.8某山区高程表
y
x
1200
1600
2000
2400
2800
3200
3600
4000
1200
1130
1250
1280
1230
1040
900
500
700
1600
1320
1450
1420
1400
1300
700
900
850
2000
1390
1500
1500
1400
900
1100
1060
950
2400
1500
1200
1100
1350
1450
1200
1150
1010
2800
1500
1200
1100
1550
1600
1550
1380
1070
3200
1500
1550
1600
1550
1600
1600
1600
1550
3600
1480
1500
1550
1510
1430
1300
1200
980
数学模型:
利用matlab编程代码如下:
x=1200:
400:
4000;
y=1200:
400:
3600;
[xi,yi]=meshgrid(1200:
4000,1200:
3600);
z=[11301250128012301040900500700;
13201450142014001300700900850;
139015001500140090011001060950;
15001200110013501450120011501010;
15001200110015501600155013801070;
15001550160015501600160016001550;
1480150015501510143013001200980];
线性插值法
zi=interp2(x,y,z,xi,yi,'linear');
mesh(xi,yi,zi)
title('线性插值法')
xlabel('x');
ylabel('y');
zlabel('z');
C=contourf(xi,yi,zi);
clabel(C);
title('等高线图')
算法与编程:
最邻近插值法
zi=interp2(x,y,z,xi,yi,'nearest');
mesh(xi,yi,zi)
title('最邻近插值法')
xlabel('x');
ylabel('y');
zlabel('z');
C=contourf(xi,yi,zi);
clabel(C);
title('等高线图')
立方插值法
zi=interp2(x,y,z,xi,yi,'cubic');
mesh(xi,yi,zi)
title('立方插值法')
xlabel('x');
ylabel('y');
zlabel('z');
C=contourf(xi,yi,zi);
clabel(C);
title('等高线图')
三次样条插值法
zi=interp2(x,y,z,xi,yi,'spline');
mesh(xi,yi,zi)
title('三次样条插值法')
xlabel('x');
ylabel('y');
zlabel('z');
C=contourf(xi,yi,zi);
clabel(C);
title('等高线图')
计算结果:
四种差值方法在运算时间和光滑程度上有一定的差异,如下表所示
类别
差值方法
运算时间
光滑程度
最邻近插值法
快
差
线性插值法
稍长
稍好
三次样条插值法
最长
最好
立方插值法
较长
较好
三问题:
曲线拟合
某年美国旧车价格的调查资料如下表所示,其中下xi表示轿车的使用年数,yi表示相应的平均价格。
试分析用什么形式的曲线来拟合上述的数据,并计算使用4.5年后轿车的平均价格大致为多少?
xi
1
2
3
4
5
6
7
8
9
10
yi
2615
1943
1494
1087
765
538
484
290
226
204
方法一
利用1stOpt快速拟合公式搜索可得到公式为:
y=p1+p2*x+p3/x+p4*x^2+p5/x^2+p6*x^3+p7/x^3+p8*x^4+p9/x^4+p10*x^5
p1=18382690.6773727
p2=-4152096.11663013
p3=-51037385.3263795
p4=592195.144413008
p5=84947107.1889704
p6=-51716.5130172659
p7=-75932896.2582835
p8=2521.12152863706
p9=27252247.5649699
p10=-52.482670759974
Matlab代码如下
p1=10802.6249167589;
p2=-20010.6348923663;
p3=19400.634311511;
p4=-10100.4704562703;
p5=2958.58084727337;
p6=-461.436321152701;
p7=21.9610124897453;
p8=4.50124440221874;
p9=-0.851576261728162;
p10=0.0575464303972622;
p11=-0.00144545223415816;
x=4.5;
y=p1+p2*x+p3*x^2+p4*x^3+p5*x^4+p6*x^5+p7*x^6+p8*x^7+p9*x^8+p10*x^9
+p11*x^10
运行结果:
y=
921.1616
方法二
利用matlab拟合
x=[12345678910];
y=[2615194314941087765538484290226204];
plot(x,y,'*')
观察图形可知,曲线近似于指数函数
设
,取对数得
记
则
利用matlab算出a1,a2的值
x=[12345678910];
y=[2615194314941087765538484290226204];
m=log(y);
aa=polyfit(x,m,1)
结果
aa=
-0.29698.1591
则
即
所以
利用matlab算出x=4.5时y的值
x=4.5;
y=exp(-0.2969*x+8.1591)
结果
y=
918.7830
四分析、检验和结论
各种方法各有优缺点,通过图形可以得出结论
五心得体会
越来越多现实生活中的问题可借助数学模型的方法来解决。
我们应该掌握好相关知识利于学习实践。