matlab数值分析第4章.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab数值分析第4章

第四章 方程求根;4.7 fzerotx,feval; 第一类的零阶贝塞尔函数J0(x);下图是0阶、1阶和2阶的贝塞尔函数Jα(x)的图像α=(0,1,2);用第一类的零阶贝塞尔函数J0(x)说明fzerotx是怎样工作的。J0(x)可通过MATLAB命令besselj(0,x) 得到。 运行如下程序,就能在MATLAB中得到第一类的零阶贝塞尔函数J0(x)的图像。 x=0:pi/50:10*pi; y=besselj(0,x); plot(x,y,-) 下面的程序能求出J0(x)的前10个零解,并画出图4-2(除了图中红色的‘x’,后面将加上)。 bessj0=inline(besselj(0,x)); for n = 1:10 z(n) = fzerotx(bessj0,[(n-1) n]*pi); end ; 图4-2;函数fzerotx有两个输入参数: 第一个参数指定要计算零解的函数F(x), 第二个参数指定初始的搜索区间[a,b]。 以另一个函数为参数的函数,fzerotx也是MATLAB函数的函数的例子,ezpot是另外一个例子。本书的其他章—第6章,数值积分;第7章,常微分方程;甚至第9章,随机数—中介绍的名字含“tx”和“gui”的M文件也是函数的函数。 一个函数作为参数传递给另一个函数,可采用的方式有以下几种: 函数句柄, 内嵌对象, 匿名函数。;函数句柄;内嵌对象; 匿名函数; 在MATLAB第6版中,定义一个带两个或三个参数的内嵌对象。 F=inline(besselj(0,x)-y,x,y) 或 B=inline(besselj(n,x)-y,x,n,y) 在MATLAB第7版中,定义一个带两个或三个参数的匿名函数。 F=@(x,y)besselj(0,x)-y 或 B=@(x,n,y)besselj(n,x)-y 然后,执行 xi=fzerotx(F,[0,2],.5)或xi=fzerotx(B,[0,2],0,.5) 得到结果为 xi= 1.5211 varargin可以看做“Variable length input argument list”的缩写。在matlab中, varargin提供了一种函数可变参数列表机制。 就是说, 使用了“可变参数列表机制”的函数允许调用者调用该函数时根据需要来改变输入参数的个数。 ; 在图4-2中,用‘x’标记了上述解对应的点(ξ,J0(ξ))。 在MATLAB第6版中,可以使用feval对函数参数求值。表达式 feval(F,x,...) 等价于F(x,...) 它们的区别在于,使用feval时,允许F作为一个被传递来的参数。在MATLAB第7版中,feval就???再需要了。 fzerotx程序开始的一段注释内容如下: ;;;;;;4.8 fzerogui; 可知J0(x)的第一个局部极小值在x=3.83附近,执行 bessj0=inline(besselj(0,x)); z=fzerogui(bessj0,[0 3.83]) 后开始几步的情况。 1、一开始,b=c,所以有区间二分点和割线交点两种选择(如图4-3)。 ;2、如果选择割线点,那么b点移动到这里,并计算x=b时的J0(x).这时有三个不同的点,因此下一步在区间二分点和IQI算法得到的点之间选择一个(如图4-4) ; 3、如果选择IQI算法得到的点,搜索区间变小,图形用户界面也相应地放大,下一步仍须在区间二分点和割线交点之间选择一个,这时可以看到,这两点碰巧非常接近(如图4-5) ; 4、现在可以选择两个点中的任何一个,或者也可以选靠近它们的其他点。再这样执行两步,区间不断缩小并达到图4-6所示的情形。这是算法快接近收敛时出现的典型情况,函数的图形看上去非常像一条直线,而割线交点或IQI算法得到的点远比区间二分点快得多的收敛过程。再经过几步操作,使函数值改变正负号的区间 长度变得非常小(相对于原始的长度),同时算法停止,将最后得到的b作为结果返回。;4.9 寻找函数为某个值的解和反向插值;;4.10 最优化和fmintx;;黄金分割搜索法;定义这个ρ值的方程为 或者 方程的解为 这里?是黄金分割比。 使用黄金分割搜索,区间的长度随每步计算,以 ?-1≈0.618 的比例缩小

文档评论(0)

junjun37473 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档