第3章微积分学_第1页
第3章微积分学_第2页
第3章微积分学_第3页
第3章微积分学_第4页
第3章微积分学_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精品文档第3章Matlab在微积分学中的应用在这一章里,我们将利用MATLAB解决高等数学中的许多计算问题。我们还将学会建立一般的函数在一定程度上解决理论上的计算问题。3.1极限数学中的极限问题类型大概有:数列的极限:limann左极限:limf(x)极限1元函数白限:鳗0f(叫右极限:xmf(x)x-xt二元(多元)函数的极限:limf(x,y)xX3、iy。数学形式的例子:,116n2 - n 1lim -32;n,二 n n 2,2+51+数列的极限有:lim-,lim,lim22-nn,二annj二二11ne1-44n元函数的极限有:.1x-2.(1mx)n-(1nx)m/lim,li

2、m-(n,mN),n)3'x-3x*xx2x(1x2x)n-(.1x2-x)nlim,limxj二x2J0x二元函数的极限有:limx_0x2 y2lxl + |ylimx 1y 0ln(x ey)22_(x y)x y )e精品文档以上是数学中出现的不同形式的极限。但求极限的命令在MATLAB中是相同的,者B由命令limit来完成。其常用形式有:limit(F,x,a)计算 lim F (x)xalimit(F,a)符号表达式F中由命令Rndsym(F)返回独立的变量v,计算limF(v)v-.alimit(F)符号确定同上,设为v,计算limF(v)limit(F,x,a,'

3、;right')计算limF(x)x-a.limit(F,x,a,'left')计算limF(x)x:a一注意:求一极限的基本步骤为:1 .把数学形式的表达式转化为Matlab的表达式。当然表达式由多个符号组成,并且符号都不是代表某一具体的数值,其值是一个变动的量,即所谓的符号变量。为此,我们要建立一些必要的符号对象,如:符号变量,符号表达式等。2 .使用求极限的命令limit来对符号表达式进行计算,其中要指明是对哪一个符号变量做极限运算;若不指定,则符号变量由命令findsym(F)来指定。3 .要指定符号变量的“极限点”以及趋于“极限点”的方向;若不指定“极限点”的

4、值,则缺省地认为是0点。4 .总之一点,极限作的都是符号运算!C24例3-1求lim3-2,limn-,n3n22xw(1mx)n(1-nx)m2X,1x-2(n,mN),limTx-3解:>>symsnmxf=(6*nA2-n+1)/(nA3-nA2+2)g=(1+m*x)An-(1+n*x)Am)/xA2h=(sqrt(1+x)-2)/(x-3)>>lim_f=limit(f,n,inf)>>lim_g=limit(g,x,0)>>lim_h=limit(h,x,3,'right')运算结果是:lim_f=0lim_g=-1/

