在微积分运算中的应用精品文稿.ppt

上传人:石*** 文档编号:78733134 上传时间:2023-03-19 格式:PPT 页数:105 大小:5.98MB
返回 下载 相关 举报
在微积分运算中的应用精品文稿.ppt_第1页
第1页 / 共105页
在微积分运算中的应用精品文稿.ppt_第2页
第2页 / 共105页
点击查看更多>>
资源描述

《在微积分运算中的应用精品文稿.ppt》由会员分享,可在线阅读,更多相关《在微积分运算中的应用精品文稿.ppt(105页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、在微积分运算中的应用1第1页,本讲稿共105页1.极限极限(1)对极限定义的认识练习练习1 用下面的语句观察数列的前100项变化情况n=1:100;a=n.(n.(-1)为了更清楚地观察其是否收敛,读者可将项数增大一些 对于该数列,我们再用语句:plot(n,a,.)画出其散点图,借助于图形来观察它的变化趋势。2第2页,本讲稿共105页 数列的散点图 从上图可看出,这个数列似乎收敛于1.但如何说明它收敛于1,而不是收敛于大于1的某个数呢(由,若极限存在,则极限必不小于1)?设该数列收敛于A=1+u(u0),我们取u=10-2用程序来检察 接近的程度。3第3页,本讲稿共105页u=10-2;A=

2、1+u;m=5;n=2;an=sqrt(2);while abs(an-A)=10-m n=n+1;an=n(1/n);endfprintf(A=%3.2f,n=%3.0f,an=%3.0f,abs(an-A)=%8.7en,A,n,an,abs(an-A)结果为:A=1.01,n=651,an=1,abs(an-A)=1.3098309e-006这说明当=651,an=1.01时 ,an与1+10-2的距离小于10-5。4第4页,本讲稿共105页(2)极限的计算 在MATLAB软件中可以直接用命令limit来求极限,其一般格式是:这里需要说明几点1.上式求的是符号表达式F(x)当xa时的极限

3、值,若要计算右极限或左极限,可在后指明趋向的方向;练习练习7 试比较下面语句的区别.limit(exp(-1/x),x,0)limit(exp(-1/x),x,0,right)limit(exp(-1/x),x,0,left)2.在试图求无穷振荡点处的极限时,limit语句得到的是函数振荡时可能的取值范围;limit(F(x),x,a)5第5页,本讲稿共105页例1 求下列函数的极限:clearF1=sym(atan(x)/x);F2=sym(1+x)/(1-x)(1/x);F3=sym(sqrt(1+x2)-1)/(1-cos(x);F4=sym(x*log(1+x)/sin(x2);F=F

4、1,F2,F3,F4 limit(F)ans=1,exp(2),1,16第6页,本讲稿共105页例2 求函数的极限:clearsyms a F xF=(1+a/x)xlimit(F,x,inf,left)ans=exp(a)7第7页,本讲稿共105页(3)一些数列的极限的讨论设数列xn与yn由下式确定:xn与yn的极限存在吗?8第8页,本讲稿共105页 运行该程序可判断出:xn与yn有极限,且这两极限值是相等的。(x100=1.456791E+000,y100=1.456791E+000。用MATLAB软件编出如下程序进行观察:xn=1;yn=2;for n=2:1:100 xN=xn;yN=

5、yn;xn=sqrt(xN*yN);yn=(xN+yN)/2;endfprintf(x100=%E,y100=%En,xn,yn)9第9页,本讲稿共105页2.导数与微分导数与微分在MATLAB中由命令函数diff()来完成运算,其具体形式为:diff(function,vaiaale,n)参数function为需要进行求导运算的函数,vaiaale为求导运算的独立变量,n为求导的阶数。10第10页,本讲稿共105页(1)求导命令diff 在MATLAB软件中,可用语句diff(f(x),x)计算函数的导函数,当然在使用前需先将x定义成符号变量。若要求f(x)在x=a处的导数,可用subs命令

6、,只要将x=a赋给上面的导函数便可得到。而命令diff(f(x),x,n)求的是函数f(x)对x的n阶导函数。11第11页,本讲稿共105页例3 求下列函数的导数clearsyms x y1 y2 y3y1=(cos(x)3-cos(3*(x);y2=x*sin(x)*log(x);y3=(x*exp(x)-1)/sin(x);dy1=diff(y1)dy2=diff(y2)dy3=diff(y3)12第12页,本讲稿共105页dy1=-3*cos(x)2*sin(x)+3*sin(3*x)dy2=sin(x)*log(x)+x*cos(x)*log(x)+sin(x)dy3=(exp(x)+

7、x*exp(x)/sin(x)-(x*exp(x)-1)/sin(x)2*cos(x)pretty(dy3)exp(x)+x exp(x)(x exp(x)-1)cos(x)-sin(x)sin2(x)13第13页,本讲稿共105页clearsyms x diff(2*sqrt(x),x);x=2;f=1/x(1/2)ans=1/x(1/2)f=0.707114第14页,本讲稿共105页clearsyms x y=1/(1-log(x);dy=diff(y,x,6)dy=720/(1-log(x)7/x6-1800/(1-log(x)6/x6+2040/(1-log(x)5/x6-1350/(

8、1-log(x)4/x6+548/(1-log(x)3/x6-120/(1-log(x)2/x615第15页,本讲稿共105页(2)隐函数与由参数方程确定的函数的导数求隐函数的导数与由参数方程确定的函数的导数,需将求导命令与数学公式或方法结合起来,才能奏效!例例5 求由方程xy-ex+ey=0确定的函数y=f(x)的导数。与笔算的做法一样,先在方程两边对变量求导,再从所得方程中解出即可。clearsyms x yf=(x*y-exp(x)+exp(y)-diff(f,x)/diff(f,y)运行之后可求出y(x)。这两个步骤分别可由以下语句完成:ans=(-y+exp(x)/(x+exp(y)

9、16第16页,本讲稿共105页由下面的语句可得所求的导数:yans=sin(t)/(1-cos(t)结果为:17第17页,本讲稿共105页3.导数的应用导数的应用(1)最值的计算a.直接用MATLAB语句计算MATLAB软件中提供了求函数极小点的语句fminbnd(f,a,b)执行该语句将得到函数在区间a,b内的极小点.而语句 fminsearch(f(x),x0)得到的是离x0最近的极小点.18第18页,本讲稿共105页要求函数的极大点,可以用命令fminsearch(-f(x),x0)这是因为函数-f(x)的极小点恰好就是函数f(x)的极大点例例7 求函数y=2x3-6x2-18x+7的极

10、值。解解 先作图了解。clearx=-5:0.1:5;y=2*x.3-6*x.2-18*x+7;plot(x,y)19第19页,本讲稿共105页从图上可知,函数y在区间-5,5上有极大值与极小值。f=inline(2*x.3-6*x.2-18*x+7);pmin=fminbnd(f,-5,5)pmin=-5g=inline(-2*x.3+6*x.2+18*x-7);pmax=fminbnd(g,-5,5)pmax=5fprintf(%g,%g,%g,%gn,pmin,f(pmin),pmax,f(pmax)-5,-303,5,17因5与-5皆在区间-53,5内,故所求的最大值为17,最小值为-

11、303。20第20页,本讲稿共105页b.利用导数计算 由高等数学的知识可知,函数y=f(x)的驻点与一阶不可导的孤立点可能是函数的极值点。若这些点的个数有限,我们只要比较这些点与区间端点、处的函数值,便能求出函数在a,b上的最大值与最小值了。clearsyms xy=2*x.3-6*x.2-18*x+7;dy=diff(y)dy=6*x2-12*x-1821第21页,本讲稿共105页Px=solve(dy)Px=3-1ezplot(y)22第22页,本讲稿共105页4.不定积分不定积分在MATLAB中由命令函数int()来完成积分运算,其具体形式为:int(function,vaiaale)

12、参数function为需要进行求导运算的函数,vaiaale为积分变量。23第23页,本讲稿共105页clearsyms xy=x5+x3-sqrt(x)/4y=x5+x3-1/4*x(1/2)int(y)ans=1/6*x6+1/4*x4-1/6*x(3/2)pretty(ans)pretty(ans)6 4 3/2 1/6 x +1/4 x -1/6 x24第24页,本讲稿共105页clearsyms x;y=sin(2*x)*sin(3*x)*sin(4*x)ans=-1/20*cos(5*x)-1/12*cos(3*x)+1/36*cos(9*x)-1/4*cos(x)int(y)pr

13、etty(ans)-1/20 cos(5 x)-1/12 cos(3 x)+1/36 cos(9 x)-1/4 cos(x)y=sin(2*x)*sin(3*x)*sin(4*x)25第25页,本讲稿共105页5.定积分定积分在MATLAB中由命令函数int()来完成积分运算,其具体形式为:int(function,vaiaale,a,b)参数function为需要进行求导运算的函数,vaiaale为积分变量,a、b分别为积分下、上限。(1)用命令函数计算定积分26第26页,本讲稿共105页clearsyms x;y=(x*exp(x)/(1+x)2ans=1/2*exp(1)-1int(y,

14、0,1)y=x*exp(x)/(1+x)227第27页,本讲稿共105页clearsyms x;y=1/(x2+2*x+3);int(y,-inf,inf)ans=1/2*pi*2(1/2)28第28页,本讲稿共105页(2)由定义计算定积分由定义计算定积分 在定积分的定义中,划分积分区间的方法与在每个小区间上取的点都是任意的,求积分和极限时要求每个小区间长度的最大值趋向于0,这些都给我们直接由定义来验证一个定积分是否存在带来了很大的困难。现在我们借助于计算机,按照定义的要求,对积分和的极限作近似计算,根据结果对定积分是否存在作出判断。下面以积分为例来说明这个问题:a.首先在区间0,1中插入n

15、-1个分点,为使分点任意,可用能产生随机数的函数rand()。b.为保证分割加细时,各小区间的长度趋于0,在取分点时,让相邻两分点间的距离小于 2/n。29第29页,本讲稿共105页在下列给出的程序中分点取为 因0ui1,故 c.其次在每个小区间xi-1,xi(i=1,2,n)上任取一点i,为使i具有任意性,我们同样利用函数rand()来实现,30第30页,本讲稿共105页为了提高精确度,我们让分点不断增多反复进行计算。计算程序如下:clear all f=inline(x2);a=0;b=1;n=20;%n为分割成的小区间个数,初始值取为20 x=;x(1)=a;for k=1:6x(n+1

16、)=b;s=0;for i=1:n-1 x(i+1)=(i+rand()*(b-a)/n;%取区间的分割点end31第31页,本讲稿共105页for i=1:ndxi=x(i+1)-x(i);%计算第i个区间的长度c=x(i)+dxi*rand();%在第i个区间上任取一点s=s+f(c)*dxi;%逐步求积分和endfprintf(n=%g,s=%gn,n,s);n=n*2;end 程序中分割小区间的个数n的初值取为20,然后每循环一次放大一倍,共放大了5次。程序运行结果为:这样做的目的是为了尽快获得结果,当然我们也可取其它的值作为的初值,也可以用其它的方式让增大。32第32页,本讲稿共10

17、5页n=20,s=0.340088n=40,s=0.335021n=80,s=0.333965n=160,s=0.333266n=320,s=0.333431n=640,s=0.333373 由分割的任意性及i的任意性,我们有理由认为,即使n固定,每次运行该程序所得的结果也很可能是不同的。事实上,在实验时得到了下表 33第33页,本讲稿共105页第1次第2次第3次第4次第5次200.3318340.3310790.3346160.3270940.337772400.333490.3328930.3333720.3327080.333732800.334510.3333370.3334970.3

18、332840.3326611600.3334730.3330610.3333940.333430.3331243200.3333460.3334620.3332340.3334690.3333786400.3333270.3333650.3333430.3333590.333333 表中任何两个数据都不完全相同,但可看出它们间的差异不是很大,特别是最后一行当n=640时,5次运行的结果前4位有效数字是一样的,故我们猜测:34第34页,本讲稿共105页(3)从图形观察积分和与定积分的关系 从图形上来观察随着分割点的增多,积分和是否越来越接近定积分的值。下面以积分为例来说明:35第35页,本讲稿共

19、105页clear x a b;f=inline(sin(x);a=0;b=pi/2;n=0;syms x;axis manual;set(gca,nextplot,replacechildren);for j=3:20:103 n=j;t(1)=a;t(n+1)=b;for i=1:n-1 t(i+1)=(i+rand()*(b-a)/n;end ezplot(f(x),a,b);hold on 36第36页,本讲稿共105页for i=1:n c=t(i)+(t(i+1)-t(i)*rand();bar(t(i)+t(i+1)/2,(t(i+1)+t(i)/2,f(c),f(c),t(i+

20、1)-t(i);end text(1,1,num2str(j),个分割点);M(:,(j-3)/20+1)=getframe;hold off;endmovie(M,10)37第37页,本讲稿共105页选择特殊的n值,将上面程序略加修改后,可得到如下图形:积分和38第38页,本讲稿共105页 图中阴影部分为积分和,从图中可看出在分割点为20时,阴影部分的上边界还很粗糙;当分割点为80时该边界已比较光滑,若再增加分割点的个数;当分割点为640时,已很难看出该边界与曲线有什么地方不一样了,这说明此时用积分和近似定积分产生的误差已非常小。39第39页,本讲稿共105页 当定积分存在时,所有任取的积分

21、和在趋向于0时的极限都相同,此时可以选择较简单的划分与简单的i,一般的做法是将区间等分,且让小区间的某端点作为i(i=1,2,n),这样积分和便成为或 对于连续函数的定积分,用这两个式子来近似计算是比较简单的。在数值计算中,称用上两式近似定积分的方法为矩形法,这是因为这两个式子在几何上表示一些矩形面积的和。40第40页,本讲稿共105页(4)定积分近似计算的梯形法在近似计算中也常用式子近似计算定积分。该式是上两式的的平均。它在几何上表示一些梯形面积的和,故它被称为近似计算定积分的梯形法 。41第41页,本讲稿共105页例例13 用梯形法近似计算定积分 解解 我们知道f(x)=ex在0,1上连续

22、,所以定积分存在。现将区间0,1均分为等分,由梯形公式得:利用此式,编程如下:42第42页,本讲稿共105页f=inline(exp(x);a=0;b=1;s0=1;s1=0;n=20;m=6;while abs(s0-s1)10-m s1=s0;i=1:n;s0=sum(f(a+(i-1)*(b-a)/n)*(b-a)/n+f(a+i*(b-a)/n)*(b-a)/n)/2);n=n*2;endfprintf(%s%s%gn,exp(x),在0,1上的积分约为,s0)运行结果为:exp(x)在0,1上的积分约为1.71828。上面的数据1.71828除了整数位外,小数部分的前5位与的前5位完

23、全一样。43第43页,本讲稿共105页(5)定积分近似计算的Monte Carlo方法 设函数f(x)定义在区间a,b上,当axb时有0f(x)H,其中H是某个非负数(如图)。今向图中的矩形内随机投点,对于位于曲线y=f(x)下方的图形,其面积的一种合理估计应该是矩形的面积乘以落在该图形内的随机点个数占总随机点数的百分比,即:其中,为m随机点总数,s是落在位于曲线y=f(x)下方的图形中的随机点个数。上面的结论意味着下式成立:44第44页,本讲稿共105页作为例子,我们用上面的方法来求定积分 为此,编程如下:a=0;b=1;m=1000;s=0;H=exp(1);%s设置为落在曲边梯形内的点数

24、for i=1:m xi=rand();yi=H*rand();if yi0时有极值,且A 0 时有极小值(2)当AC-B20时没有极值(3)当AC-B2=0时极值不确定,需要具体讨论。59第59页,本讲稿共105页clearsyms x y z;f=x3-y3+3*x2+3*y2-9*x;F=jacobian(f);%计算梯度F=3*x2+6*x-9,-3*y2+6*yX,Y=solve(F(1),x,F(2),y);%求驻点60第60页,本讲稿共105页X=1-3 1-3 Y=0 0 2 2X,Y=solve(F(1),x,F(2),y);%求驻点61第61页,本讲稿共105页dxx=di

25、ff(F(1);%计算Fxx(x,y)dxx=6*x+6dyy=diff(F(2);%计算Fyy(x,y)dyy=-6*y+6dxy=diff(F(1),y);%计算Fxy(x,y)dxy=062第62页,本讲稿共105页例题分析:一共四个驻点:(-3,0),(-3,2),(1,0),(1,2)(1)在驻点(-3,0)处,A=-12,B=0,C=6,AC-B2=-720,所以此点不是极值点。(2)在驻点(-3,2)处,A=-12,B=0,C=-6,AC-B2=720,所以此点是极大值点。(3)在驻点(1,0)处,A=12,B=0,C=6,AC-B2=720,所以此点是极小值点。(4)在驻点(1

26、,2)处,A=12,B=0,C=-6,AC-B2=-720,所以此点不是极值点。63第63页,本讲稿共105页9.重积分重积分64第64页,本讲稿共105页clearsyms x y z;f=z;A1=int(int(int(f,z,x2+y2,2),y,0,sqrt(2-x2),x,0,sqrt(2);A1=2/3*piA2=int(int(int(f,z,x2+y2,1),y,0,sqrt(1-x2),x,0,1);A2=1/12*piA1-A2ans=7/12*pi65第65页,本讲稿共105页10.曲线积分与曲面积分曲线积分与曲面积分66第66页,本讲稿共105页clearsyms a

27、 b x y t;x=a*cos(t);y=b*sin(t);dx=diff(x,t);dy=diff(y,t);dx=-a*sin(t)dy=b*cos(t)67第67页,本讲稿共105页ds=sqrt(dx2+dy2);f=x*y;ds=(a2*sin(t)2+b2*cos(t)2)(1/2)I=int(f*ds,t,0,pi/2)f=a*cos(t)*b*sin(t)I=1/3*a*b*(a2)(1/2)*a2-(b2)(1/2)*b2)/(a2-b2)68第68页,本讲稿共105页69第69页,本讲稿共105页syms th r;syms a positive;y=(a*r)/(a2-

28、r2);I=int(int(y,r,0,sqrt(a2-(a/2)2),th,0,2*pi)I=2*a*log(2)*pi70第70页,本讲稿共105页clearsyms x y z;z=sqrt(1-x2-y2);f=x*y*z;z=(1-x2-y2)(1/2)f=x*y*(1-x2-y2)(1/2)71第71页,本讲稿共105页I=int(int(f,y,0,sqrt(1-x2),x,0,1)I=1/1572第72页,本讲稿共105页clearsyms a x y;y=sqrt(a*x-x2);dyx=diff(y,x);f=x2+y2+4*x*y*dyx;dyx=1/2/(a*x-x2)

29、(1/2)*(a-2*x)f=a*x+2*x*(a-2*x)73第73页,本讲稿共105页I=int(f,x,0,a)I=1/6*a374第74页,本讲稿共105页11.数项级数的求和与收敛展开数项级数的求和与收敛展开 MATLAB符号工具箱给我们提供了功能强大的级数求和的命令函数symsum(),其格式如下:symsum(function,vaiaale,a,b)Function为级数的通项表达式,vaiaale用来声明通项中的求和变量,a和b分别为求和变量的起始点与终止点。75第75页,本讲稿共105页clearsyms n;f1=(2*n-1)/2n;f2=1/(n*(2*n+1);I1

30、=symsum(f1,n,1,inf);I2=symsum(f2,n,1,inf)I1=3I2=2-2*log(2)76第76页,本讲稿共105页clearsyms n x;f1=1/n;f2=sqrt(n+1)-sqrt(n);I2=symsum(f2,n,1,inf);MATLAB计算不出结果,因此无法断定其敛散性。I1=InfI1=symsum(f1,n,1,inf);I2=sum(n+1)(1/2)-n(1/2),n=1.Inf)级数发散。77第77页,本讲稿共105页clearsyms n x;f1=sin(x)/n2;f2=(-1)(n-1)*xn/n;f3=1/n;I2=syms

31、um(f2,n,1,inf);I2=log(x+1)I1=1/6*sin(x)*pi2I1=symsum(f1,n,1,inf);78第78页,本讲稿共105页 然而,正如我们看到的那样,用symsum语句得不到幂级数的收敛半径和收敛区间。要求一个幂级数的收敛半径和收敛区间,我们可以象手算那样根据有关结论去求,也可以用计算机做些数值实验来判断。79第79页,本讲稿共105页12.泰勒级数展开泰勒级数展开 对幂级数来说,除了要会求幂级数的和函数外,还存在着将函数展开为幂级数的问题,其目的就是求一个幂级数收敛到已知的函数,这等价于用一系列多项式逼近已知函数。在MATLAB中泰勒级数展开由命令函数t

32、aylor(),其格式如下:taylor(function,n,vaiaale,a)Function为待展开函数表达式,n为展开阶数,缺省是6阶。Vaiaale为声明function中的变量,a为变量求导的取值点,缺省为0,即麦克劳林级数展开。80第80页,本讲稿共105页clearsyms x;f=1/(1+x2);taylor(f);taylor(f,20)%20阶麦克劳林级数ans=1-x2+x4-x6+x8-x10+x12-x14+x16-x18ans=1-x2+x481第81页,本讲稿共105页clearsyms x;f=1/(x2+4*x+3);taylor(f,10,x,1);a

33、ns=7/32-3/32*x+7/128*(x-1)2-15/512*(x-1)3+31/2048*(x-1)4-63/8192*(x-1)5+127/32768*(x-1)6-255/131072*(x-1)7+511/524288*(x-1)8-1023/2097152*(x-1)982第82页,本讲稿共105页pretty(ans)2 15 3 31 4 7/32-3/32 x+7/128(x-1)-(x-1)+-(x-1)512 2048 63 5 127 6 255 7 511 8 -(x-1)+-(x-1)-(x-1)+-(x-1)8192 32768 131072 524288

34、1023 9 -(x-1)2097152pretty(ans)83第83页,本讲稿共105页 下面我们从图形上来观察多项式逼近函数的过程,以函数f(x)=sinx为例:13.函数逼近函数逼近syms x;f=inline(sin(x);g=0;for i=0:10s=diff(f(x),x,i);s1=subs(s,x,0);g=g+s1*xi/prod(1:i);if i=1|i=4|i=7|i=10subplot(2,2,1+(i-1)/3);ezplot(f(x),0,2*pi);hold on;84第84页,本讲稿共105页ezplot(g,0,2*pi);axis(0,6,-4,4)

35、;title(i);endendhold off85第85页,本讲稿共105页 图中变动的曲线依次为的1、5、8、10阶Taylor多项式的图形,我们看到:阶数越高,Taylor多项式与其函数之间的差异越小。对于连续函数f(x),在某个闭区间内,能不能找到一个近似程度既好、阶数又不是很高的多项式呢?在这里,我们作一些讨论:如何寻找函数的最佳一次逼近多项式。在这里,我们作一些讨论:如何寻找函数的最佳一次逼近多项式。这说明,在Taylor级数的收敛区间内,要取到函数的比较满意的近似值,选取的部分和阶数必须足够的高。86第86页,本讲稿共105页最佳一次逼近多项式最佳一次逼近多项式 用多项式逼近函数

36、,当次数固定时,存在着最佳逼近多项式,所谓最佳,就是产生的误差最小,而误差通常是指最大偏差。具体如下:设f(x)C(a,b)(C(a,b)表示a,b区间上连续函数的集合),则在a,b上以多项式Pn(x)代替函数f(x)产生的最大偏差为。在上面这种意义下的最佳逼近多项式称为最佳一致逼近多项式,一般而言,Taylor多项式非最佳一致逼近多项式。87第87页,本讲稿共105页 在理论上,若函数f(x)在闭区间a,b上连续,则在该区间内存在唯一一个次最佳一致逼近多项式,但是,要求出的次最佳一致逼近多项式却非常困难下面我们仅讨论当f(x)在(a,b)内不变号时,如何确定其最佳一次逼近多项式。我们知道,当

37、f(x)在(a,b)内时,在a,b上的图形是一段凹弧或一段凸弧,不妨假设其为凹弧。现连接两个端点M、N,得线段MN,它所在的直线方程为:88第88页,本讲稿共105页 因弧段y=f(x)在a,b)上光滑,而f(x)的二阶导数不变号,故在该弧段内存在唯一的一点C(x2,f(x2),此点到线段MN的距离最远。所以,此x2一定也是函数 在a,b上的最大值点,因而有 这说明弧段在C处的切线平行于MN。89第89页,本讲稿共105页 今让直线M1N1平行MN及l,并位于MN与l的正中间,则该直线位于区间a,b内的部分M1N1就是所要求的最佳一次逼近多项式函数的图形。对于位于a,b区间内的任意其他的直线段

38、M2N2,下面就M2N2的不同位置来说明上述结论。90第90页,本讲稿共105页1.若M2N2平行M1N1(如图),显然有最佳一次逼近(之一)91第91页,本讲稿共105页 最佳一次逼近(之二)2.若M2N2与M1N1相交(如图6.4),且交点在(a,b)内,则其两个端点M2、N2中,总有一个位于对应端点M1,N1的下方,故也有92第92页,本讲稿共105页 最佳一次逼近(之三)3.若M2N2与M1N1相交(如图6.4),且交点不在(a,b)内,可直接看出上式是成立的。93第93页,本讲稿共105页 现在,我们来求M1N1所在的直线方程,由前面的讨论知,直线的方程为而MN的方程(6.5)即为9

39、4第94页,本讲稿共105页 因M2N2平行M1N1与l(如图),且位于这两条平行直线的正中间,故它的方程为 将此式整理,得f(x)在a,b上的最佳一次逼近多项式为:我们还可进一步求出,用最佳一次逼近多项式P1(x)近似函数f(x)所产生的最大偏差,即 95第95页,本讲稿共105页由前面的讨论可知,它等于图中点C到直线MN距离的一半,为其中96第96页,本讲稿共105页解 此处,a=0,b=1,因由语句x2=solve(x/sqrt(1+x2)=sqrt(2)-1,x)运行可得:97第97页,本讲稿共105页P1(x)=(f(0)+f(x2)/2-(sqrt(2)-1)*(0+x2)/2+(

40、sqrt(2)-1)*x =0.95509+0.414214x由(6.10)式,可估计出误差限为若令x=a/b 且ba时,可得到一个求根式的近似公式:98第98页,本讲稿共105页14.傅里叶级数展开傅里叶级数展开 傅里叶级数展开是把函数展开为无穷三角函数和的形式。傅里叶级数是分析函数频域特性的基本工具,MATLAB虽然没有提供专门的命令函数来进行傅里叶级数展开运算,但是运用MATLAB的符号运算功能完全可以完成这个任务。99第99页,本讲稿共105页clearsyms x n;f=x;a0=int(f,x,-pi,pi)/pi;an=int(f*cos(n*x),x,-pi,pi)/pi;b

41、n=int(f*sin(n*x),x,-pi,pi)/pia0=0an=0 bn=-2*(-sin(pi*n)+pi*n*cos(pi*n)/n2/pi100第100页,本讲稿共105页 在实际问题中,经常需要将一个周期函数分解成一系列简单周期函数的叠加,例如,在信号处理中,将信号分解为简谐波函数的叠加是非常重要的一个步骤这个问题在数学中便是求周期函数的Fourier级数一个周期函数的Fourier级数如果存在的话,总是可以通过计算求出来的,但是这个级数是否收敛于原来的函数呢?看下例:例例33 设f(x)是周期为2,振幅为1的方波函数,f(x)在上的表达式为我们一起从图形上来观察Fourier

42、级数是否收敛于的过程,其MATLAB程序如下:101第101页,本讲稿共105页n=20;g=0;syms x;f=inline(-2*pi=x&x-pi)|(0=x&xpi)-(-pi=x&x0)|(pi=x&x2*pi);axis manualset(gca,nextplot,replacechildren);for i=1:n bi=2*(1-(-1)i)/(i*pi);%bi为正弦项的系数,已算出 g=g+bi*sin(i*x);%g为Fourier级数前i项和 ezplot(f,-2*pi,2*pi);hold on;ezplot(g,-2*pi,2*pi);M(i)=getfram

43、e;hold off;endmovie(M,25)102第102页,本讲稿共105页运行后,可见到Fourier级数随项数增加动态逼近函数的过程。其部分图形见图6.6图 三角函数逼近103第103页,本讲稿共105页15.微分方程微分方程 在MATLAB中求解微分方程可由命令函数dsolve 来完成,其格式如下:dsolve(d_equa1,d_equa2,condi1,condi2,var1,var2)d-equa为待解的方程,condi为初始状态,var为声明微分变量,缺省采用系统认定的微分变量。104第104页,本讲稿共105页clearsyms x y;y1=dsolve(Dy=1/(x+y),x);y1=-lambertw(-C1*exp(-x-1)-x-1y2=dsolve(y*D2y-Dy2=0,x);y2=0 exp(C1*x)*C2105第105页,本讲稿共105页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com