MATLAB及其在理工课程中的应用指南 第三版 十二五 陈怀琛 第3-4章 第4章.pptVIP

MATLAB及其在理工课程中的应用指南 第三版 十二五 陈怀琛 第3-4章 第4章.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文档。上传文档
查看更多
4.4.2 非线性函数的分析   1) 绘制函数曲线   其格式为: fplot(′函数名′,[初值x0,终值xf]),例如,要画出humps函数在x=0~2之间的曲线, 键入 fplot(′humps′,[0,2]),grid  得出图4-9所示的曲线。   fplot函数对于快速了解一些复杂特殊函数的波形很有用处。例如求第一类bessel函数 (见表4-5),可用 fplot(′besselj(alpha,x)′,[0,10]) 设alpha为1,2,5时所得曲线如图4-10所示。 图 4-9 humps函数的曲线 图 4-10 第一类bessel函数的曲线   2) 求函数极值   其格式为: fminbnd(′函数名′,初值x0,终值xf),例如,求humps函数在x=0~1.5之间的极小值,键入 m=fminbnd(′humps′,0,1.5) 得 m = 0.6370   3) 求函数零点   其格式为: fzero(′函数名′,初猜值x0), 例如,求humps函数在x=1附近的过零点,键入 z=fzero(′humps′,1) 得 z = 1.2995   以上给出的是这些函数调用的典型格式,还有其他选项可作为变元,例如 fplot(′tan′,[-2*pi 2*pi -2*pi 2*pi],′*′),grid   在第二项变元中增加了y轴的上下限,第三项变元是线型。所得图形如图4-11(a) 所示, 读者可从help fplot中得到进一步的信息。  图 4-11 由fplot和ezplot画出的曲线   还有一个简便画函数图的命令ezplot(读作easy plot),它连自变量范围都无需规定,其默认的自变量范围为[-2π,2π],因此只要键入 ezplot tan(x),grid 也可得到类似于图4-11(a)的曲线,只是*号变为了实线。若键入 ezplot tan(sin(x))-sin(tan(x)) 所得图形如图4-11(b)所示。可以看出,图上还自动作出了标注。 4.4.3 函数和微分方程的数值积分   1) 定积分子程序(quad、quad8、quadl等)   其格式为: quad(′函数名′,初值x0, 终值xf),   例如,求humps函数在x=1~2之间的定积分,键入 s=quad(′humps′,1,2) 得 s = -0.5321   不难用定积分函数来求不定积分的数值解。只要固定积分下限,用for循环,把积分上限逐步增加即可。例如要求humps函数以x=0为下限的不定积分,可编写下列程序: for i=1: 20 x(i)=0.1*i; y(i)=quad(′humps′,0,x(i)); end, plot( x,y)   得出的曲线如图4-12所示。可以与图4-9对照确认它是humps曲线的积分。   quad、quad8、quadl等调用格式相同, 只是内部算法不同。 图 4-12 humps函数的积分曲线   2) 微分方程数字解(ode23、ode45等)   如果微分方程可化为一阶微分方程组的形式, 即 dy/dx = f(x,y) 其中,x是标量,y可以是一个列向量。f(x,y)是以x,y为变元的函数,用MATLAB函数文件表述。设文件名为yprime.m,则求此微分方程的数值解的子程序调用格式为 [x,y] = ode23(′yprime′, 自变量区间xspan, 因变量初值y0)   对于humps函数,不能直接用ode23作数值积分,其原因在于humps只有一个输入变元x,微分方程数值解的函数ode23等要求被调用的函数有两个输入变元。如果我们把humps函数文件加一个虚的变元y,即把它的第一句换成function yp = humps1( x, y ),并将此函数另存为一个humps1.m文件,则   [x,y] = ode23(′humps1′, [0, 2], 1); plot(x,y) 表示在初值y0=1,xspan为[0,2]的条件下, 求微分方程的数值解,则可以得到与图4-12 相仿的曲线,只是向上平移了一个单位,因为这里设y0=1。在这个例子中,函数humps1中的y只是一个虚的变元,比较简单。   【例4-4-1】 求下列微分方程(范德堡方程)的数值解, 即 y″+r(y2-1)y′+y=0   它可写成导数在左端的两个一阶微分方程构成的方程组,也可写成矩阵方程: 其中,     。   先要建立反映此微分方程组右端的函数文件vdp

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档