matlab计算函数零值点.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  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文档。上传文档
查看更多
练习 18 函数的零值 知识背景 在数学运算,工程实际运用以及经济核算中,经常要求某一表达式的零值以及最大最小值,通常的方法包括解方程求解零值,配方,求导求解最大值最小值。在求解零值的过程中,我们可以通过零值的求解来确定某一方程的解。 主要类容 『本练习考察的知识点』 本练习旨在通过训练读者掌握matlab中求解零值和最值的基本法方,并通过函数命令和图形来直观的显示结果。本练习介绍函数“fzero”,通过练习要求读者熟悉并最终熟练使用函数命令“fzero”。命令“fzero”的使用方法是fzero(function,x0,TOL),function为方程表达式所在的函数文件,x0为初始值,TOL为误差极限。“fzero”采用的是叠代的方法来求解零值,使得初始估计值接近于零值。 练习过程 求解函数的零值,我们先用一个简单的例子来熟悉命令“fzero”。 例:求解函数: f(x)=X^3-3X+3 的零值。 我们首先将函数的表达式写入一个函数文件中,后再调用函数fzero,函数文件tzero.m为: function zexer=tzero(x) zexer=x.^3-3*x+3; 在命令区中输入程序,求解零值: result=fzero(tzero,-0.3); reulst=fzero(fzero,0.3); span=-5:0.1:5; plot(span,tzero(span)),grid 得到图形如图18-1所示. 图18-1 程序运行结果为: Zero foud in the interval:[1.8722,-2.4722]. ans=-2.1038 我们可以用这种方法求出已知方程的根,这种方法简便快捷.缺点是由于要初始值,故有可能漏掉根。 (2)我们看稍微复杂的函数 f(x)=sin(x)-2x+2 的零值。 同理有函数文件: function zexe=tzero1(x) tzero1=sin(x)-2*x+2 在命令区运行命令: reulst=fzero(tzero1,0.4) 运行结果为: Zero found in the interval:[-0.112,0.912] reulst=0.8354 通过作图命令,得到图18-2。 通过这种方发我们可以比较方便的求出方程的解,无论方程多复杂,可以将方程的函数表达式写入文件,而后调用命令来求解。 (3)我们再来看一个比较复杂的例子。在这个例子中,将有二次项,分式的混和表示式,在某些点上会造成分母为零的情况,此时函数在次点没有取值。 例:求解函数: f(x)= (3*x-4)/((x-1.2).^2+0.02)+(4*x-7)/(x.^3+2)+5*x/((x-0.4).^2+6)+3*x/(x.^3+1) 的零值。 我们首先来分析这个问题。对于有的函数在某些区间内的零值可能不同,所以通过尝试不同的初始值可以得到不同的零值点。 我们在命令区里输入函数及命令程序: tzero3.m文件 function exercise=tzero3(x) exercise=(3*x-4)/((x-1.2).^2+0.02)+(4*x-7)/(x.^3+2)+5*x/((x-0.4).^2+6)+3*x/(x.^3+1); 在命令区中输入: result=fzero(tzero3,1) result=fzero(tzero3,-1.2) result=fzero(tzero3,-2) 程序运行结果为: result=1.3140 result=-1.2599 result=-2.5343 由于这种方法要运用初始值的方法来求出零值点,必须先对函数的零值点的所在区间给出一个估计。故当估计不足或者给出的初始范围不当时,有可能漏掉零值点,我们下面介绍一个求零值点的方便的函数“roots”。 (4) 我们在这个小练习中先解一个一元二次方程。 例:求解一元二次方程: f(x)=x^2-3x+2 的根。 先建立表达式的向量p=[1 -3 2],然后直接在命令框中输入函数命令: p=[

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档