求下列matlab多元函数求极值的极值

打印函数的极值与导数学案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
打印函数的极值与导数学案
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩3页未读,继续阅读
你可能喜欢「没事瞎折腾」求函数f在定义域(a,b)上的极值。_mathcad吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:2,304贴子:
「没事瞎折腾」求函数f在定义域(a,b)上的极值。收藏
请在mc或mc中构造一个函数,要求在不对原函数求导的前提下,求出原函数f在定义域(a,b)上的所有极值点和对应极值。请阐述求解原理和计算代价。
福利不只是穿多穿少,还要有迷人的微笑!
求解命令块里设上 a&x&b ,其他的你都知道怎么了。
百度对“极值”的解释还是很科学的!
看在你是聪明肯干勤劳好学的小吧主的份上,我这次不动粗。
我上面的式子有错误,一个Given只能带一个求解器,要想用两个求解器,就得用两个Given。所以我上面的那个b不受1&x&6的限制。修改了一下,从估值对解的影响上看,Minimize多少有些震荡,Maximize还是很好的。
这函数是求最值的。对于一个未知函数来说。你不可能知道闭区间(A,B)里面只有一对极值。如果区间(A,B)里面有多个极值点。怎么解?画出函数图像,手动辨认?可是要求的极值点有七八百个!那效率……
求最值和求极值是两个不同概念。
就吧主你构造的目标函数来言,把区间定义为[-10,10]。maxmize和minmize就不好使了。它们只能找出最值。
还有。maxmize和minmize对导数不连续的函数也不好使。
你举个例子,说明maxmize和minmize对导数不连续的函数也不好使。嗯,你再构造一个函数,你觉得比较复杂的,可以在这道题里用的。然后你再给出一个你自己的答案,或者思路。别光会找个名目来刁难人,出考题是要讲究道德的。
还有一个问题,如果一个函数不包含振荡,那么就无所谓极值了,这个假设对么?
这道题不用导数,确实有些难。我想用固定步长对某个波函数进行遍历,记录a(x)=Minimize(y,x)和b(x)=Maximize(y,x)的相异值,也就是当a(x)≠a(x-1)时,在结果向量中记录一个值,当遍历完成时,就得到了所有的最大值和最小值。但MC的Minimize和Maximize只能用共轭梯度法和拟牛顿法,这两个方法都涉及到了对切线的迭代,很不稳定的,很容易在某些值上出现发散不收敛,然后就在估值和结果对应曲线上出现了振荡,就像我上面贴的那个图似的。感觉要解决这题,需要用傅里叶变换之类的技巧,得到若干个振荡周期,然后将所有的周期值都用作估值,再求最大值和最小值。
神奇,LNS,你是咋做的?
就是您的函数,在作图时,我把a(t)改成了f(a(t))就成了这样
这个有一点象剑客曾经说到的一个方法——我忘了&&
事实上,在MC中无论是min还是Maximize都是最小而非极小,所以得到的都是“最”而非“极”!
真是一个让我吃惊的一个结果。不过,LNS,从你上面的那个图里,貌似你不仅仅是这么做的,很明显你后面贴的这个图和你上面的那个图是不一样的,上面的那个图在最小点的两侧都有水平线延长出来,而在你下面的图中,只有一侧(右侧)有水平线延长出来。
是的,上面一个用您的办法,用Minimize函数,下面一个是我编的程序做的
我找到了一个法子:(1)绘制函数图像,确定自变量截取值域和遍历步长。(2)设两个新函数,新函数是初始函数的一部分,函数的自变量值域是由(1)来确定的,根据求最大值和最小值的目的不同,离群值取+∞和-∞。(3)参数化求Minimize和Maximize。(4)用(1)确定的固定步长来遍历函数,参数化找各个截取值域的最大值和最小值。(5)组成矩阵,绘图。实在找不到特别高端的方法了,这可能是解决这个问题最笨的方法,但它对于振荡不很大的函数来说,运算速度还成,而且对于所有的振荡情况都适用,比如说变周期函数、变振幅函数以及变振荡基线函数。这个方法可以得到确定的所有的极值。嗯,并且我发现这种方法可以有效的避免共轭梯度法和拟牛顿法的对某些估值运算不收敛的问题。qiuletian在这点表现的不好,出考题,但不给出示例函数。我构造了一个函数,变周期、变振幅、变基线,LNS,你可以验证一下,用上面你的那种方法应该给不出结果的了。嗯,不卖关子了,解法如下:
LNS,你也说说你的程序,好吗?
很抱歉,因为我的工作表都是基于我所在公司实际产品而制作的。所以不能分享我的工作表。MP3.0内置的“MAXMIZE”函数的确不能应用于我的目标函数。个人认为原因是:我的目标函数包含多个选择分支(即分段函数),每一段函数内部还包含一到两个非线性方程组的解(这个解与自变量有关)。连函数分段点都是关于自变量的函数。并且我也没能解决这个问题。因此说出来大家“没事儿瞎折腾”一下。另外,你们交流提到的什么“M集和Julia集、陷阱”我是真的不明白。
嗯,了解了。今天上午我还想给我上面的函数补充一句 on error
continue 呢,这样我的那个程序就可以处理分段函数、不连续函数等情况了。你说的“连函数分段点都是关于自变量的函数。”,这个很有意思,不知道是否和我前一段发的那个if分支的第四种实现方法情况一样,如果是那样,程序上就要复杂一些了。我觉得吧,当你发现自己遇到的情况或者形成的算式过于复杂的时候,你就得反省一下是不是自己在建模上偷懒了,没有用笔在草稿纸上梳理思路,建模不能完全依靠计算机的,更多的是专业知识的应用。zpz老师在他的讲稿里好几次提到了当时发表的关于MC计算的论文中的错误,以及可以简化但就懒得简化的情况。MP3.0应该也可以做参数优化的,你再折腾折腾。
剑客,我的做法是收到您在理22楼的启发做的。原话引用如下:“我的想法基于:如果某点(x1,y1)是函数全局最小值,那么在y=y1这条线上,仅能有一个和该函数的交点,如果发现了其他的交点,那么这个(x1,y1)就肯定只是一个局部最小值,而不是全局最小值。比如说上图中,点A,在y=yA这条线上,还有C、D点,因此A是局部最小值。此时可以跳到C点或D点上,顺着函数往下滑,找到另外一个点B,在y=yB这条线上,除了B点外,还有点E,那么B点也是局部最小值,跳到点E后,顺着函数往下滑,发现没有最小值了,那么可以认为在以上给定值域范围内,函数的最右端就是该函数的全局最小。用MC的表达式来说就是,先minimize求出A点坐标(xA,yA),用find或者root检验点A的唯一性,同时找到C点(xC,yC)或D点(xD,yD),可能比较容易找到C点,而D点会因为距离A较远,在估值的时候考虑不到。比较xA和xC,当xC&xA时,下面的约束条件就是x&xC;当xC&xA时,约束条件就是x&xA,再minimize求出B点。嗯,这样我们就找到了另外一个局部最小值B点(xB,yB),再检验B点的唯一性,同时得到E点(xE,yE)。”
太小了,看不清,重新来过
LNS,我觉得极值向量和包络向量还是不一样的,尤其是在振荡平缓的情况下,只能说有些相似吧。包络向量,我感觉应该是在和某一条包络曲线有关,而这条曲线是和原是函数相切的,也就是说曲线上的点要满足两个条件,一个是与原始曲线相切,一个是与包络曲线其他点连续可导。前几天我在琢磨包络的时候,感觉excel里的趋势线有些参考性,也就是说包络曲线经过原始曲线上的点,且与原始曲线相切,其在正反方向的发展趋势,与正反方向的两个切点上的包络曲线是一致的,于是包络曲线的微分在其全部值域上是统一的,即可以用一个表达式概括出一条包络曲线的微分。如果包络曲线满足上述条件,那么它和极值形成的曲线就一定有所不同。
剑客,我仿照您20楼的程序写了一个,您看看
有一点匪夷所思,按照你的离散化然后得到一系列固定步长的x,y坐标,再从这个向量对中筛选满足极值条件的坐标值,那么你得到应该是近似极值,而不是实际极值,不过从你的图上看,效果还是很不错的。在程序板里生成一个2*400的临时矩阵,又对这个矩阵发生了1次遍历,总的来说应该不会影响运算速度的。但如果要提高求解精度,网格就会更多了,可能对速度的影响就很明显了。你的程序的好处是不用引用Minimize和Maximize函数,这两个函数的算法是够费时的。qiuletian的MP3.0不能使用参数优化,我感觉你的方法对于他正好用!我感觉咱们俩的法子都是固定步长的,总的来说都会形成较大量的遍历计算;如果能够根据曲线的峰的疾缓,来随时改变步长,这样我们就能够在距离峰比较近的位置,布上点(或者布比较多的点),在距离峰比较远的位置,可以不布点(或者布比较少的点),这样自适应步长会使程序的灵活性更好一些。
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或函数的极值与导数课件公开课_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
函数的极值与导数课件公开课
上传于||暂无简介
大小:963.00KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢求下列函数的极值
为您推荐:
其他类似问题
扫描下载二维码第九章 第八节 多元函数的极值及其求法_土豆_高清视频在线观看

我要回帖

更多关于 拉格朗日函数求极值 的文章

 

随机推荐