帕德逼近算法.doc

帕德逼近算法.doc

ID:50944803

大小:101.00 KB

页数:15页

时间:2020-03-16

帕德逼近算法.doc_第1页
帕德逼近算法.doc_第2页
帕德逼近算法.doc_第3页
帕德逼近算法.doc_第4页
帕德逼近算法.doc_第5页
资源描述:

《帕德逼近算法.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《MATLAB程序设计实践》课程作业一、用MATLAB编程实现“帕德逼近”的科学计算算法,及举例应用。1)帕德逼近算法说明如下:帕德逼近是一种有理分式逼近,逼近公式如下:大量实验表明,当L+M为常数时,取L=M,帕德逼近精确度最好,而且速度最快。此时,分子与分母中的系数可通过以下方式求解。首先,求解线形方程Aq=b,得到(…)的值,其中,,然后,通过下式求出的值。注意,函数的帕德逼近不一定存在。在MATLAB中编程实现的帕德逼近法函数为:Pade。功能:用帕德形式的有理分式逼近已知函数。调用格式:f=Pade(y,n)或f=Pade(y,n,x0)。其中,y为已知函数;n为帕德有理分式

2、的分母多项式的最高次数;x0为逼近点的x坐标;f为求得的帕德有理分式或在x0处的逼近值。2)程序源代码如下:①在m文件中编写实现函数的Pade逼近的代码如下:functionf=Pade(y,n,x0)%用帕德形式的有理分式逼近已知函数%已知函数:y%帕德有理分式的分母多项式的最高次数:n%逼近点的坐标:x0%求得的帕德有理分式或在x0处的逼近值:fsymst;A=zeros(n,n);q=zeros(n,1);p=zeros(n+1,1);b=zeros(n,1);yy=0;a(1:2*n)=0.0;for(i=1:2*n)yy=diff(sym(y),findsym(sym(y))

3、,n);a(i)=subs(sym(yy),findsym(sym(yy)),0.0)/factorial(i);end;for(i=1:n)for(j=1:n)A(i,j)=a(i+j-1);end;b(i,1)=-a(n+i);end;q=Ab;p(1)=subs(sym(y),findsym(sym(y)),0.0);for(i=1:n)p(i+1)=a(n)+q(i)*subs(sym(y),findsym(sym(y)),0.0);for(j=2:i-1)p(i+1)=p(i+1)+q(j)*a(i-j);endendf_1=0;f_2=1;for(i=1:n+1)f_1=

4、f_1+p(i)*(t^(i-1));endfor(i=1:n)f_2=f_2+q(i)*(t^i);endif(nargin==3)f=f_1/f_2;f=subs(f,'t',x0);elsef=f_1/f_2;f=vpa(f,6);end3)算法实现流程图如下:开始定义变量,输入:symst;A=zeros(n,n);q=zeros(n,1);p=zeros(n+1,1);b=zeros(n,1);赋初始值,输入yy=0;a(1:2*n)=0.0No开始循环判断i≤2nYesyy=diff(sym(y),findsym(sym(y)),n);a(i)=subs(sym(yy),f

5、indsym(sym(yy)),0.0)/factorial(i);开始循环判断i≤nNoYesNo开始循环判断j≤nq=Ab;p(1)=subs(sym(y),findsym(sym(y)),0.0);b(i,1)=-a(n+i)YesA(i,j)=a(i+j-1)No开始循环判断j≤nYesp(i+1)=a(n)+q(i)*subs(sym(y),findsym(sym(y)),0.0)f_1=0;f_2=1;No开始循环判断2≤j≤i-1Yesp(i+1)=p(i+1)+q(j)*a(i-j)开始循环判断1≤j≤n+1NoYesf_1=f_1+p(i)*(t^(i-1))开始循

6、环判断1≤i≤nNoYesf_2=f_2+q(i)*(t^i)对nargin==3进行循环判断NoYes输出结果f=f_1/f_2;f=vpa(f,6)输出结果f=f_1/f_2;f=subs(f,'t',x0);结束4)用勒让德公式(取4项)逼近函数,并求当x=0.5时的函数值。源代码及运算结果如下:>>f=Pade('1/(1-x)',4)f=(1.+1.00060*t+.988095*t^2+.821429*t^3+2.92857*t^4)/(1.+.595238e-3*t-.119048e-1*t^2+.107143*t^3-.500000*t^4)>>f=Pade('1/(1

7、-x)',4,0.5)f=2.0757实现流程图为:开始输入:f=Pade('1/(1-x)',4)输出结果,其形式为帕德有理分式调用帕德函数,分母最高次项为4次调用帕德函数,分母最高次项为4次,计算x=0.5时的逼近值输入:f=Pade(‘1/(1-x)’,4,0.5)输出结果,其形式为x=0.5时的逼近值结束二、求解工程问题,计算立柱的直径。已知:P=15kN,[σ]=35Mpa,l=0.4m1)建模:钻床受力图如下:lPPM=PlA钻床受

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。