实验1 梯子长度问题

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

实验1梯子长度问题

一、问题

一幢楼房的后面是一个很大的花园,在花园中紧靠着楼房有一个温室,温室伸入花园宽2m,高3m,温室正上方是楼房的窗台。清洁工打扫窗台周围,他得用梯子越过温室,一头放在花园中,一头靠在楼房的墙上。因为温室是不能承受梯子压力的,所以梯子太短是不行的。现清洁工只有一架7m长的梯子,你认为它能达到要求吗?能满足要求的梯子的最小长度为多少?

二、实验目的

掌握一元函数极值的驻点法,并会用它解决一些实际问题;掌握MATLAB 求极小值的命令fminbnd( )。

三、预备知识

1.一元函数的极值及最值的求法。

2.MATLAB求极小值命令提示

格式x = fminbnd(fun,x1,x2)%返回自变量x在区间x

1x x

2上函数fun取最小值时x值,fun为目标函数的表达式字符串或MATLAB 自定义函数的函数柄。

x = fminbnd(fun,x1,x2,options)% options为指定优化参数选项

[x,fval] = fminb nd(…)% fval为目标函数的最小值

[x,fval,exitflag] = fminbnd(…)%xitflag为终止迭代的条件

[x,fval,exitflag,output] = fminbnd(…)% output为优化信息

说明若参数exitflag>0,表示函数收敛于x,若exitflag=0,表示超过函数估计值或迭代的最大数字,exitflag<0表示函数不收敛于x;若参数

output=iterations表示迭代次数,output=funccount表示函数赋值次数,

output=algorithm表示所使用的算法。

四、实验内容与要求

1.设温室宽为a,高为b,梯子倾斜的角度为x(下图),当梯子与温室顶端A处给好接触时,梯子的长度L只与x有关。试写出函数L(x)及定义域。

2.在MATLAB环境,先用命令clearx清除x的值,再定义函数L(x),并求导。

3.将a、b赋值,画出L(x)的图形。注意自变量x的范围选取。

4.求驻点,即求方程L(x)的根,用语句fzero( )(为什么?),并计算函数在驻点的值。

驻点唯一吗?

5.观测图形,选取初始点,用fminbnd直接求L(x)的极小值。

6.取a=2,b=2.8,重新运行程序,结果如何?

五、思考问题

1.取a=1.8,在只用6.5m长梯子的情况下,温室最多能修建多高?

2.查阅参考书籍,了解求极值的数值方法(如Newton切线法,0.618法),以大致了解fminbnd命令的工作原理。

3.一条1m宽的通道与另一条2m宽的通道相交成直角,一个梯子需要水平绕过拐角,试问梯子的最大长度是多少?

a

bA

x

相关文档
最新文档