matlab函数求极值matlab函数求极值.pptVIP

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlab函数求极值matlab函数求极值

* * 函数的极值 1、一元函数的极值 函数命令:fminbnd 调用格式:[x,feval,exitflag,output]=fminbnd(fun,x1,x2,options) %求fun在区间(x1,x2)上的极值. 返回值: x:函数fun在(x1,x2)内的极值点 feval:求得函数的极值 exitflag: exitflag0,函数收敛于解x处 exitflag=0,已达最大迭代次数 exiflag0,函数在计算区间内不收敛. 例1:求函数 在 上的极小值. fun=inline((x+pi)*exp(abs(sin(x+pi)))) [x,feval,exitflag,output]=fminbnd(fun,-pi/2,pi/2) fun = Inline function: fun(x) = (x+pi)*exp(abs(sin(x+pi))) x = -1.2999e-005 feval = 3.1416 exitflag = 1 output = iterations: 21 funcCount: 22 algorithm: golden section search, parabolic interpolation message: [1x112 char] xx=-pi/2:pi/200:pi/2; yxx=(xx+pi).*exp(abs(sin(xx+pi))); plot(xx,yxx) xlabel(x),grid on % 可以用命令[xx,yy]=ginput(1) 从局部图上取出极值点及相应函数值 例2:求解函数humps的极小值. type humps %humps 是一个Matlab提供的M函数文件 function [out1,out2] = humps(x) %HUMPS A function used by QUADDEMO, ZERODEMO and FPLOTDEMO. % Y = HUMPS(X) is a function with strong maxima near x = .3 % and x = .9. % % [X,Y] = HUMPS(X) also returns X. With no input arguments, % HUMPS uses X = 0:.05:1. % % Example: % plot(humps) % % See QUADDEMO, ZERODEMO and FPLOTDEMO. % Copyright 1984-2002 The MathWorks, Inc. % $Revision: 5.8 $ $Date: 2002/04/15 03:34:07 $ if nargin==0, x = 0:.05:1; end y = 1 ./ ((x-.3).^2 + .01) + 1 ./ ((x-.9).^2 + .04) - 6; if nargout==2, out1 = x; out2 = y; else out1 = y; end [x,y]=fminbnd(@humps,0.5,0.8) x = 0.6370 y = 11.2528 xx=0:0.001:2; yy=humps(xx); plot(xx,yy) 例3:求 在(0,1)内的极小值. type myfunmin1 %显示M文件内容 function f=myfunmin1(x) f=x.^x; [x,y]=fminbnd(@myfunmin1,0,1) x = 0.3679 y = 0.6922 xx=0:0.001:1; yy=myfunmin1(xx); plot(xx,yy) [x,y]=fminbnd(x.^x,0,1) x = 0.3679 y = 0.6922 2、 多元函数的极值 函数命令:fminsearch 调用格式:[x,feval,exitflag,output]=fminsearch(fun,x0,optipons) % 求在x0附近的极值 例4:求 的极小值. type myfunmin2 function f=myfunmin2(v) x=v(1); y=v(2); f=100*(y-x.^2).^2+(1-x).^2; [sx,sfeval]=fminsearch(@myfunmin2,[1 1]) sx = 1

文档评论(0)

vshoulrengb3 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档