数学建模梯子长度问题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告
专业:信息与计算科学班级:09级( 2)班指导老师:许小芳
姓名:余彪学号:200941210239 实验室:K7-405实验名称:梯子长度问题时间:2011.09.19
一、实验目的和要求:
掌握求一元函数极值的驻点法,并会用它解决一些实际问题;熟悉科学计算软件MATLAB求极小值的命令。

二、实验内容:
一栋楼房的后面是一个很大的花园。

在花园中紧靠着楼房有一个温室,温室伸入花园宽2m,高3m,温室正上方是楼房的窗台。

清洁工打扫窗台周围,他得用梯子越过温室,一头放在花园中,一头靠在楼房的墙上。

因为温室是不能承受梯子压力的,所以梯子太短是不行的。

现清洁工只有一架7m长的梯子,你认为它能达到要求吗?能满足要求的梯子的最小长度为多少?
三、过程:
1、设温室宽为a,高为b,梯子倾斜的角度为x,当梯子与温室顶端 A处恰好接触时,梯子的长度L只与x有关。

试写出函数L (x)及其定义域。

根据题目做出数学图形如上图所示,故易知函数为:L(x)=b/sin(x)+a/cos(x);0<x<0.5*pi;
2、在 Matlab 环境,先用命令 clear x 清除x的值,再定义函数L(x) ,并求导。

syms a b x
diff(b/sin(x)+a/cos(x))
ans =
-b/sin(x)^2*cos(x)+a/cos(x)^2*sin(x) 3、将a、b赋值,画出L(x) 的图形。

注意自变量x的范围选取。

x=0.1:pi/200:1.5;
l=3./sin(x)+2./cos(x);
figure(1)
plot(x,l,'r');
grid on
画出图形如下:
4、求驻点,即求方程()0
L x
'=的根,有什么命令求根?并计算函数在驻点的值。

驻点唯一吗?l='(3./sin(x)+2./cos(x))';
>> dl=diff(l)
dl =
-3./sin(x)^2*cos(x)+2./cos(x)^2*sin(x)
>> x=solve(dl)
x =
.85277087756427083204247764696116
-.91778230040579995001409412898792+.64318975209837856628321146975070*i
-.91778230040579995001409412898792-.64318975209837856628321146975070*i
>> x=double(x)
x =
0.8528
-0.9178 + 0.6432i
-0.9178 - 0.6432i
>> l1=3./sin(x)+2./cos(x)
l1 =
7.0235
-0.8686 - 2.4329i
-0.8686 + 2.4329i
故容易知道驻点不唯一,有三个驻点
5、观测图形,选取初始点,用fminbnd 直接求L(x)的极小值。

并与(5)的结果比较。

x=fminbnd('3/sin(x)+2/cos(x)',0,1.5)
l=3/sin(x)+2/cos(x)
x =
0.8528
l =7.02356
经过比较、两次不同方法的计算结果几乎相同,结果都是7m长的梯子长度不够。

6.取a=2,b=2.8,重新运行程序,结果如何?
x=fminbnd('2.8/sin(x)+2/cos(x)',0,1.5)
l=2.8/sin(x)+2/cos(x)
x =
0.8414
l =
6.7566
因为6.7566<7故在这种情况下梯子的长度合适。

结论
经过本次实验,基本上掌握求一元函数极值的驻点法,并会用它解决一些实际问题;熟悉科学计算软件MATLAB多种方法求极小值的命令。

2011年 9月 19日




年月日。

相关文档
最新文档