
数学建模课后习题答案.doc
13页实验报告姓名:和家慧 专业:通信工程 学号:20121060248 周一下午78节 实验一:方程及方程组的求解一 实验目的:学会初步使用方程模型,掌握非线性方程的求解方法,方程组的求解方法,MATLAB函数直接求解法等二 问题:路灯照明问题在一条20m宽的道路两侧,分别安装了一只2kw和一只3kw的路灯,它们离地面的高度分别为5m和6m在漆黑的夜晚,当两只路灯开启时 (1)两只路灯连线的路面上最暗的点和最亮的点在哪里? (2)如果3kw的路灯的高度可以在3m到9m之间变化,如何路面上最暗点的亮度最大? (3)如果两只路灯的高度均可以在3m到9m之间变化,结果又如何?三 数学模型 X SP1P2R1α1α2QyxOR2h1h2 解: 根据题意,建立如图模型 P1=2kw P2=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)的值,如下表:x00.0284899709.338299119.97669520I(x)0.081977160.081981040.018243930.084476550.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求解h2solve('-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] 了解插值、最小二乘拟合的基本原理[2] 掌握用MATLAB计算一维插值和两种二维插值的方法;[3] 掌握用MATLAB作最小二乘多项式拟合和曲线拟合的方法二、实验内容1.针对实际问题,试建立数学模型用MATLAB计算一维插值和两种二维插值的方法求解;1.用MATLAB中的函数作一元函数的多项式拟合与曲线拟合,作出误差图;2.用MATLAB中的函数作二元函数的最小二乘拟合,作出误差图;3.针对预测和确定参数的实际问题,建立数学模型,并求解三 问题:数据插值 山区地貌:在某山区测得一些地点的高程如下表3.8平面区域为 (1200<=x<=4000,1200<=y<=3600)试作出该山区的地貌图和等高线图,并对几种插值方法进行比较表3.8 某山区高程表yx12001600200024002800320036004000120011301250128012301040900500700160013201450142014001300700900850200013901500150014009001100106095024001500120011001350145012001150101028001500120011001550160015501380107032001500155016001550160016001600155036001480150015501510143013001200980数学模型:利用matlab编程代码如下: x=1200:400:4000; y=1200:400:3600; [xi,yi]=meshgrid(1200:4000,1200:3600); z=[1130 1250 1280 1230 1040 900 500 700; 1320 1450 1420 1400 1300 700 900 850; 1390 1500 1500 1400 900 1100 1060 950; 1500 1200 1100 1350 1450 1200 1150 1010; 1500 1200 1100 1550 1600 1550 1380 1070; 1500 1550 1600 1550 1600 1600 1600 1550; 1480 1500 1550 1510 1430 1300 1200 980];线性插值法 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');。












