《matlab基础与应用符号运算课件.ppt》由会员分享,可在线阅读,更多相关《matlab基础与应用符号运算课件.ppt(139页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第五章第五章 Matlab 创建符号变量创建符号变量 符号表达式的建立、化简和替换符号表达式的建立、化简和替换 符号微积分符号微积分 符号方程求解符号方程求解 符号数学的简易绘图函数符号数学的简易绘图函数 第一节第一节 创建符号变量创建符号变量一、一、sym函数定义符号变量函数定义符号变量sym(x)sym(x,real)sym(x,unreal)【例例5-1】使用函数使用函数sym定义符号变量。定义符号变量。a=sym(a)%定义符号变量定义符号变量a a=a sym(b,real)%定义符号变量定义符号变量b,实型符号变量实型符号变量 ans=b c=sym(byebye)c=byebye
2、 【例例5-2】使用函数使用函数sym将数值矩阵转换成符号矩阵。将数值矩阵转换成符号矩阵。A=3 1.1 2;2 4 1.5;3.1 2.2 5;B=sym(A)B=3,11/10,2 2,4,3/2 31/10,11/5,5 尽管矩阵中元素依然以数值的形式出现,但此时却是符号变量了。尽管矩阵中元素依然以数值的形式出现,但此时却是符号变量了。二、二、syms函数定义符号变量函数定义符号变量syms函数的调用格式为:函数的调用格式为:syms arg1 arg2 arg3 【例例5-3】使用函数使用函数syms定义多个符号变量。定义多个符号变量。syms x t n who Your varia
3、bles are:n t x 以上以上3个符号变量也可以通过个符号变量也可以通过sym函数来定义函数来定义 x=sym(x);t=sym(t);n=sym(n);who Your variables are:n t x变量的定义也可以通过变量的定义也可以通过workspace查看,见图查看,见图5-1:【例例5-4】使用使用syms函数定义符号矩阵。函数定义符号矩阵。syms a b c d;n=a b c d;b c d a;c d a b;d a b c n=a,b,c,d b,c,d,a c,d,a,b d,a,b,c m=size(n)%size函数用于查看符号矩阵的大小函数用于查看符
4、号矩阵的大小 m=4 4 第二节第二节 符号表达式的建立、化简和替换符号表达式的建立、化简和替换 【例例5-5】使用单引号建立符号表达式。使用单引号建立符号表达式。y=a*x2+b=0%定义符号代数方程定义符号代数方程 y=a*x2+b=0 y=D2y-c*Dy+d=0%定义符号微分方程定义符号微分方程 y=D2y-c*Dy+d=0【例例5-6】使用使用sym/syms函数建立符号表达式。函数建立符号表达式。f1=sym(x3+4*x2+x+3)f1=x3+4*x2+x+3 f2=sym(a*x2+b*x+c=0)f2=a*x2+b*x+c=0 f3=sym(a b;c d)f3=a,b c,
5、d syms x y;f4=sin(x)+cos(y)f4=sin(x)+cos(y)一、符号表达式的化简一、符号表达式的化简化简符号表达式的各种函数化简符号表达式的各种函数:expand:多项式展开多项式展开 factor:多项式因式分解多项式因式分解 collect:合并同类项:合并同类项 simplify和和simple:化简多项式:化简多项式 numden:分式多项式的通分:分式多项式的通分 horner:多项式嵌套多项式嵌套 1.1.多项式展开(多项式展开(expandexpand)【例例5-7】展开符号表达式展开符号表达式f1=(x+1)7和和f2=cos(x+y)。首先在命令窗口
6、创建符号变量。首先在命令窗口创建符号变量。syms x y;f1=(x+1)7;expand(f1)ans=x7+7*x6+21*x5+35*x4+35*x3+21*x2+7*x+1 f2=cos(x+y);f=expand(f1)f=cos(x)*cos(y)-sin(x)*sin(y)2.2.多项式因式分解(多项式因式分解(factor)【例例5-95-9】因式分解整数因式分解整数352、整数、整数123456789、符号、符号 表达式表达式 以及符号矩阵以及符号矩阵 。f1=factor(sym(352)f1=(2)5*(11)f2=factor(sym(1234567890123456
7、789)f2=(2)8*(3)*(11)*(1461)syms a b x y f3=factor(x5-y5)f3=(x-y)*(x4+x3*y+x2*y2+x*y3+y4)f4=factor(x-b)2 x2-b*x;a2-b2 a*x-a)f4=(x-b)2,x*(x-b)(a-b)*(a+b),a*(x-1)【例例5-11】试按照不同方式合并表达式试按照不同方式合并表达式 。syms a x y f=(x2-a*exp(y)*(a*x*y+exp(2*y)*x);R1=collect(f)R1=(a*y+exp(2*y)*x3-a*exp(y)*(a*y+exp(2*y)*x R2=c
8、ollect(f,y)R2=(x2-a*exp(y)*a*x*y+(x2-a*exp(y)*exp(2*y)*x R3=collect(f,a)R3=-exp(y)*x*y*a2+(x3*y-exp(y)*exp(2*y)*x)*a+x3*exp(2*y)4.多项式化简(多项式化简(simplify)【例例5-12】试对表达式试对表达式 和和 进行化简。进行化简。syms t x real R1=simplify(csc(t)2-cot(t)2)R1=1 R2=simplify(x5-1)/(x-1)R2=x4+x3+x2+x+1 5.分式通分分式通分(numden)【例例5-14】在在Mat
9、lab中对表达式中对表达式 进行通分。进行通分。syms x f=(x+1)/x2+(x-1)/(2*x+3);n,d=numden(f)n=x2+5*x+3+x3 d=x2*(2*x+3)【例例5-15】试确定符号矩阵试确定符号矩阵 的分子和分母。的分子和分母。syms a b x y A=1/x2 2/y;1/a2 3/b;n1,d1=numden(A)n1=1,2 1,3 d1=x2,y a2,b6.嵌套形式重写嵌套形式重写(horner)【例例5-16】在在Matlab中完成对表达式中完成对表达式 的嵌套形式重写。的嵌套形式重写。syms x f=x3+x2+5*x+3;r=horne
10、r(f)r=3+(5+(x+1)*x)*x pretty(r)3+(5+(x+1)x)x二、符号表达式替换二、符号表达式替换1.subexpr函数函数 Y,SIGMA=subexpr(X,SIGMA)Y,SIGMA=subexpr(X,SIGMA)2.subs函数函数 R=subs(s)R=subs(s,new)R=subs(s,old,new)【例例5-18】已知符号表达式已知符号表达式 ,试完成以下操作。,试完成以下操作。(1)将将x换成换成t;(2)接着将接着将b换成换成y;(3)当当t=2时时,计算(计算(2)的值;)的值;(4)当当y=3时时,计算(计算(3)的值。)的值。syms
11、a b c t x y f=(b2*x-4*a*c)(1/2)+(x+y)/(y+b);f1=subs(f,t)f1=(b2*t-4*a*c)(1/2)+(t+y)/(y+b)f2=subs(f1,b,y)f2=(y2*t-4*a*c)(1/2)+1/2*(t+y)/y f3=subs(f2,t,2)f3=(2*y2-4*a*c)(1/2)+1/2*(2+y)/y f4=subs(f3,y,3)f4=(18-4*a*c)(1/2)+5/6 【例例5-20】试证明表达式试证明表达式 。syms t x f=limit(1+x/t)t,t,inf)f=exp(x)【例例5-21】已知已知 ,试求在
12、点处的左右极,试求在点处的左右极 限。限。syms x fl=limit(x/abs(x),x,0,left)fl=-1 fr=limit(x/abs(x),x,0,right)fr=1绘制绘制【例例5-215-21】的图形代码:的图形代码:xl=-2:0.01:0;yl=xl/abs(xl);xr=0:0.01:2;yr=xr/abs(xr);plot(xl,yl,xr,yr)axis(-2 2-1.5 1.5)%设置坐标轴的刻度范围设置坐标轴的刻度范围图图5-2 例例5-21的的图图形形形形 由图由图5-2可见,可见,函数在函数在 x=0 处是间断的,在左侧处是间断的,在左侧值为值为-1,
13、右侧值为,右侧值为1,故极限不存在(程序中的绘图,故极限不存在(程序中的绘图函数参考后续章节)。函数参考后续章节)。【例例5-22】试对表达式试对表达式 求一阶偏导求一阶偏导 和二阶偏导。和二阶偏导。syms x y f=x3-5*x2*y+y2;dfdx=diff(f,x)dfdx=3*x2-10*x*y dfdy=diff(f,y)dfdy=-5*x2+2*y dfdxdy=diff(dfdx,y)dfdxdy=-10*x dfdydx=diff(dfdy,x)dfdydx=-10*x【例例5-23】试对表达式试对表达式 求一阶导数并化简。求一阶导数并化简。syms x n f=diff(
14、log(x+sqrt(x2+n2)f=(1+1/(x2+n2)(1/2)*x)/(x+(x2+n2)(1/2)f1=simple(f)f1=1/(x2+n2)(1/2)根据数学知识,我们可以得到表达式的一阶导数为:根据数学知识,我们可以得到表达式的一阶导数为:其结果与其结果与f1=1/(x2+n2)(1/2)是等价的,只是两种环境下是等价的,只是两种环境下的不同表示结果。的不同表示结果。D3=diff(diff(A,t)%以以t为自变量对为自变量对A求导后,再以求导后,再以x为自为自 变量再对变量再对A求导求导 D3=1,2*x*cos(t)exp(x*t)+x*t*exp(x*t),-1/(
15、x+t)2 D4=diff(A)D4=t,2*x*sin(t)t*exp(x*t),1/(x+t)D5=diff(A,x)D5=t,2*x*sin(t)t*exp(x*t),1/(x+t)三、符号积分三、符号积分int(S)求符号表达式求符号表达式S对于默认自变量的不定积分。对于默认自变量的不定积分。int(S,v)求符号表达式求符号表达式S对于自变量对于自变量v的不定积分。的不定积分。int(S,a,b)求符号表达式求符号表达式S对于默认自变量从对于默认自变量从a到到b 的定积分。的定积分。int(S,v,a,b)求符号表达式求符号表达式S对于自变量对于自变量v从从a到到b的定的定积分。积分
16、。【例例5-25】计算积分计算积分 。syms x y z f1=int(x/(1+x2),x);%求关于求关于x的不定积分的不定积分 f2=int(x*log(1-x),0,1);%求关于求关于x在在0,1区间内的定积分区间内的定积分 f3=int(int(x2+y2,y,x,1+x),x,0,1);%求表达式在变求表达式在变 量量y=x,1+x,x=0,1时的积分时的积分 f1 f1=(1/2)*log(x2+1)f2 f2=-3/4 f3 f3=3/2【例例5-26】求矩阵求矩阵 的积分结果。的积分结果。syms t A=t sin(t);exp(t)log(1+t);I=int(A)I
17、=1/2*t2,-cos(t)exp(t),log(1+t)*(1+t)-t-1 pretty(I)2 1/2 t -cos(t)exp(t)log(1+t)(1+t)-t 1 rsums调用格式如下:调用格式如下:rsums(S,a,b)S是积分表达式,是积分表达式,a和和b分别为积分分别为积分 的上下限。的上下限。【例例5-27】试运用命令试运用命令rsums求解函数求解函数 在积分区间在积分区间-2,2上的积分结果。上的积分结果。syms x f=(x+1)3+3*x2+2*x;rsums(f,-2,2)图图5-3 交互近似交互近似积积分界面分界面 将滑动键设置成将滑动键设置成90,查看
18、近似积分结果,如图,查看近似积分结果,如图5-4所示:所示:图图5-4 矩形个数矩形个数为为90时时的的积积分界面分界面调整积分矩形个数,将其设置成调整积分矩形个数,将其设置成128,查看近似积分数值,如图,查看近似积分数值,如图5-5所示。所示。图图5-5 矩形个数矩形个数为为128时时的的积积分界面分界面 在命令窗口中输入直接输入在命令窗口中输入直接输入“int(f,-2,2)”,计计算函数的准确积分数值,结果如下:算函数的准确积分数值,结果如下:int(f,-2,2)ans=36 可见,精确值为可见,精确值为36,与近似值,与近似值35.998047相差甚微,相差甚微,达到精度要求。达到
19、精度要求。四、符号求和四、符号求和symsum(S)计算符号表达式计算符号表达式S对于默认自变量的不定和。对于默认自变量的不定和。symsum(S,v)计算符号表达式计算符号表达式S对于自变量对于自变量v的不定和。的不定和。symsum(S,a,b)计算符号表达式计算符号表达式S对于默认自变量从对于默认自变量从 a到到b的有限和。的有限和。symsum(S,v,a,b)计算符号表达式计算符号表达式S对于自变量对于自变量v从从a到到 b的有限和。的有限和。【例例5-28】试分别计算表达式试分别计算表达式 的值。的值。syms x n symsum(n)%对默认自变量对默认自变量n的不定和的不定和
20、 ans=1/2*n2-1/2*n symsum(n2,0,10)%对默认自变量从对默认自变量从0到到10的有限和的有限和 ans=385 symsum(xn/sym(n!),n,0,inf)%对默认自变量从对默认自变量从0到到inf的有限和的有限和 ans=exp(x)symsum(xn/sym(n!),x,0,5)%对自变量对自变量x从从0到到5的有限和的有限和 ans=1/n!+2n/n!+3n/n!+4n/n!+5n/n!第四节第四节 符号方程求解符号方程求解一、代数方程求解一、代数方程求解g=solve(eq)g=solve(eq,var)g=solve(eq1,eq2,eqn,va
21、r1,var2,varn)【例例5-29】求线性代数方程求线性代数方程 的解。的解。syms x y z f1=x+y+z=10;f2=3*x+2*y+z=14;f3=2*x+3*y-z=1;x,y,z=solve(f1,f2,f3)x=1 y=2 z=7 syms x y z f1=x+y+z=10;f2=3*x+2*y+z=14;f3=2*x+3*y-z=1;x,y,z=solve(f1,f2,f3);g=x,y,zg=1,2,7【例例5-30】求解非线性方程组求解非线性方程组 的数值的数值 解。解。syms x y x,y=solve(x2-2*x*y+y2=3,x2-4*x+3=0);
22、solution=x,y solution=1,1+3(1/2)1,1-3(1/2)3,3+3(1/2)3,3-3(1/2)【例例5-31】求解含有参数的非线性方程组求解含有参数的非线性方程组 的解。的解。syms a b x y f1=a+b+x=y;f2=2*a*x-b*y=-1;f3=(a+b)2=x+y;f4=a*y+b*x=4;a,b,x,y=solve(f1,f2,f3,f4);a=double(a),b=double(b),x=double(x),y=double(y)%将解析解的符号常数形式转换为双精度形式将解析解的符号常数形式转换为双精度形式a=1.0000 23.6037
23、0.2537-0.4247i 0.2537+0.4247ib=1.0000 -23.4337 -1.0054-1.4075i -1.0054+1.4075ix=1.0000 -0.0705 -1.0203+2.2934i -1.0203-2.2934iy=3.0000 0.0994 -1.7719+0.4611i -1.7719-0.4611i【例例5-32】求解超越方程组求解超越方程组 的解。的解。syms x y S=solve(sin(x+y)-exp(x)=0,x2-y=2);S S=x:2x1 sym y:2x1 sym程序的结果中,并没有显示方程组的解,只是显示方程结程序的结果中,
24、并没有显示方程组的解,只是显示方程结果的属性和维数。在本例中,变量果的属性和维数。在本例中,变量x和和y都是符号变量,维数都是符号变量,维数都是都是2x1。若要查看各个变量的具体数值,则输入:。若要查看各个变量的具体数值,则输入:S.x ans=1.181535215 -2.181535215 S.y ans=-.9126982214 2.17277753648654069989二、微分方程求解二、微分方程求解 r=dsolve(eq1,eq2,cond1,cond2,v)求由求由eq1,eq2,指定的常微分方程的符号解,参数,指定的常微分方程的符号解,参数cond1,cond2,为指定常微分
25、方程的边界条件或初始条为指定常微分方程的边界条件或初始条件,自变量件,自变量v如果不指定,将为默认自变量。如果不指定,将为默认自变量。【例例5-33】求常微分方程求常微分方程 的通解。的通解。clear S1=dsolve(Dy=-a*x,x)S1=-1/2*a*x2+C1 其中其中C1表示所求出的解为通解。表示所求出的解为通解。【例例5-34】求解常微分方程求解常微分方程 的通解。的通解。syms x y S2=dsolve(D2y=cos(2*x)-y,y(0)=1,Dy(0)=0,x);S2 S2=4/3*cos(x)-1/3*cos(2*x)在上面的程序中,求解方程为在上面的程序中,求
26、解方程为y(x),而不是方程,而不是方程y(t),如果在命令,如果在命令中没有特别指明方程自变量中没有特别指明方程自变量x,得到的结果将是关于自变量,得到的结果将是关于自变量t的表达式,的表达式,如:如:syms x y S3=dsolve(D2y=cos(2*x)-y,y(0)=1,Dy(0)=0);S3 S3=cos(t)*(-cos(2*x)+1)+cos(2*x)【例例5-35】求常微分方程组求常微分方程组 的通解。的通解。clear syms x y y,x=dsolve(Dy=3*y+4*x,Dx=-4*y+3*x,x(0)=1,y(0)=0);disp(y=);disp(y)y=
27、exp(3*t)*cos(4*t)disp(x=);disp(x)x=exp(3*t)*sin(4*t)如果不使用符号微分方程组,而使用数值方程的方法来求解,相应的如果不使用符号微分方程组,而使用数值方程的方法来求解,相应的求解方法相比较而言则会相对复杂。求解方法相比较而言则会相对复杂。第五节第五节 符号数学的简易绘图函数符号数学的简易绘图函数一、二维绘图函数一、二维绘图函数ezplot的调用格式为:的调用格式为:ezplot(f)ezplot(f,xmin,xmax)ezpolar(f)【例例5-36】绘制表达式绘制表达式 的图形。的图形。syms x y y=3*exp(-x)*(sin(
28、x)-cos(x);ezplot(y)图图5-6 5-6 二二维简维简易易绘图绘图例例5-37】试绘制标准正态分布概率密度函数试绘制标准正态分布概率密度函数 的函数的函数曲线。曲线。clear syms x ezplot(exp(-(x2/2)/sqrt(2*pi),-4,4)grid%绘制网格命令绘制网格命令图图5-7 5-7 加网格的二加网格的二维简维简易易绘图绘图【例例5-38】在极坐标下,绘制函数表达式的二维图形。在极坐标下,绘制函数表达式的二维图形。syms t ezpolar(sin(t)-cos(t)-0.4)图图5-8 二二维维极坐极坐标绘图标绘图二、三维曲线绘图函数二、三维曲
29、线绘图函数ezplot3(x,y,z)ezplot3(x,y,z,tmin,tmax)【例例5-39】根据表达式根据表达式 ,绘制三维曲线。绘制三维曲线。syms t ezplot3(sin(t),cos(t),0.8*t,0,6*pi);图图5-9 5-9 三三维维曲曲线绘图线绘图%带有动画效果的三维曲线图带有动画效果的三维曲线图 ezplot3(sin(t),cos(t),0.8*t,0,6*pi,animate);图图5-10 5-10 带带有有动动画效果的三画效果的三维维曲曲线绘图线绘图三、等高线绘图函数三、等高线绘图函数ezcontour(f)ezcontour(f,domain)e
30、zcontour(,n)【例例5-40】绘制表达式绘制表达式 的等高线。的等高线。syms x y f=2*(1-x)2*exp(-x2-(y+1)2)-8*(-x3+x/4-y5)*exp(-x2-y2)-1/2*exp(-(1+x)2-y2);ezcontour(f,-4,4,40)图图5-11 等高等高线绘图线绘图【例例5-41】绘制表达式绘制表达式 的填充等高线。的填充等高线。syms x y f=2*(1-x)2*exp(-x2-(y+1)2)-8*(-x3+x/4-y5)*exp(-x2-y2)-1/2*exp(-(1+x)2-y2);ezcontourf(f,-4,4,40)图图
31、5-12 填充等高填充等高线绘图线绘图四、网格图绘图函数四、网格图绘图函数ezmesh(f)ezmesh(f,domain)ezmesh(x,y,z)ezmesh(x,y,z,smin,smax,tmin,tmax)ezmesh(,n)【例例5-42】试绘制试绘制 的三维网格图,的三维网格图,其中其中 syms x y z=x2+y2;ezmesh(z,-5,5,50)图图5-13 的三的三维维网格网格图图图形的当前颜色是可以改变的,在原程序的基础上增加以下语句:图形的当前颜色是可以改变的,在原程序的基础上增加以下语句:colormap(0 0 1)%设定图形的当前颜色设定图形的当前颜色 图图
32、5-14 5-14 设设定定颜颜色后的三色后的三维维网格网格图图【例例5-43】以圆盘域为自变量,绘制表达式以圆盘域为自变量,绘制表达式 的网格图。的网格图。clear syms x y ezmesh(x+y)*exp(-x2-y2),-3,3,20,circ)图图5-155-15 的的圆盘圆盘域网格域网格图图【例例5-44】绘制表达式绘制表达式 的带等高线网格图。的带等高线网格图。clear syms x y ezmeshc(x2/(1+x2+y2),-4,4,-2*pi,2*pi)图图5-16 5-16 带带等高等高线线的网格的网格图图五、表面图绘图函数五、表面图绘图函数 ezsurf(f
33、)ezsurf(f,domain)ezsurf(x,y,z)ezsurf(x,y,z,smin,smax,tmin,tmax)ezsurf(,n)【例例5-45】绘制表达式绘制表达式 的表面图。的表面图。syms 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(20,40)%设置视角设置视角 shading flat%设置颜色渲染属性设置颜色渲染属性图图5-17 表面表面图绘图图绘图【例例5-46】绘制表达式绘制表达式 的带等高线表面图。的带等高线表面图。syms x y ezsurf
34、c(x2/(1+x2+y2),-4,4,-2*pi,2*pi)shading interp图图5-18 带带等高等高线线的表面的表面图图第六章第六章 图形处理功能图形处理功能 第六章 图形处理功能 二维平面图形的绘制二维平面图形的绘制 三维平面图形的绘制标准数三维平面图形的绘制标准数组组 坐标轴的控制和图形标注坐标轴的控制和图形标注 句柄图形句柄图形第一节 二维平面图形的绘制 一、基本二维绘图一、基本二维绘图命令命令 二、线型、标记和二、线型、标记和颜色颜色 三、图形窗口分割三、图形窗口分割 四、特殊二维图形四、特殊二维图形 第六章第六章 图形处理功能图形处理功能第二章第二章 数组的运算基础数
35、组的运算基础一、基本二维绘图命令 【例例6-1】绘制单矢量曲线图。绘制单矢量曲线图。在命令窗口输入矢量并绘图在命令窗口输入矢量并绘图 y=0 0.6 2.3 5 8.2 11.6 15 1 7.8 19.6 20;plot(y)结果如图结果如图6-1所示:所示:第六章第六章 图形处理功能图形处理功能 图图6-1 单矢量曲线图单矢量曲线图第六章第六章 图形处理功能图形处理功能【例例6-2】绘制绘制y为复向量的单矢量曲线为复向量的单矢量曲线图。图。x=-1:.1:1;y=x.2;Y=x+y*i;plot(Y)结果结果如图如图6-2所示:所示:第六章第六章 图形处理功能图形处理功能 图图 6-2 复
36、向量单矢量曲线图复向量单矢量曲线图 第六章第六章 图形处理功能图形处理功能【例例6-3】绘制双矢量曲线图。绘制双矢量曲线图。x=linspace(0,2*pi,30);y=sin(x);plot(x,y)结果结果如图如图6-3所示:所示:第六章第六章 图形处理功能图形处理功能 图图6-3 x6-3 x和和y y均为矢量时的双矢量曲线图均为矢量时的双矢量曲线图第六章第六章 图形处理功能图形处理功能【例例6-4】绘制绘制x为矢量,为矢量,y为矩阵时为矩阵时的二维图形。的二维图形。x=0:0.04:8;%x为为1201的矩阵的矩阵 y=cos(x);sin(x);%y为为2201的矩阵的矩阵 plo
37、t(x,y)结果如图结果如图6-4所示。所示。第六章第六章 图形处理功能图形处理功能 图图6-4 x6-4 x为矢量为矢量,y,y为矩阵时的二维图形为矩阵时的二维图形第六章第六章 图形处理功能图形处理功能 【例例6-5】绘制绘制x为矩阵,为矩阵,y为矢量时的二维图形。为矢量时的二维图形。x1=0:.1:5;x2=1:.1:6;x3=2:.1:7;x=x1;x2;x3;%x为为351的矩阵的矩阵 y=sin(x3);%y为为151的矢量的矢量 plot(x,y)结果如图结果如图6-5所示。所示。第六章第六章 图形处理功能图形处理功能图图6-5 x为矩阵为矩阵,y为矢量时的二维图形为矢量时的二维图
38、形第六章第六章 图形处理功能图形处理功能【例例6-6】x和和y均为矩阵时的二维图形。均为矩阵时的二维图形。x1=0:0.1:5;x2=1:.1:6;x3=2:0.1:7;x=x1;x2;x3;%x为为351的矩阵的矩阵 y1=sin(x1);y2=0.6*sin(x2);y3=0.2*sin(x3);y=y1;y2;y3;%y为为351的矩阵的矩阵 plot(x,y);结果如图结果如图6-6所示。所示。第六章第六章 图形处理功能图形处理功能图图 6-6 x6-6 x和和y y均为矩阵时的二维图形均为矩阵时的二维图形第六章第六章 图形处理功能图形处理功能提示:使用提示:使用plot(x,y)绘图
39、时,绘图时,若若x和和y均是矢均是矢量或均是矩阵,量或均是矩阵,要求要求x和和y的均有相同的的均有相同的size;若;若x和和y中有一个是矢中有一个是矢 量,量,有一个是矩阵有一个是矩阵,要求矢量的的列要求矢量的的列数与矩阵的列数与矩阵的列 数数相等。相等。第六章第六章 图形处理功能图形处理功能二、线型、标记和颜色第六章第六章 图形处理功能图形处理功能颜颜 色色 标标 记记 线线 型型符号符号含义含义符号符号含义含义符号符号含义含义B B蓝色蓝色.点号点号-实线实线G G绿色绿色o o圆圈圆圈:点线点线R R红色红色叉号叉号-.-.点划线点划线C C青色青色+加号加号-虚线虚线M M品红色品红
40、色*星号星号_Y Y黄色黄色s s方形方形_K K黑色黑色d d菱形菱形_W W白色白色上三角上三角符符_ 下三角下三角符符_ 右三角右三角符符_p p五星符五星符_h h六星符六星符_表表6-2 6-2 绘图指令的颜色、标记和线型绘图指令的颜色、标记和线型 注意:如果用户没有声明是那一种线型时,注意:如果用户没有声明是那一种线型时,MatlabMatlab 的曲线线型默认为实线、蓝色。如果没有设的曲线线型默认为实线、蓝色。如果没有设 置标记,就不会画出标记。当用户选择了一置标记,就不会画出标记。当用户选择了一 种标记时,就会在每个数据点的位置画出所种标记时,就会在每个数据点的位置画出所 选择
41、的标记符号,但是不会用直线连接这些选择的标记符号,但是不会用直线连接这些 标记点。标记点。第六章第六章 图形处理功能图形处理功能【例例6-7】线型、标记和颜色设置实例。线型、标记和颜色设置实例。x=0:pi/20:2*pi;y=sin(x);y1=sin(x-0.25);y2=sin(x-0.5);y3=sin(x-0.75);plot(x,y)%使用默认曲线颜色和线型,没有标记使用默认曲线颜色和线型,没有标记 Hold on%保留上面的曲线保留上面的曲线y plot(x,y1,:k)%定义曲线颜色为黑色定义曲线颜色为黑色,线型为虚线,没有线型为虚线,没有 定义标记定义标记 Hold on%保
42、留上面的曲线保留上面的曲线y1 plot(x,y2,om)%定义曲线为品红色定义曲线为品红色,标记为空心圆标记为空心圆 Hold on%保留上面的曲线保留上面的曲线y2 plot(x,y3,-.gp)%定义曲线为绿色,线型为点划线定义曲线为绿色,线型为点划线,标记,标记 为五角星为五角星第六章第六章 图形处理功能图形处理功能图图6-7 线型、标记和颜色的设置线型、标记和颜色的设置第六章第六章 图形处理功能图形处理功能三、图形窗口分割第六章第六章 图形处理功能图形处理功能【例例6-8】图形窗口分割设置示例图形窗口分割设置示例1 x=linspace(0,2*pi,30);y=sin(x);z=c
43、os(x);a=sin(x).*cos(x);b=sin(x)./cos(x);subplot(2,2,1);plot(x,y)axis(0,2*pi,-1 1);title(sin(x)subplot(2,2,2);plot(x,z)axis(0,2*pi,-1,1);title(cos(x)subplot(2,2,3);plot(x,a)axis(0,2*pi,-1 1);title(sin(x)cos(x)subplot(2,2,4);plot(x,b)axis(0,2*pi,-20,20);title(sin(x)/cos(x)结果如图结果如图6-8所示。所示。第六章第六章 图形处理功
44、能图形处理功能 图图6-8 6-8 图形窗口分割设置示例图形窗口分割设置示例1 1第六章第六章 图形处理功能图形处理功能【例例6-9】图形窗口分割设置示例图形窗口分割设置示例2 subplot(position,0.1 0.1 0.35 0.8)yn=randn(10000,1);hist(yn,20)subplot(position,0.55 0.55 0.35 0.35)sphere subplot(position,0.55 0.1 0.35 0.35)membrane结果如图结果如图6-9所示。所示。第六章第六章 图形处理功能图形处理功能图图6-9 6-9 图形窗口分割设置示例图形窗口
45、分割设置示例2 2 第六章第六章 图形处理功能图形处理功能四、特殊二维图形 1、条形图的绘制、条形图的绘制 bar 绘制二维垂直条形图绘制二维垂直条形图 bar3 绘制三维垂直条形图绘制三维垂直条形图 barh 绘制二维水平条形图绘制二维水平条形图 bar3h 绘制三维水平条形图绘制三维水平条形图第六章第六章 图形处理功能图形处理功能【例例6-10】绘制二维条形图示例绘制二维条形图示例 x=-3:0.2:3;y=x.2;subplot(1,2,1)bar(x,y)%绘制二维垂直条形图绘制二维垂直条形图 subplot(1,2,2)barh(x,y)%绘制二维水平条形图绘制二维水平条形图 结果如
46、图结果如图6-10所示。所示。第六章第六章 图形处理功能图形处理功能图图6-10 二维条形图绘制示例二维条形图绘制示例第六章第六章 图形处理功能图形处理功能【例例6-11】绘制指定绘制指定x坐标的条形图坐标的条形图 x=1 3 4 6 10;Y=9 8 6;2 4 6;6 2 9;5 7 6;9 4 3;subplot(1,2,1)bar(x,Y)subplot(1,2,2)bar(x,Y,stack)结果如图结果如图6-10所示。所示。第六章第六章 图形处理功能图形处理功能图图6-11 指定指定x坐标坐标的二维条形图的二维条形图(a)bar(x,Y);(b)bar(x,Y,stack)第六章
47、第六章 图形处理功能图形处理功能【例例6-12】绘制三维条形图的示例绘制三维条形图的示例 y=9 6 7;2 5 9;6 2 4;5 7 8;9 4 2;subplot(1,3,1)bar3(y,group)title(bar3)subplot(1,3,2)bar3(y)title(bar3)subplot(1,3,3)bar3h(y)title(bar3h)第六章第六章 图形处理功能图形处理功能图图6-12 三维条形图绘制示例三维条形图绘制示例第六章第六章 图形处理功能图形处理功能 2.绘制阶梯图绘制阶梯图stairs(x)生成一个向量生成一个向量x中的数据点的阶梯图中的数据点的阶梯图sta
48、irs(x,y)将将y中的数据点绘制在中的数据点绘制在x值所声明的位置值所声明的位置stairs(,s)s是一字符串,用于指定绘图时的曲线是一字符串,用于指定绘图时的曲线 线型、线型、颜色和标记等颜色和标记等【例例6-13】绘制阶梯图示例绘制阶梯图示例 t=-3:.1:3;y=exp(-t).*(t.2);stairs(t,y)axis(-3 0 0 200)第六章第六章 图形处理功能图形处理功能 图图6-13 6-13 阶梯图绘制示例阶梯图绘制示例第六章第六章 图形处理功能图形处理功能3.绘制离散采样图绘制离散采样图stem(x)生成一个向量生成一个向量x中的数据点的杆状图中的数据点的杆状图
49、stem(x,y)将将y中的数据点绘制在中的数据点绘制在x值所声明的位置值所声明的位置stem(,fill)选择参数选择参数fill表示数据采样点端部被表示数据采样点端部被 填涂填涂为实心圆。为实心圆。【例例6-14】绘制离散采样图绘制离散采样图 x=0:0.2:2*pi;y=2*sin(x).*cos(x);stem(x,y,fill)第六章第六章 图形处理功能图形处理功能图图6-14 6-14 离散采样图绘制示例离散采样图绘制示例第六章第六章 图形处理功能图形处理功能 【例例6-15】绘制带有标记的余弦曲线绘制带有标记的余弦曲线,并指定并指定标记形标记形 状、状、标记边界的颜色和标记的大小
50、。标记边界的颜色和标记的大小。x=-2*pi:0.15:2*pi;y=sin(x);plot(x,y,markeredgecolor,k,markerfacecolor,y,markersize,6)第六章第六章 图形处理功能图形处理功能图图6-15 6-15 带有标记的正弦曲线带有标记的正弦曲线第六章第六章 图形处理功能图形处理功能4.绘制直方图绘制直方图hist(y)y可以是向量也可以是矩阵,可以是向量也可以是矩阵,当当y为向量时,将为向量时,将y中的元素均匀分成中的元素均匀分成10块,直方图的高度表示每一块,直方图的高度表示每一 部分元素的个数。当部分元素的个数。当y为矩阵时,每列为矩阵