MATLAB8.X程序的设计及典型应用第四章 数值计算.pptVIP

MATLAB8.X程序的设计及典型应用第四章 数值计算.ppt

  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文档。上传文档
查看更多
MATLAB8.X程序的设计及典型应用第四章 数值计算

method是插值方法,可用的方法有: (1)′linear′ 线性插值法,如果没有指定插值方法,MATLAB皆以这种方法进行插值。 (2)′nearest′最邻近插值法。 (3)′cubic′ 立方插值法,要求x的值等距离。 (4) “spline” 分段立方样条插值(SPLINE) 注意:所有插值方法均要求x是单调的(单调递增或单调递减),且待插值的数据点横坐标不能超出x给定的范围,否则,插值结果会出现非数(NaN). 4.3.2.多项式插值 【例4-28】在区间[0 5]内,取正弦函数曲线上均匀分布的6个数据点作为原始数据。再在该区间上选取均匀分布的21个点作为自变量,利用插值方法分别计算用线性插值、三次样条插值和三次插得到的函数应变量的值,并进行误差比较。 x=linspace(0,5,6);y=sin(x);%创建原始数据点 x0=linspace(0,5,21);%待插值点 y0=sin(x0);%精确解 y1=interp1(x,y,x0);%线性插值法 y2=interp1(x,y,x0,spline);%三次样条插值法 y3=interp1(x,y,x0,cubic);%立方插值法 4.3.2.多项式插值 %插值结果与精确解之间的残差 err=[y1-y0;y2-y0 ;y3-y0]; %不同插值方法带来的残差标准方差 s=[std(err(1,:)),std(err(2,:)),std(err(3,:))] s = 0.0641 0.0102 0.0522 【说明】 函数std()计算序列的标准方差,插值残差的标准方差可以衡量数值插值效果:残差的标准方差越大,表明插值误差越大,插值效果越不理想。 在四种插值方法中,样条插值和立方插值的效果比较好,而线性插值的效果比较差。 4.3.2.多项式插值 二维插值函数是interp2(),调用格式如下: ?Z1=interp2(X,Y,Z,X1,Y1, method) ?根据数据点(X,Y,Z)的值,计算函数在(X1,Y1)处由相应的插值方法得到的插值结果Z1。其中X、Y是两个向量,分别描述两个参数的采样点,X1、Y1是两个向量或标量,描述欲插值的点。method的取值与一维插值函数相同。X、Y、Z也可以是矩阵形式。X1、Y1的取值范围不能超出X、Y的 给定范围,否则,插值结果会出现非数(NaN)。 MATLAB正是利用插值方法实现二维绘图和三维绘图。 2.二维数值插值 4.4 函数的零点和极值点 4.4.1 函数的零点 对于任意函数f(x),它可能存在零点,也可能没有零点;即便存在零点,函数也可能只有一个零点,或者有多个甚至无穷多个零点。对于应用解析方法寻找零点较困难,或者解析方法寻找零点无能为力的情况下,MATLAB提供了找寻函数零点的数值解法。 MATLAB中找寻函数零点的数值计算方法为:先猜测一个初始零点或者零点所在的区间,然后通过不断迭代,使得猜测值不断精确化,或区间不断收缩,直至达到预先指定的精度,终止计算输出结果。 MATLAB中找寻的函数零点的指令为fzero(),调用格式如下: ?[xx,yy]=fzero(fun,x0) ?计算函数fun在x0附近的零点;x0为初始猜测零点:若x0取标量,该指令将在它两侧寻找一个与之最靠近的零点;x0为区间时,指令将在区间内寻找零点。输出宗量xx、yy分别为零点的横坐标和纵坐标。如果函数只有一个输出宗量,则仅给出零点横坐标。 【说明】 该函数有不止一个零点,但函数fzero()只能找出一个零点。 为了能够有目的的找寻多个零点中的一个,用户可以先借助图形找到初始猜测零点的值。 1.一元函数的零点 (1)使用内联函数,并计算0.5附近的零点. clear,f=inline((sin(t))^2*exp(-0.1*t)-0.5*abs(t)) [t,y]=fzero(f,0.5) %计算0.5附近的零点 t = 0.5993 y = -5.5511e-017 为了获得更多的零点信息,建议用户用作图法观察函数零点的分布情况,并借助相关指令来获取多个零点的近似值。 【例4-29】求 的零点。 (2)作图法观察零点分布。 编写文件名为exm4_29的脚本文件: t=linspace(-8,8,200); y=(sin(t)).^2.*exp(-0.1*t)-0.5*abs(t); plot(t,y,t,zeros(size(t)))%绘图指令 xlabel(t),ylabel(y(t))%添加坐标轴名称 在指令窗中输入exm4_29并执行,结果如图4-2所示。 图4.2 函数零点分布观察图

文档评论(0)

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

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

1亿VIP精品文档

相关文档