您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 综合/其它 > 应用第4版微积分问题的计算机求解
第4章微积分问题的计算机求解4.1极限问题的解析解4.1.1单变量函数的极限已知函数f(x),则极限问题的一般描述为xfLxxlim0其中,x0可以是一个确定的值,也可以是无穷大。对某些函数来说,还可以定义单边极限(或称左右极限),xfLxxlim0或xfLxxlim0前者表示x从左侧趋近于x0点,称为左极限,后者相应地称为右极限。极限问题在MATLAB符号运算工具箱中可以使用1imit函数直接求出,该函数的调用格式为1.limit(f,x,a):求)(limxfax2.limit(f,a):求f(x)的极限值。符号函数f(x)的变量为函数findsym(f)确定的默认自变量a,即x→a3.limit(f):求f(x)的极限值。符号函数f(x)的变量为函数findsym(f)确定的默认自变量。没有指定变量的目标值,系统默认自变量趋近于0,即a=0。4.limit(f,x,a,’right’):求)(limxfax。’right’表示变量x从右边趋近于a5.limit(f,x,a,’left’):求)(limxfax。’left’表示变量x从左边趋近于a例1求解极限问题xbxaxxxsin1lim。symsxab;f=x*(1+a/x)^x*sin(b/x);L=limit(f,x,inf)例2.求axaxmmaxlimsymsamxf=(x^(1/m)-a^(1/m))/(x-a)limit(f,x,a)例3.求xxxx12limsymsxf=x*(sqrt(x^2+1)-x)limit(f,x,inf,'left')%为什么不right?例4.求22limaxaxaxaxsymsamxf=(sqrt(x)-sqrt(a)+sqrt(x-a))/sqrt(x*x-a*a)limit(f,x,a,'right')例5求解单边极限问题xxexxsincos113lim0symsx;limit((exp(x^3)-1)/(1-cos(sqrt(x-sin(x)))),x,0,'right')例6分别求出tanu函数关于π/2点处的左右极限。symsu;f=tan(u);L1=limit(f,u,pi/2,'left')L2=limit(f,u,pi/2,'right')4.1.2多变量函数的极限多元函数的极限可以同样用MATLAB中的limit函数直接求解。假设有二元函数f(x,y),若要求出二元函数的极限yxfLyyxx,lim00则可以嵌套使用limit函数。例如,L1=limit(limit(f,x,x0),y,y0)或L2—limit(limit(f,y,y0),x,x0)如果x0或y0不是确定的值,而是另一个变量的函数,例如x→g(y),则上述的极限求取顺序不能交换。例7求出二元函数极限值22222221111sinlimyaxxyyyxyxxesymsxya;f=exp(-1/(y^2+x^2))*sin(x)^2/x^2*(1+1/y^2)^(x+a^2*y^2);L=limit(limit(f,x,1/sqrt(y)),y,inf)4.2函数导数的解析解4.2.1函数的导数和高阶导数如果函数和自变量都已知,且均为符号变量,则可以用diff函数解出给定函数的各阶导数。diff函数的调用格式为diff(s):没有指定变量和导数阶数,则系统按findsym函数指示的默认变量对符号表达式s求一阶导数。diff(s,'v'):以v为自变量,对符号表达式s求一阶导数。diff(s,n):按findsym函数指示的默认变量对符号表达式s求n阶导数,n为正整数。diff(s,'v',n):以v为自变量,对符号表达式s求n阶导数。例1.xey1,求symsxy=sqrt(1+exp(x))diff(y)%求1。未指定求导变量和阶数,按默认规则处理例2.xxycos,求y’’、y’’’。symsxy=x*cos(x)diff(y,x,2)%求2。求y对x的2阶导数diff(y,x,3)%求2。求y对x的3阶导数例3给定函数34sin2xxxxf,试求出44dxxfdsymsx;f=sin(x)/(x^2+4*x+3);f4=diff(f,x,4)4.2.2隐函数的偏导数已知隐函数的数学表达式为0,,21nxxxf,则可以通过隐函数对它们的偏导数求出自变量之间的偏导数。具体可以用下面的公式求出jixx:ninjjixxxfxxxxfxxx,,,,2121例4.),(yxfz由2222azyx定义,求,symsaxyzf=x^2+y^2+z^2-a^2zx=-diff(f,x)/diff(f,z)%求z对x的偏导数zy=-diff(f,y)/diff(f,z)%求z对y的偏导数例5二元函数02,222xyyxexxyxf,求xysymsxy;f=(x^2-2*x)*exp(-x^2-y^2-x*y);-simple(diff(f,x)/diff(f,y))4.2.3参数方程的导数若已知参数方程tfy,tgx,则nndxyd可以由递推公式求出tgdxyddtddxydtgdxdydtdtgtgtfdtddxydtgtfdxdynnnn1111122对于简单的一阶和二阶导数,可以直接用下面的公式tgtfdxdy,tgtgtftgtfdxyd322例3.tbytaxsincos,求、symsabtxy1=a*cos(t);y2=b*sin(t);F1=diff(y2)/diff(y1)%按参数方程求导公式求y对x的导数F2=(diff(y1)*diff(y2,2)-diff(y1,2)*diff(y2))/(diff(y1))^3%求y对x的2阶导数对于更高阶参数方程的导数,可以编写出如下的递归调用函数来求解。functionresult=paradiff(y,x,t,n)ifmod(n,1)~=0,error('nshouldpositiveinteger,pleasecorrect')elseifn==1,result=diff(y,t)/diff(x,t);else,result=diff(paradiff(y,x,t,n-1),t)/diff(x,t);endend例4已知参数方程31sintty,31costtx,求33dxydsymst;y=sin(t)/(t+1)^3;x=cos(t)/(t+1)^3;f=paradiff(y,x,t,3);%调用paradiff函数文件[n,d]=numden(f);%分子和分母分别存放在n与d中F=simple(n)/simple(d)4.3积分问题的解析解4.3.1不定积分MATLAB符号运算工具箱中提供了一个int函数,可以直接用来求符号函数的不定积分。该函数的调用格式为F=int(fun,x)如果被积函数fun中只有一个变量,则调用语句中的x可以省略。另外,该函数得出的结果F(x)是积分原函数,实际的不定积分应该是F(x)+C构成的函数族,其中,C是任意常数。对于可积的函数,MATLAB符号运算工具箱提供的int函数可以用计算机代替繁重的手工推导,立即得出原始问题的解.而对于不可积的函数来说,MATLAB也是无能为力的。例1.求dxx323x=sym('x')f=(3-x^2)^3int(f)例2.求dteatsymsalphatf=exp(alpha*t)int(f)例3.求dtxxt215symsxtf=5*x*t/(1+x^2)int(f,t)例4考虑两个不可积问题(1)dxx2exp2(2)dxxaxx2expsin24解(1)symsx;int(exp(-x^2/2))该解中含有erf函数,它的定义为xdttxerf02exp2这样似乎可以写出积分的解析表达式。但事实上,这样的结果在工程中是不能用的,必须得出相应的数值解。解(2)symsax;int(x*sin(a*x^4)*exp(x^2/2))运行后,将出现如下的错误信息:Warning:Explicitintegralcouldnotbefound说明积分不成功。4.3.2定积分与无穷积分计算在MATLAB中,仍然可以使用int函数来求解定积分或无穷积分问题,该函数的具体调用格式为I=int(f,x,a,b)其中,x为自变量,(a,b)为定积分的积分区间,求解无穷积分时,允许将a,b设置成-Inf或Inf。当a,b中有一个符号表达式时,函数返回一个符号函数。例1.求211dxxx=sym('x')int(abs(1-x),1,2)例2.求dxx211x=sym('x')f=1/(1+x^2)int(f,-inf,inf)例3.求321031dxxxx=sym('x')f=x^3/(x-1)^10I=int(f,2,3)double(I)%将符号结果转换为数值例4.求xdttxsin24symsxtint(4*x/t,t,2,sin(x))4.3.3多重积分对于多重积分,需要根据实际情况先选择积分顺序,可积的部分作为内积分,然后再处理外积分。每步积分均采用int函数处理。如果交换积分顺序后仍然不能积出解析解,则说明原积分没有解析解,需要采用数值方法求解。例1.求二重积分dtdxettx32symstxc1c2,%c1和c2是积分常数y=int(int(t^2*exp(-3*t*x),t)+c1,x)+c2例2计算积分Ddyx223。D是由X轴、Y轴和抛物线21xy在第一象限内所围成的区域,如下图所示。解:先把二重积分化成二次积分:101022101022223332dydxyxdxdyyxdyxyxD采用先对变量y积分的二次积分:symsxy,int(int(3*x^2*y^2,y,0,1-x^2),x,0,1)4.4函数的级数展开与级数求和问题求解4.4.1Taylor幂级数展开如果在x=a点附近进行Taylor幂级数展开,则得出kkkaxoaxbaxbaxbbxf2321其中.各个系数认可以如下求出。,3,2,1!1111limidxxfdibiiaxiTaylor幂级数展开可以用符号运算工具箱的taylor函数给出,其调用格式为taylor(f,x,k)%按x=0进行taylor幕级数展开taylor(f,x,k,a)%按x=a进行taylor幕级数展开其中,f为函数的符号表达式,x为自变量,若函数只有一个自变量,则x可以省略。k为需要展开的项数,默认值为6项。例1.求3233121xxxx的5阶泰勒级数展开式。x=sym('x')f1=sqrt(1-2*x+x^3)-(1-3*x+x^2)^(1/3)taylor(f1,x,5)例2.将2211xxxx在x=1处按5次多项式展开。x=sym('x')f1=(1+x+x^2)/(1-x+x^2)taylor(f1,6,1)%展开到x-1的5次幂时应选择n=64.4.2Fourier级数展开给定函数f(x),其中,x[-L,L],且周期为T=2L,可以人为地对该函数在其他区间上进行周期延拓,使得f(x)=f(kT+x),k为任意整数。这样可以把函数展开成无穷三角函数和形式,即把函数展开为下面级数的形式:10sincos2nnnxLnbxLnaaxf其中,,2,1,0cos1
本文标题:应用第4版微积分问题的计算机求解
链接地址:https://www.777doc.com/doc-3977709 .html