《MATLAB程序设计和教程课件.ppt》由会员分享,可在线阅读,更多相关《MATLAB程序设计和教程课件.ppt(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、4.4 符号方程求解符号方程求解4.4.1 符号代数方程求解符号代数方程求解在在MATLAB中,求解用符号表达式表示的代数方程中,求解用符号表达式表示的代数方程可由函数可由函数solve实现,其调用格式为:实现,其调用格式为:solve(s):求解符号表达式:求解符号表达式s的代数方程,求解变量的代数方程,求解变量为默认变量。为默认变量。solve(s,v):求解符号表达式:求解符号表达式s的代数方程,求解变量的代数方程,求解变量为为v。solve(s1,s2,sn,v1,v2,vn):求解符号表达式:求解符号表达式s1,s2,sn组成的代数方程组,求解变量分别组成的代数方程组,求解变量分别v
2、1,v2,vn。【例4-21】分别求解代数方程ax2+bx+c和cos(2x)+sin(x)=1。syms a b c xs=a*x2+b*x+c;solve(s)solve(cos(2*x)+sin(x)=1)ans = 1/2/a*(-b+(b2-4*a*c)(1/2) 1/2/a*(-b-(b2-4*a*c)(1/2) ans = pi 0 1/6*pi 5/6*pi050100150200250300350400-1-0.8-0.6-0.4-0.200.20.40.60.8105010015020025030035040000.20.40.60.811.21.41.61.8205010
3、0150200250300350400-1-0.500.511.52 【例4-22】求解代数方程组 syms x y z f=x2-y2+z-10; g=x+y-5*z; h=2*x-4*y+z; x,y,z=solve(f,g,h) S=solve(f,g,h); S.x,S.y,S.z4.4.2 符号常微分方程求解符号常微分方程求解在在MATLAB中,用大写字母中,用大写字母D表示导数。例如,表示导数。例如,Dy表示表示y,D2y表示表示y,Dy(0)=5表示表示y(0)=5。D3y+D2y+Dy-x+5=0表表示微分方程示微分方程y+y+y-x+5=0。符号常微分方程求解可以。符号常微分
4、方程求解可以通过函数通过函数dsolve来实现,其调用格式为:来实现,其调用格式为:dsolve(e,c,v)该函数求解常微分方程该函数求解常微分方程e在初值条件在初值条件c下的特解。参数下的特解。参数v描述描述方程中的自变量,省略时按缺省原则处理,若没有给出初方程中的自变量,省略时按缺省原则处理,若没有给出初值条件值条件c,则求方程的通解。,则求方程的通解。dsolve在求常微分方程组时的调用格式为:在求常微分方程组时的调用格式为:dsolve(e1,e2,en,c1,cn,v1,vn)该函数求解常微分方程组该函数求解常微分方程组e1,en在初值条件在初值条件c1,cn下的特下的特解,若不给
5、出初值条件,则求方程组的通解,解,若不给出初值条件,则求方程组的通解,v1,vn给给出求解变量。出求解变量。 【例4-23】求微分方程的dy/dt=ay 通解和当y(0)=b时的特解。 dsolve(Dy = a*y) dsolve(Dy = a*y, y(0) = b) %【例4-24】求微分方程时的特解。 dsolve(D2y = -a2*y) dsolve(D2y = -a2*y, y(0) = 1, Dy(pi/a) = 0) % 【例4-25】绘制函数表达式x2-y4的二维图形。 syms x y ezplot(x2-y4)xyx2-y4 = 0-6-4-20246-6-4-2024
6、6 % 【例4-26】绘制误差函数的二维图形。 syms x ezplot(erf(x) grid-2-1.5-1-0.500.511.52-1-0.500.51xerf(x) 【例4-27】在极坐标下绘制函数表达式1+cos(t)的二维图形。 syms t ezpolar(1+cos(t) 0.5 1 1.5 23021060240902701203001503301800r = 1+cos(t)-6-4-2024600.511.52t1+cos(t) %【例4-28】根据表达式x=sin(t)、y=cos(t)和z=t,绘制三维曲线。 syms t; ezplot3(sin(t), cos
7、(t), t,0,6*pi)-1-0.500.51-1-0.500.5105101520 xx = sin(t), y = cos(t), z = tyz 【例4-29】根据表达式 绘制f的等高线。 syms x y f =3*(1-x)2*exp(-(x2)-(y+1)2)-10*(x/5-x3-y5). *exp(-x2-y2)-1/3*exp(-(x+1)2- y2); ezcontour(f,-3,3,49)xy3 (1-x)2 exp(-x2-(y+1)2)-.-1/3 exp(-(x+1)2-y2)-3-2-10123-3-2-10123xy3 (1-x)2 exp(-x2-(y+
8、1)2)-.-1/3 exp(-(x+1)2-y2)-3-2-10123-3-2-10123 绘制f的的填充等高线 syms x y f =3*(1-x)2*exp(-(x2)-(y+1)2)-10*(x/5-x3-y5). *exp(-x2-y2)-1/3*exp(-(x+1)2- y2); ezcontourf(f,-3,3,49)xy3 (1-x)2 exp(-x2-(y+1)2)-.-1/3 exp(-(x+1)2-y2)-3-2-10123-3-2-10123% 【例4-31】根据表达式,绘制f的网格图。syms x yezmesh(x*exp(-x2-y2),-2.5,2.5,40
9、)colormap(0 0 1)【例4-32】根据表达式根据表达式,以圆盘为自变量域绘制f的网格图syms x yezmesh(x*exp(-x2-y2),-2.5,2.5,40,circ)-2-1012-2-1012-0.500.5xx exp(-x2-y2)y-4-2024-4-2024-0.500.5xx exp(-x2-y2)yz 【例4-33】根据表达式, 绘制f的带等高线网格图。 syms x y ezmeshc(y/(1 + x2 + y2),-5,5,-2*pi,2*pi)-505-505-0.500.5xy/(1+x2+y2)y 【例4-34】根据表达式 绘制表面图。 sym
10、s t s x=cos(s)*cos(t); y=cos(s)*sin(t); z=sin(s); ezsurf(x,y,z,0,pi/2,0,3*pi/2) view(17,40) shading interp-1-0.500.51-1-0.500.5100.51yx = cos(s) cos(t), y = cos(s) sin(t), z = sin(s)z-1-0.500.51-1-0.500.5100.20.40.60.811.2xx = cos(s) cos(t), y = cos(s) sin(t), z = sin(s)yz00.5100.5100.20.40.60.811.2
11、xx = cos(s) cos(t), y = cos(s) sin(t), z = sin(s)yz-1-0.500.51-1-0.500.5100.20.40.60.811.2xyz 【例4-35】根据表达式 绘制f的带等高线的表面图。 syms x y ezsurfc(y/(1 + x2 + y2),-5,5,-2*pi,2*pi,35) view(-65,26)-505-505-0.500.5xy/(1+x2+y2)y-505-6-4-20246-0.500.5xy/(1+x2+y2)-6-4-20246-10-50510Taylor Series ApproximationTN(x) =x-1/2 x3+1/24 x5-1/720 x7