数值分析-jianmo3.ppt

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

数值积分 常用的高斯求积公式   1.Gauss - Legendre 求积公式                   (1)  其中高斯点为Legendre多项式的零点 函数的级数展开与级数求和问题求解 一 Taylor幂级数展开 (1)单变量函数的Taylor幂级数展开 函数 调用格式: taylor(f,x,k) 按x=0进行Taylor幂级数展开 taylor(f,x,k,a)按x=a进行Taylor幂级数展开 注: f为函数的符号表达式,x为自变量,若函数只有一个自变量,则x可以省略。K为需要展开的项数,默认值为6项。还可以给出a参数,表明需要获得关于x=a 的幂级数展开。 (1)多变量函数的Taylor幂级数展开 Matlab的符号运算工具箱并未提供计算多变量函数Taylor幂级数展开的直接函数,但可以用Matlab基本的语句计算该展开。另外,可以调用Maple语言中的mtaylor()函数来直接求取多变量函数Taylor幂级数展开,其调用格式为: F=maple(‘mtaylor’,f,‘[x1,….,xn]’, k) 原点展开 F=maple(‘mtaylor’,f,‘[x1=a1,….,xn=an]’, k)在 (a1,…..,an)点展开 注:其中k-1为展开的最高阶次,f为原多变量函数,该函数调用时自变量的引号不能省略,该地调用格式将原封不动将这些信息传递给Maple语言。 (2)Fourier级数展开 Matlab和Maple语言均未提供求解Fourier系数与级数的现成函数。但不难编写出其求解函数: function [A,B,F]=fseries(f,x,n,a,b) if nargin==3,a=-pi; b=pi; end L=(b-a)/2; if a+b,f=subs(f,x,x+L+a);end A=int(f,x,-L,L)/L; B=[ ]; F=A/2; for i=1:n an=int(f*cos(i*pi*x/L),x,-L,L)/L; bn=int(f*sin(i*pi*x/L),x,-L,L)/L; A=[A,an]; B=[B,bn]; F=F+an*cos(i*pi*x/L)+bn*sin(i*pi*x/L); end if a+b, F=subs(F,x,x-L-a);end 该函数的调用格式为: [A,B,F]=fseries(f,x,n,a,b) 注:其中 f 为给定函数,x为自变量,n为展开项数,a,b为x 的区间,可以省略取其默认值为[-pi,pi],得出的A ,B为Fourier系数,F为展开式。 当然,仿照上述函数不难写出其数值版。 (3)级数求和的计算 符号运算工具箱提供的symsum()函数可以用于已知通项的有穷或无穷级数的求和。该函数的调用格式为: S=symsum( fk ,k,k0,kn) 注:其中fk 为级数的通项,k为级数自变量, k0,kn为级数求和的起始项和终止项并可以将起始项和终止项设置成无穷量inf。 数值微分 前面介绍了已知原型函数,可以通过diff( )函数求取各阶导数解析解的方法,并可得出结论:高达100阶的导数可以用Matlab语言在几秒钟的时间内直接求出。应该指出,前面介绍的解析方法的前提是原型函数为已知的。如果函数表达式未知,只有实验数据,在实际应用中经常也有求导的要求,这样的问题就不能用前面的方法获得问题的解析解。要求解这样的问题,需要引入数值算法得到所需问题的解。由于在Matlab语言中没有现成的数值微分函数,所以,我们介绍较好算法的Matlab 实现。 1 中心差分方法及其Matlab实现 调用函数为: [dy,dx]=diff_ctr(y,dt, n) 注:y为给定的等间距的实测数据构成的向量,dt为自变量的间距,n为所需导数阶次。向量dy为得出的导数向量,dx 为相应的自变量向量。注意这两个向量的长度比y短。 2 二元函数的梯度计算 如果给定二元函数的函数值矩阵z,其中z 为网格数据,则可以由gradient()函数求取二元函数的梯度。其调用格式为: [fx,fy]= gradient(z) 注:其实这样算

文档评论(0)

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

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

1亿VIP精品文档

相关文档