Chap数值分析.docVIP

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

第13章 数值分析 每当难以对一个函数进行积分、微分或者解析上确定一些特殊的值时,就可以借助计算机在数值上近似所需的结果。这在计算机科学和数学领域,称之为数值分析。至此,可以猜到,MATLAB提供了解决这些问题的工具。本章将介绍这些工具的使用。 13.1 绘图 说到绘图,只要计算函数在某一区间的值,并且画出结果向量,这样就得到了函数的图形。在大多数情况下,这就足够了。然而,有时一个函数在某一区间是平坦的并且无激励,而在其它区间却失控。在这种情况下,运用传统的绘图方法会导致图形与函数真正的特性相去甚远。MATLAB提供了一个称为fplot的巧妙的绘图函数。该函数细致地计算要绘图的函数,并且确保在输出的图形中表示出所有的奇异点。该函数的输入需要知道以字符串表示的被画函数的名称以及2元素数组表示的绘图区间。例如: fplot(‘ humps ‘ , [0 2]) title(‘ FPLOT OF HUMPS ‘) 在0和2之间计算函数humps,并显示该函数的图形。(见图13.1)。 图13.1 函数humps的图形 在这个例子中,‘ humps ‘是MATLAB的M文件函数。 function y=humps(x) % HUMPS A function used by QUADDEMO, ZERODEMO and FPLOTDEMO. % HUMPS(X) is a function with strong maxima near x= .3 and x= .9. % See QUADDEMO, ZERODEMO and FPLOTDEMO. % Copyright (c) 1984-93 by The MathWorks, Inc. y=1 ./ ((x - .3) .^ 2+ .01)+1 ./ ((x - .9) .^ 2+ .04) - 6; fplot适用于任何具有单输入和单输出向量的函数M文件。即如同humps,输出变量y返回一个与输入x同样大小的数组,在数组到数组意义上y和x有联系。在使用fplot(以及其它数值分析函数)的过程中,最普遍犯的错误是忘记把函数名加上引号。即fplot需要知道字符串形式的函数名。如果输入fplot(humps , [0 , 2]),MATLAB认为humps是工作空间中的一个变量,而不是函数的名称。注意把变量humps定义为所需要的字符串,就可避免这个问题。 humps=‘ humps ‘; fplot(hump , [0 2]) 这时,MATLAB从变量humps中获得字符串‘ humps‘。 对于可表示成一个字符串的简单的函数,如,fplot绘制这类函数的曲线时,不用建立M文件,只需把x当作自变量,把被绘图的函数写成一个完整的字符串。 f=‘ 2*exp(-x) .* sin(x) ‘; 式中,运用数组乘法定义了函数 fplot(f , [0 8]); title(f) , xlabel(‘x‘) 图13.2 的曲线 在区间绘出上述函数,产生如图13.2所示的图形。 除了这些基本特性,函数fplot还有很多强大的功能,有关详细的信息,参阅《MATLAB参考指南》或在线帮助。 13.2 极小化 作图除了提供视觉信息外,还常常需要确定一个函数的其它更多的特殊属性。在许多应用中,特别感兴趣的是确定函数的极值,即最大值(峰值)和最小值(谷值)。数学上,可通过确定函数导数(斜率)为零的点,解析上求出这些极值点。检验humps的图形在峰值和谷值点上的斜率就很容易理解这个事实。显然,如果定义的函数简单,则这种方法常常奏效。然而,即使很多容易求导的函数,也常常很难找到导数为零的点。在这种情况下,以及很难或不可能解析上求得导数的情况下,必须数值上寻找函数的极值点。MATLAB提供了两个完成此功能的函数fmin和fmins。这两个函数分别寻找一维或n维函数的最小值。这里仅讨论fmin。有关fmins的详细信息,参阅《MATLAB参考指南》。因为f(x)的最大值等于-f(x)的最小值,所以,上述fmin和fmins可用来求最大值和最小值。如果还不清楚,把上述图形倒过来看,在这个状态下,峰值变成了谷值,而谷值则变成了峰值。 为了解释求解一维函数的最小值和最大值,再考虑上述例子。从图13.2可知,在xmax=0.7附近有一个最大值,并且在xmin=4附近有一个最小值。而这些点的解析值为:和。为了方便,用文本编辑器编写一个脚本M文件,并用fmin寻出数值上极值点,给出函数主体如下: % ex_fmin.m fn=‘ 2*exp(-x)*sin(x) ‘; % define function for min xmin=fmin(fn , 2 , 5) % search over r

文档评论(0)

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

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

1亿VIP精品文档

相关文档