5、2*mA2*n+1/2*nA2*mlim_h=1/4%或lim_g=limit(g)例3-2求lim华上立x122yQ,xy由于求二重极限在数学上没有方法可循,因此在Matlab中还没有一个统一的命令能求一个一般的二重极限,只能求在理论上已经证明与路径无关的函数,即把二重极限化成二次极限来计算:limx1yQln(xey)x2-y2ln(xey)=lim(limy0x1x2,y2解:>>symsxy>>f_xy='log(x+exp(y)/sqrt(xA2+yA2)'>>lim_f_xy=limit(limit(f_xy,x,1),y,0)运

6、行的结果是:lim_f_xy=log(2)3.2微积分高等数学中的微积分是大学数学中的重要部分,内容庞杂,应用广泛,归纳起来有:函数的导数,函数的积分,泰勒展式,-函数,欧拉函数等。下面先讲函数的导数。3.2.1 函数的导数数学中的导数类型大概有:导数元函数的导数阶导数:f'(x)一阶偏导数:(n)(n)/f(x)刃f(x).:f;f多元函数的导数4高阶偏导数,jx;y.n二f二Fnf混合偏导数:jxn?f.:x;:ynJ:x二xff笔=()=()等二x二y二y二x复合函数(参数函数)的导数:y=f(u),u=g(x),则曳=电.四dxdudx例如:隐函数的导数:F(x, y,z)二0

7、,求家,fy元函数的导数:y=e x sinx-7cosx+5x 2dydx二?七 , . 2dxx cosx r 2,y=-7x ,y =x 7?,ddxx=0 -二元函数的导数:z=arctanY,求豆,|x=2=x::x::yy=0复合函数的导数:隐函数的导数:z=ln(Vx+4y),证明:xfzfz1y二fx::yy=f(x)=a+bx+cx=?,求业=?x'tdt1.、df(x)=-,求ff(x)=?1-xdx-2yzzzarctg=ln(x+y+z),求一=?,=x::x::x::y-2:zcz:zF(x,x+y,x+y+z)=0,求H7T7T二x二y二x二y等。数学上虽然

8、有导数与偏导数之分,但它们在Matlab中有统一的命令diff。其常使用形式为:、df7开diff(f,v)计算一或dv二vdnf.nrfdiff(f,v,n)计算或_ndv-vdiff(f)用命令findsym找出表达式dff或dvvf中的独立变量,设为v,即v=findsym(F),计算df,、:fdiff(f,n)独立变重确te同上,设为v,计算n-或ndv;:vxcosx2dyd3y例3-3已知y=-7x,计算和一x-1dxdx解:>>x=sym('x')>>y=(sqrt(x)+cos(x)/(x-1)-7*xA2;>>Dy=dif

9、f(y)>>D3y=diff(y,3)运行结果为:Dy=(1/2/xA(1/2)-sin(x)/(x-1)-(xA(1/2)+cos(x)/(x-1)A2-14*xD3y=(3/8/xA(5/2)+sin(x)/(x-1)-3*(-1/4/xA(3/2)-cos(x)/(x-1)A2+6*(1/2/xA(1/2)-sin(x)/(x-1)A3-6*(xA(1/2)+cos(x)/(x-1)A4例3-4已知z=ln(Jx+Jy),证明:x+y=loexcy2解:>>x=sym('x');y=sym('y');z=log(sqrt(x)+sq

10、rt(y);result=x*diff(z,x)+y*diff(z,y);simple(result)计算的结果为:result=1/2例3-5已知y=ln(x3),x=t2sin(t),求,9ydtdt2解:在复合函数的计算中,一定要注意变量赋值的先后顺序>>symstx>>x=tA2*sin(t);>>y=log(xA3);>>dydt=diff(y,t)>>d2yd2t=diff(dydt,t)/diff(x,t)计算结果为:dydt=(6*tA5*sin(t)A3+3*tA6*sin(t)A2*cos(t)/tA6/sin(t

11、)A3d2yd2t=(30*tA4*sin(t)A3+36*tA5*sin(t)A2*cos(t)+6*tA6*sin(t)*cos(t)A2-3*tA6*sin(t)A3)/tA6/sin(t)A3-6*(6*tA5*sin(t)A3+3*tA6*sin(t)A2*cos(t)/tA7/sin(t)A3-3*(6*tA5*sin(t)A3+3*tA6*sin(t)A2*cos(t)/tA6/sin(t)A4*cos(t)/(2*t*sin(t)+tA2*cos(t)例3-6已知-2vzzz一arctg=ln(x+y+z),求丁=?,=?xtx;x.y解:设方程F(x,y,z)=0确定了函数z

12、=z(x,y),则它=-2,再用类似的计算方法,;:xFz二2z可以计算一。.:x_:y>>symsxyz>>F=atan(y+z)/x)-log(x+y+z)>>dFdx=diff(F,x)>>dFdz=diff(F,z)>>dZdx=-dFdx/dFdz>>dZdxdy=diff(dZdx,y)>>dZdxdz=diff(dZdx,z)>>d2Zdxdy=-dZdxdy/dZdxdz计算结果为:dFdx=-(y+z)/xA2/(1+(y+z)A2/xA2)-1/(x+y+z)dFdz=1/x/(

13、1+(y+z)A2/xA2)-1/(x+y+z)dZdx=(y+z)/xA2/(1+(y+z)A2/xA2)+1/(x+y+z)/(1/x/(1+(y+z)A2/xA2)-1/(x+y+z)dZdxdy=(1/xA2/(1+(y+z)A2/xA2)-2*(y+z)A2/xA4/(1+(y+z)A2/xA2)A2-1/(x+y+z)A2)/(1/x/(1+(y+z)A2/xA2)-1/(x+y+z)-(y+z)/xA2/(1+(y+z)A2/xA2)+1/(x+y+z)/(1/x/(1+(y+z)A2/xA2)-1/(x+y+z)A2*(-2/xA3/(1+(y+z)A2/xA2)A2*(y+z

14、)+1/(x+y+z)A2)dZdxdz=(1/xA2/(1+(y+z)A2/xA2)-2*(y+z)A2/xA4/(1+(y+z)A2/xA2)A2-1/(x+y+z)A2)/(1/x/(1+(y+z)A2/xA2)-1/(x+y+z)-(y+z)/xA2/(1+(y+z)A2/xA2)+1/(x+y+z)/(1/x/(1+(y+z)A2/xA2)-1/(x+y+z)A2*(-2/xA3/(1+(y+z)A2/xA2)A2*(y+z)+1/(x+y+z)A2)d2Zdxdy=(-(1/xA2/(1+(y+z)A2/xA2)-2*(y+z)A2/xA4/(1+(y+z)A2/xA2)A2-1/

15、(x+y+z)A2)/(1/x/(1+(y+z)A2/xA2)-1/(x+y+z)+(y+z)/xA2/(1+(y+z)A2/xA2)+1/(x+y+z)/(1/x/(1+(y+z)A2/xA2)-1/(x+y+z)A2*(-2/xA3/(1+(y+z)A2/xA2)A2*(y+z)+1/(x+y+z)A2)/(1/xA2/(1+(y+z)A2/xA2)-2*(y+z)A2/xA4/(1+(y+z)A2/xA2)A2-1/(x+y+z)A2)/(1/x/(1+(y+z)A2/xA2)-1/(x+y+z)-(y+z)/xA2/(1+(y+z)A2/xA2)+1/(x+y+z)/(1/x/(1+(

16、y+z)A2/xA2)-1/(x+y+z)A2*(-2/xA3/(1+(y+z)A2/xA2)A2*(y+z)+1/(x+y+z)A2)3.2.2一重积分3.2.2.1 不定积分不定积分是高等数学中的基本运算。数学中的许多不定积分的原函数不能用初等函数来表示,因此在Matlab中,有些函数的原函数是求不出来的。Matlab提供了几个用于求函数不定积分的命令,如:int,intwave,fnint(用于专门函数的积分)。其中函数int是最常用的,功能强大的积分函数。下面我们介绍函数int的使用格式:F=int(f)F=int(f,var)参数说明:> f:被积函数;> var:积分变

17、元;若没有指定,则对变量v=findsym(f)积分;> F:函数f的原函数。F中没有常数Co例3-7计算F1=jexy*dx,F2=fexy4zdz解:symsxyz> >f=exp(x*y+z);> >F1=intF1=1/y*exp(x*y+z)> >F2=int(f,z)F2=exp(x*y+z)3.2.2.2 定积分及广义积分数学中的定积分有时和不定积分使用的方法不同。我们这里所讲的广义积分其积分区间端点中至少有一个为无穷,而函数在该区间内是连续的。在Matlab中,只需在命令int中加入积分上下限即可。即F=int(f,a,b)F=int(

18、f,var,a,b)参数说明: f:被积函数; a,b:积分上下限;a,b可为无穷大国(若为负无穷大,则为:一8) F:函数的积分值。有时为无穷大。定积分的计算,也可调用函数quad()或quad8(),其格式为:y,n=quad(f',a,b,tol)y,n=quad8(f',a,b,tol)参数说明: f:自定义的被积函数; a,b:积分上下限; n:计算过程中调用被积函数f的次数;tol:精度要求,quad()的默认值为:tol=1e-3,quad8()的默认值为:tol=1e-6; quad()函数采用的是Simpson方法计算定积分的近似值; quad8()函数采用的

19、是NewtonCotes方法计算定积分的近似值,其精度比前者更高。例3-8计算F1 =1-2x 2x 3dxF2 =二 1二x2 2x 3dx解:f=1/(xA2+2*x+3);>>F1=int(f,2,pi)F1=1/2*atan(1/2*2A(1/2)*(pi+1)*2A(1/2)-1/2*atan(3/2*2A(1/2)*2A(1/2)>>F2=int(f,-inf,inf)F2=1/2*pi*2A(i/2)例3-9计算3.X2/2&edx解:先定义函数,文件名:f.mfunctiony=f(x)y=1/sqrt(2*pi)*exp(-x.A2/2);彳呆

20、存后,在命令窗口键入formatlong>>y,n=quad(,f,-3,3)则显示结果为:y=0.99729991863154n=57(表示被积函数f的调用次数)3.2.3多重积分3.2.3.1 二重积分一种方法:由于积分区域的多样性和复杂性,通过人为地结合积分区域的图形,把二重积分转化为二次积分,用int命令进行计算;另一种方法:利用Matlab提供的函数dblquad和quad2dggen计算,其调用格式如下:二重数值积分(在矩形区域上),使用dblquad函数,格式为:y=dblquad(f',x_m,x_M,y_m,y_M,tol)一般二重积分(在数值积分工具箱(

21、NIT,即NumericalIntegrationToolbox)中提供了quad2dggen函数,该函数可从网上下载,网址:fttp:/I=quad2dggen(被积函数名,下限函数名,上限函数名,y_m,y_M,tol)例3-10计算1一、I(2-x-y)dxdyd2其中D为直线y=x和抛物线y=x2所围部分。解:由数学方法可得:I1 _、,-(2 - x - y)dy 21b2(x)=二(2-x-y)dxdy=dx,.a1(x)D2%先对y积分(1)画出积分区域示意图>>symsxy> >f=(2-x-y)/2;> >y1=x;> >y2=

22、xA2;> >ezplot(y1);holdon> >ezplot(y2);>>axis(0,2,0,2)(2)确定积分限a=fzero('x-xA2',0)a=0>>b=fzero('x-xA2',1)b=1这是第2次积分的上下限。(3)积分运算f_dy=int(f,y,xA2,x)f_dy=x-5/4*xA2-1/2*x*(x-xA2)+1/4*xA4>>I=int(f_dy,a,b)%再对x积分11/120例3-11试求下面的二次积分12x2/22I=.”一sin(xy)dxdy解:先定义函数,函

23、数名为:my2dfun.mfunctionz=my2dfun(x,y)globalkk;kk=kk+1;%定义全局变量,测定被积函数调用次数z=exp(-x.A2/2).*sin(x.A2+y);保存后在命令窗口夜行下列命令:clear>>globalkk;kk=0;>>y=dblquad('my2dfun',-2,2,-1,1),kky=1.57449318974494kk=1038(表示被积函数调用次数)3.2.3.2三重积分三重积分的过程与二重积分过程相同,也是把三重积分转化成三次积分来计算,只不过在确定积分限时更繁琐而已。在确定积分限时一般要结合

24、三维的积分区域,所以一般先画出积分区域。例3-12计算I=xdxdydzV其中区域V为三个坐标面及平面:x+2y+z=1所围成的闭区域。解:由数学方法可得:b-2(x)2(x,y)1 =.xdxdydz=.adx.1(x)dy.1(x,y)XdzV(1)画出积分区域示意图。由于图形比较简单,所以我们没有画出。(并且Matlab没有画三维符号函数的命令)symsxyzf=x;(2)确定积分限。a=0;b=1;phi1=0;phi2=(1-x)/2;psi1=0;psi2=1-x-2*y;(3)积分计算。f_dz=int(f,z,psi1,psi2)f_dzdy=int(f_dz,y,phi1,p

25、hi2)I=int(f_dzdy,x,a,b)计算嘉果为:f_dz=x*(1-x-2*y)f_dzdy=-x*(1/2-1/2*x)A2+x*(1-x)*(1/2-1/2*x)I=1/483.2.4 Taylor展式数学定理表明:若f(x)在x=0点附近有直到n+1阶连续导数,那么:f(0)2.f(n)(0)nf(x)=f(0)f(0)x-xxRn(x)2!n!其中:Rn(X)=jx-,(0,X)(n 1)!实际上是要将函数f(x)表示成Xn(n从0到无穷)的和的形式。这完全可以用Matlab提供的命令taylor来完成展开工作。其常用的使用形式为: taylor(f) taylor(f,n)

26、 taylor(f,v) taylor(f,n,a)参数说明:f:待展开的函数表达式,可以不用单引号生成;n:把函数展开到n阶,若不包含n,则缺省地展开到6阶;v:对函数f中的变量v展开,若不包含v,则对变量v=findsym(f)展开;a:Taylor展式的扩充功能,对函数f在x=a点展开。例3-13计算(1)把y=ex展开到6阶;(2)把y=lnx在x=1点展开到6阶;(3)把y=sinx在x=兀/2点展开到6阶;(4)把丫=xt关于变量t展开到3阶。解:symsxty1=taylor(exp(-x)y2=taylor(log(x),6,1)y3=taylor(sin(x),pi/2,6)

27、y4=taylor(xAt,3,t)运行结果为:y1=1-x+1/2*xA2-1/6*xA3+1/24*xA4-1/120*xA5y2=x-1-1/2*(x-1)A2+1/3*(x-1)A3-1/4*(x-1)A4+1/5*(x-1)A5y3=1-1/2*(x-1/2*pi)A2+1/24*(x-1/2*pi)A4y4=1+log(x)*t+1/2*log(x)A2*tA23.2.5 Fourier级数数学定理表明:设函数f(x)已经展开为全区间上的一致收敛的三角级数:一、a。f(x)=(akcoskxbksinkx)2km1二一其中:a。=一f(x)dx冗-jl1ak=f(x)coskxdx

28、,k=1,2,1二,bk二一.f(x)sinkxdx,k=1,2,ji-兀虽然Matlab中还没有提供一个专门的命令用于求解Fourier级数,但根据上面的数学公式,也可以编写一个函数文件sfour.m,用于求函数f在区间-兀,叼上白FFourier级数的系数:functiona0,ak,bk=sfour(f)symsxna0=int(f,-pi,pi)/pian=int(f*cos(n*x),-pi,pi)/pi;an=simple(an)bn=int(f*sin(n*x),-pi,pi)/pi;Fourier级数的系数。bn=simple(bn)有了上面的函数,我们可以求得一些函数的例3-

29、14求函数y=x的Fourier级数的系数解:调用上面定义的函数sfour来计算:>>symsx>>f=x;>>a0,ak,bk=sfoura0=0an=0bn=2/nA2/pi*sin(pi*n)-2/n*cos(pi*n)注:在Matlab中,门简命令不能他sin(n*pi)和cos(n*pi)转化为(-1Fn。所以bn的结果3.2.6梯度设u=u(x,y,z)是一数量函数,点p(xp,yp,zp)是等高面u=u(x,y,z)=C上的任一点,则称向量p,p,史1p为函数u=u(x,y,z)在p点的梯度。cyzz.1 .近似梯度函数gradiento使用形

30、式:(1) FX,FY=gradient(F)(2) FX,FY=gradient(F,H)(3) FX,FY=gradient(F,HX,HY)(4) FX,FY,FZ=gradient(F)(5) FX,FY,FZ=gradient(F,HX,HY,HZ)(6) FX,FY,FZ,=gradient(F,)参数说明:(1) F:待求梯度的数值矩阵。F可以为向量、二维矩阵、三维矩阵;(2) FX,FY,FZ:矩阵F在x、y、z方向上的数值梯度;(3) H:H为一标量,作为各个方向上各点之间的步长;(4) HX,HY,HZ:矩阵F在x、y、z方向上的具体步长。HX,HY,HZ可为标量或与矩阵F

31、各个方向上同维的向量。22例3-15计算函数z=xe。'数值梯度,且以图形显示。解:%由两个向量生成的矩阵%等高线图%向量图x,y=meshgrid(-2:22,-2:.2:2);>>z=x.*exp(-x.A2-y.A2);>>px,py=gradient(z,0.2,0.2);> >contour(z)> >holdon> >quiver(px,py)运行结果为:20181614121006422468101214161020数值梯度图2.函数梯度和方向导数jacobian。使用形式:jacobian(f,v)参数说明:f

32、:函数向量或标量,当f为标量时,jacobian(f,v)=gradient(f);v:自变量向量或者单个变量。例3-16求:(1)u=xyz在点播M(1,1,1)处的梯度;(2)u=x2+2y2+3z2+xy+3x-2y-6z在点O(0,0,0)及A(1,2,3)处的梯度大小。symsxyz> >u1=x*y*z;> >u2=xA2+2*yA2+3*zA2+x*y+3*x-2*y-6*z;> >v=x,y,z;> >J1=jacobian(u1,v);> >J2=jacobian(u2,v);J1_M=subs(subs(subs(

33、J1,x,1),y,1),z,1)%subs(x,1)用1替换x,计算其值J1_M=111>>J2_O=subs(subs(subs(J2,x,0),y,0),z,0)J2_O=3-2-6>>J2_A=subs(subs(subs(J2,x,1),y,2),z,3)J2_A=77123.3最小二乘法在生产实践中,常常需要根据实际测量得到的一系列数据找出函数关系,通常叫做配曲线或找经验公式。本节我们介绍一种找直线的方法,它是广泛使用的一种处理数据的方法。例3-17在某实验中测得数据如下:X104180190177147134150191204121Y10020021018

34、5155135170205235125和y大概满足的函数关系。先把由此要推出x和y的函数关系:y=f(x)。解:先把这些数据点描绘出来,如图所示,观察和y进行适当的调整,使自变量x的值从小到大排列。>>x=104180190177147134150191204121;>>y=100200210185155135170205235125;>> x,i=sort(x) x =104121i =110>> y=y(i)y =10012513461351471501771805742155170185200190191204389210205235>

35、;> plot(x,y,'r*')>> hold on2402202001801601401201001001201401601B0200220这些数据点大致分布在一条直线上,即 过程得:x和y有线性函数关系:y = ax+b ,由数学推断nx xiyi -C xi )yi) i 1i 1 i 1a =nnn、x2xi)2i Wi 1nnnnyi)xi2) (C xi)(xxiyi)i m i Ti T i Tnnnx'L xi)2iWi 1i为元素在原向量中的位置。190191204389其中n为x和y的长度。用Matlab计算为:x=1041801

36、90177147134150191204121;>>y=100200210185155135170205235125;>>x,i=sort(x)%以升序排序,x=104121134147150177180i=11065742>>y=y(i)100125135155170185200210205235>>plot(x,y,'r*')> >holdon> >n=length(x);> >a_den=n*sum(x.*y)-sum(x)*sum(y);> >b_den=sum(y).*su

37、m(x.A2)-sum(x).*sum(x.*y);> >ab_num=n*sum(x.A2)-(sum(x)A2;> >a=a_den/ab_numa=1.2673> >b=b_den/ab_numb=-30.5143> >x=100:0.5:220;> >y=a*x+bpiot(x,y)运算结果为:最小二乘法结果3.4微积分的应用例3-18求通过点(1,1)的曲线方程,使其在区间1,x上对应的曲边梯形面积等于该曲线上点M(x,y)的两个坐标之积的两倍(x>0,y>0)。解:设曲线为y=y(x),按所给条件,可得x1y(

38、t)dt=2xy(x)对上式两边求导,得微分方程y=2(y-xy'),或y'=y/(2x),且y=1。对此,可用dsolve函数求解。symsxyy=dsolve('Dy+y/(2*x)=0','y(1)=1','x')计算结果为:y=1仅人(1/2)或symsty>>y=dsoke('Dy+y/(2*t)=0','y=1')计算结果为:y=1/tA(1/2)3.5方程(组)的求解数学计算中有很大一部分是求解方程(组),有些方程(组)可以得到精确的解析解,而有些却很难做到,只能求得满足一

39、定精度的数值解。对于线性方程组的解,我们在后面章节中讨论。这一节主要是讨论一般的代数方程(组)的解。在Matlab中解方程组的命令有linsolve和solve,其中命令linsolve专门用于求解线性方程组,而命令soke可适用于所有的代数方程(组)。其常用形式有:1. x=linsolve(A,B)ss=solve(s)ss=solve(s,v)参数说明: s:包含方程(一个)等式的字符串(可以是函数名,或者是描述方程的字符串); v:方程s中的一个变量; ss:若是第一种情形,对s中默认的变量求解,结果赋给ss;若是第二种情形,对s中指定的变量v求解,结果赋给ss x:x是矩阵方程Ax=

40、B的解x=sym(A)sym(B)=A-1*B。例3-19求解:(1) Ax=B,其中A=F5,B=f4-6;U3J<21J(2) psin(2x+t)=q,其中t为未知参数。解:A=25;13;B=4-6;21;>>x=linsolve(A,B)x=2,-230,8>>solve('p*sin(2*x+t)=q','t')ans=-2*x+asin(q/p)2.ss=solve(s1,s2,,sn)ss=solve(s1,s2,,sn,v1,v2,,vm)x1,x2,,xn=solve(s1,s2,,sn)x1,x2,,xn=so

41、lve(s1,s2,,sn,v1,v2,,vm)参数说明: s1,s2,,sn:包含方程组(n个)等式的字符串(可以是函数名或者是描述方程组的字符串表达式) x1,x2,,xn:若是第一种情形,对n个方程s1,s2,,sn中默认的变量求解;若是第二种情形,对n个方程s1,s2,,sn中指定的变量求解;结果分别赋给向量x1,x2,,xn中的分量; v1,v2,,vm:方程组s1,s2,,sn中的m个变量; ss:在第一种情形中,对n个方程s1,s2,,sn中默认的变量求解;若是第二种情形,对n个方程s1,s2,,sn中指定的变量求解;n与m不一定相等,即可能是超定方程组或是不定方程组,结果赋给出

42、ss,ss为一个解向量。例3-20求下列方程组的解222 cax + y = 0x y =122.c(1),十xy+y=3x2-4x3=0'xy2+z2=0y-z=1|2x5x6=0i解:x1,y1=solve('xA2+x*y+y=3','xA2-4*x+3=0')x2,y2=solve('a*xA2+yA2=0','x-y=1')x3,y3,z3=soke('x*yA2+zA2=0','y-z=1','xA2-5*x+6=0')x,y=solve('sin(x+y

43、)-exp(x)*y=0','xA2-y=2')计算结果为:x1=13y1=1-3/2x2=1/2/(a+1)*(-2*a+2*(-a)A(1/2)+11/2/(a+1)*(-2*a-2*(-a)A(1/2)+1y2=1/2/(a+1)*(-2*a+2*(-a)A(1/2)1/2/(a+1)*(-2*a-2*(-a)A(1/2)x3=2234y3=1/3+1/3*i*2A(1/2)1/3-1/3*i*2A(1/2)1/4+1/4*i*3A(1/2)1/4-1/4*i*3A(1/2)z3=-2/3+1/3*i*2A(1/2)-2/3-1/3*i*2A(1/2)-3/4+1/4*i*3A(1/2)-3/4-1/4*i*3A(1/2)x=-6.0173272500593065641097297117905y=34.208227234306296508646214438330xsin(x y) e y x2 - y = 2由于第四个方程组没有精确的解析解,所以给出的是数值形式的解。3.6函数极值在高等数学中,求函数的极值(最值)是函数导数的应用之一。不过高等数学中的求值过程比较麻烦,而在Matlab中却显得轻松自如。因为Matlab有两个功能强大的求值函数fminbnd、fm

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论