matlab基础与应用符号运算课件_第1页
matlab基础与应用符号运算课件_第2页
matlab基础与应用符号运算课件_第3页
matlab基础与应用符号运算课件_第4页
matlab基础与应用符号运算课件_第5页
已阅读5页,还剩134页未读 继续免费阅读

下载本文档

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

文档简介

1、第五章 Matlab 符号运算 创建符号变量 符号表达式的建立、化简和替换 符号微积分 符号方程求解 符号数学的简易绘图函数 第1页,共139页。第一节 创建符号变量一、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页,共139页。【例5-2】 使用函数sym将数值矩阵转换成符号矩阵。 A=3 1.1 2;2 4 1.5;3.1 2.2 5

2、; B=sym(A) B = 3, 11/10, 2 2, 4, 3/2 31/10, 11/5, 5 尽管矩阵中元素依然以数值的形式出现,但此时却是符号变量了。二、syms函数定义符号变量syms函数的调用格式为:syms arg1 arg2 arg3 第3页,共139页。【例5-3】 使用函数syms定义多个符号变量。 syms x t n who Your variables are: n t x 以上3个符号变量也可以通过sym函数来定义 x=sym(x); t=sym(t); n=sym(n); who Your variables are: n t x变量的定义也可以通过works

3、pace查看,见图5-1:第4页,共139页。图5-1 从workspace窗口查看变量第5页,共139页。【例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函数用于查看符号矩阵的大小 m = 4 4 第6页,共139页。 第二节 符号表达式的建立、化简和替换 【例5-5】 使用单引号建立符号表达式。 y=a*x2+b=0 % 定义符号代数方程 y = a*x2+b=0 y=D

4、2y-c*Dy+d=0 % 定义符号微分方程 y = D2y-c*Dy+d=0第7页,共139页。【例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, d syms x y; f4=sin(x)+cos(y) f4 = sin(x)+cos(y)第8页,共139页。 在书写符号表达式时,需要注意以下几点:数学符号 的书写形式为pi;虚数单位用i或j表示;无穷大用INF或inf表示;符号

5、相乘必须用*连接;指数运算以e为底的书写形式为exp( ),在Matlab中,求以e为底的自然对数,书写形式为 log( ) ;表达式需写在同一行;与数学表达式不同,Matlab的表达式中只能用小括号。多重小括号嵌套使用,要避免出错。第9页,共139页。一、符号表达式的化简化简符号表达式的各种函数: expand: 多项式展开 factor: 多项式因式分解 collect:合并同类项 simplify和simple:化简多项式 numden:分式多项式的通分 horner: 多项式嵌套 第10页,共139页。 1. 多项式展开(expand)【例5-7】 展开符号表达式f1 =(x+1)7和

6、f2=cos(x+y)。 首先在命令窗口创建符号变量。 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)第11页,共139页。【例5-8】 展开符号表达式 、 和符号矩 阵 。 syms x y t b; f1=expand(x+3)*(x+t)*(y-1) f1 = x2*y-x2+x*t*y-x*t+3*x*y-3*x+3*t*y-3*t f=(x-2)2*(x+1)-x2;

7、 f2=expand(f) f2 = x3-4*x2+4 A=(x-b)2 (x+b)2;sin(x+y) cos(2*x); expand(A) ans = x2-2*b*x+b2, x2+2*b*x+b2 sin(x)*cos(y)+cos(x)*sin(y), 2*cos(x)2-1第12页,共139页。 2. 多项式因式分解(factor)【例5-9】 因式分解整数352、整数12345678901234567890、符号 表达式 以及符号矩阵 。 f1=factor(sym(352) f1 = (2)5*(11) f2=factor(sym(1234567890123456789)

8、f2 = (2)8*(3)*(11)*(146137297599841) 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) 第13页,共139页。 3. 合并同类项(collect)【例5-10】 对符号表达式 进行同类项合并。 clear % 清除内存变量 syms x y f1=(x-exp(x)*(x+y); R1=collect(f1) R1 = x2+

9、(-exp(x)+y)*x-exp(x)*y R2=collect(f1,y) R2 = (x-exp(x)*y+(x-exp(x)*x第14页,共139页。【例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=collect(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

10、)*x*y*a2+(x3*y- exp(y)*exp(2*y)*x)*a+x3*exp(2*y)第15页,共139页。 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第16页,共139页。表5-1 simple化简示例符号表达式(s)化简结果(r)使用方法(how)cos(x)2+sin(x)21combine(trig)2*cos(x)2-sin(x)23*cos(x)2-1si

11、mplifycos(x)2-sin(x)2cos(2*x)combinecos(x)+(-sin(x)2)(1/2)cos(x)+i*sin(x)radsimpcos(x)+i*sin(x)exp(i*x)convert(exp)(x+1)*x*(x-1)x3-xcollect(x)cos(3*acos(x)4*x3-3*xexpandx3+3*x2+3*x+1(x+1)3factor第17页,共139页。 5. 分式通分(numden) 【例5-14】 在Matlab中对表达式 进行通分。 syms x f=(x+1)/x2+(x-1)/(2*x+3); n,d=numden(f) n =

12、x2+5*x+3+x3 d = x2*(2*x+3) 第18页,共139页。【例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)第19页,共139页。【例5-16】 在Matlab中完成对表达式 的嵌套形式重写。 syms x f=x3+x2+5*x+3; r=horner(f) r = 3+(5+(x+1)*x)*x pretty(r) 3 + (5 + (x + 1) x) x第20页,共139页。二

13、、符号表达式替换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)第21页,共139页。【例5-18】 已知符号表达式 ,试完成以下操作。 (1)将x换成t; (2)接着将b换成y; (3)当t=2时,计算(2)的值; (4)当y=3时,计算(3)的值。 syms 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

14、)+(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第22页,共139页。第三节 符号微积分 一、符号极限 limit(F, x, a) 符号表达式F在xa条件下的极限。 limit(F, a) 符号表达式F在默认自变量趋向于a条件下的极限。 limit(F) 符号表达式F在默认自变量趋向于0时的极限。 limit(F, x, a, ri

15、ght) 符号表达式F在xa条件下的右极限。 limit(F,x, a, lift) 符号表达式F在xa条件下的左极限。【例5-19】 求解表达式 的极限数值。 syms x F=limit(tan(x)-sin(x)/x2) F = 0 第23页,共139页。 【例5-20】 试证明表达式 。 syms t x f=limit(1+x/t)t,t,inf) f = exp(x)【例5-21】 已知 ,试求在点处的左右极 限。 syms x fl=limit(x/abs(x),x,0,left) fl = -1 fr=limit(x/abs(x),x,0,right) fr = 1第24页,共

16、139页。绘制【例5-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) % 设置坐标轴的刻度范围第25页,共139页。图5-2 例5-21的图形形 由图5-2可见,函数在 x=0 处是间断的,在左侧值为-1,右侧值为1,故极限不存在(程序中的绘图函数参考后续章节)。第26页,共139页。 二、符号微分 diff(S) 求对于默认自变量的符号表达式S的微分; diff(S, v) 求对于自变量v的符号表达式S的微分; diff(S, n) 求对于

17、默认自变量的符号表达式S的n次 微分; diff(S,v,n) 求对于自变量v的符号表达式S的n次 微分。第27页,共139页。【例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第28页,共139页。【例5-23】 试对表达式 求一阶导数并化简。 syms x n f=dif

18、f(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)是等价的,只是两种环境下的不同表示结果。第29页,共139页。【例5-24】 求矩阵 的微分 。 syms x t A=x*t x2*sin(t);exp(x*t) log(x+t); D1=diff(A,t) D1 = x, x2*cos(t) x*exp(x*t), 1/(x+t) D2=diff(A,2) D2 =

19、 0, 2*sin(t) t2*exp(x*t), -1/(x+t)2第30页,共139页。 D3=diff(diff(A,t) % 以t为自变量对A求导后,再以x为自 变量再对A求导 D3 = 1, 2*x*cos(t) exp(x*t)+x*t*exp(x*t), -1/(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)第31页,共139页。三、符号积分int(S) 求符号表达式S对于默认自变量的不定积分。int (S, v)

20、 求符号表达式S对于自变量v的不定积分。int (S, a, b) 求符号表达式S对于默认自变量从a到b 的定积分。int(S,v,a,b)求符号表达式S对于自变量v从a到b的定积分。 第32页,共139页。【例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

21、/4 f3 f3 = 3/2 第33页,共139页。【例5-26】 求矩阵 的积分结果。 syms t A=t sin(t);exp(t) log(1+t); I=int(A)I = 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 第34页,共139页。rsums调用格式如下:rsums(S,a,b) S是积分表达式,a和b分别为积分 的上下限。【例5-27】 试运用命令rsums求解函数 在积分区间-2,2上的积分结果。 syms x f=

22、(x+1)3+3*x2+2*x; rsums(f,-2,2)第35页,共139页。图5-3 交互近似积分界面第36页,共139页。 将滑动键设置成90,查看近似积分结果,如图5-4所示:图5-4 矩形个数为90时的积分界面第37页,共139页。调整积分矩形个数,将其设置成128,查看近似积分数值,如图5-5所示。图5-5 矩形个数为128时的积分界面第38页,共139页。 在命令窗口中输入直接输入“int(f,-2,2)”,计算函数的准确积分数值,结果如下: int(f,-2,2) ans = 36 可见,精确值为36,与近似值35.998047相差甚微,达到精度要求。第39页,共139页。四

23、、符号求和symsum(S) 计算符号表达式S对于默认自变量的不定和。symsum(S, v) 计算符号表达式S对于自变量v的不定和。symsum(S, a, b) 计算符号表达式S对于默认自变量从 a到b的有限和。symsum(S,v,a,b) 计算符号表达式S对于自变量v从a到 b的有限和。第40页,共139页。【例5-28】 试分别计算表达式 的值。 syms x n symsum(n) % 对默认自变量n的不定和 ans = 1/2*n2-1/2*n symsum(n2,0,10) % 对默认自变量从0到10的有限和 ans = 385 symsum(xn/sym(n!),n,0,in

24、f) % 对默认自变量从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!第41页,共139页。第四节 符号方程求解一、代数方程求解g=solve(eq)g=solve(eq, var)g=solve(eq1, eq2, , eqn, var1, var2, ,varn) 第42页,共139页。【例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,

25、y,z=solve(f1,f2,f3) x = 1 y = 2 z = 7第43页,共139页。 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第44页,共139页。【例5-30】 求解非线性方程组 的数值 解。 syms x y x,y=solve(x2-2*x*y+y2=3,x2-4*x+3=0); solution=x,y solution = 1, 1+3(1/2) 1, 1-3(1/2) 3, 3+3(1/2) 3, 3-3(1/2)第

26、45页,共139页。【例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) % 将解析解的符号常数形式转换为双精度形式第46页,共139页。a = 1.0000 23.6037 0.2537 - 0.4247i 0.2537 + 0.4247ib = 1.0000 -23.4337 -1.0054 - 1.40

27、75i -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第47页,共139页。【例5-32】 求解超越方程组 的解。 syms x y S=solve(sin(x+y)-exp(x)=0,x2-y=2); S S = x: 2x1 sym y: 2x1 sym程序的结果中,并没有显示方程组的解,只是显示方程结果的属性和维数。在本例中,变量x和y都是符号变量,维数都是2x1。若要查看各个变量的具体数

28、值,则输入: S.x ans = 1.0427376369218101928864474535215 -2.0427376369218101928864474535215 S.y ans = -.91269822054671914040802950004414 2.1727770532969012453648654069989第48页,共139页。二、微分方程求解 r=dsolve(eq1, eq2, , cond1, cond2, , v) 求由eq1,eq2,指定的常微分方程的符号解,参数cond1,cond2,为指定常微分方程的边界条件或初始条件,自变量v如果不指定,将为默认自变量。第4

29、9页,共139页。【例5-33】 求常微分方程 的通解。 clear S1=dsolve(Dy=-a*x,x) S1 = -1/2*a*x2+C1 其中C1表示所求出的解为通解。第50页,共139页。【例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)在上面的程序中,求解方程为y(x),而不是方程y(t),如果在命令中没有特别指明方程自变量x,得到的结果将是关于自变量t的表达式,如: syms x y S3=dsolve(D2y=cos(

30、2*x)-y,y(0)=1,Dy(0)=0); S3 S3 = cos(t)*(-cos(2*x)+1)+cos(2*x)第51页,共139页。【例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= exp(3*t)*cos(4*t) disp(x=);disp(x) x= exp(3*t)*sin(4*t) 如果不使用符号微分方程组,而使用数值方程的方法来求解,相应的求解方法相比较而言则会相对复杂。第52页,共139页。第五节 符号数学的

31、简易绘图函数一、二维绘图函数ezplot的调用格式为:ezplot(f) ezplot(f, xmin, xmax) ezpolar(f)第53页,共139页。【例5-36】 绘制表达式 的图形。 syms x y y=3*exp(-x)*(sin(x)-cos(x); ezplot(y)图5-6 二维简易绘图第54页,共139页。例5-37】 试绘制标准正态分布概率密度函数 的函数曲线。 clear syms x ezplot(exp(-(x2/2)/sqrt(2*pi),-4,4) grid % 绘制网格命令图5-7 加网格的二维简易绘图第55页,共139页。【例5-38】 在极坐标下,绘

32、制函数表达式的二维图形。 syms t ezpolar(sin(t)-cos(t)-0.4)图5-8 二维极坐标绘图第56页,共139页。二、三维曲线绘图函数ezplot3(x, y, z)ezplot3(x, y, z, tmin, tmax)第57页,共139页。【例5-39】 根据表达式 , 绘制三维曲线。 syms t ezplot3(sin(t),cos(t),0.8*t,0,6*pi); 图5-9 三维曲线绘图第58页,共139页。% 带有动画效果的三维曲线图 ezplot3(sin(t),cos(t),0.8*t,0,6*pi,animate); 图5-10 带有动画效果的三维曲

33、线绘图第59页,共139页。三、等高线绘图函数ezcontour(f)ezcontour(f, domain) ezcontour(, n)第60页,共139页。【例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 等高线绘图第61页,共139页。【例5-41】 绘制表达式 的填充等高线。 syms x y f=2*(1-x)2*exp(-x2-(y+1)2)-8*(-x3+x/4- y

34、5)*exp(-x2-y2)-1/2*exp(-(1+x)2-y2); ezcontourf(f,-4,4,40)第62页,共139页。图5-12 填充等高线绘图第63页,共139页。四、网格图绘图函数ezmesh(f)ezmesh(f, domain) ezmesh(x, y, z) ezmesh(x, y, z, smin, smax, tmin, tmax)ezmesh(, n)第64页,共139页。【例5-42】 试绘制 的三维网格图, 其中 syms x y z=x2+y2; ezmesh(z,-5,5,50)图5-13 的三维网格图第65页,共139页。图形的当前颜色是可以改变的,

35、在原程序的基础上增加以下语句: colormap(0 0 1) % 设定图形的当前颜色 图5-14 设定颜色后的三维网格图第66页,共139页。【例5-43】 以圆盘域为自变量,绘制表达式 的网格图。 clear syms x y ezmesh(x+y)*exp(-x2-y2),-3,3,20,circ)图5-15 的圆盘域网格图第67页,共139页。 【例5-44】 绘制表达式 的带等高线网格图。 clear syms x y ezmeshc(x2/(1+x2+y2),-4,4,-2*pi,2*pi)图5-16 带等高线的网格图第68页,共139页。五、表面图绘图函数 ezsurf(f)ez

36、surf(f, domain)ezsurf(x, y, z)ezsurf(x, y, z, smin, smax, tmin, tmax) ezsurf(, n)第69页,共139页。 【例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 表面图绘图第70页,共139页。【例5-46】 绘制表达式 的带等高线表面图。 syms x y ezsurfc(x

37、2/(1+x2+y2),-4,4,-2*pi,2*pi) shading interp图5-18 带等高线的表面图第71页,共139页。第六章 图形处理功能 第六章 图形处理功能 二维平面图形的绘制 三维平面图形的绘制标准数组 坐标轴的控制和图形标注 句柄图形第72页,共139页。第一节 二维平面图形的绘制 一、基本二维绘图命令 二、线型、标记和颜色 三、图形窗口分割 四、特殊二维图形 第六章 图形处理功能第73页,共139页。第二章 数组的运算基础一、基本二维绘图命令 【例6-1】 绘制单矢量曲线图。 在命令窗口输入矢量并绘图 y=0 0.6 2.3 5 8.2 11.6 15 1 7.8

38、19.6 20; plot(y) 结果如图6-1所示: 第六章 图形处理功能第74页,共139页。 图6-1 单矢量曲线图第六章 图形处理功能第75页,共139页。【例6-2】 绘制y为复向量的单矢量曲线图。 x=-1:.1:1; y=x.2; Y=x+y*i; plot(Y) 结果如图6-2所示: 第六章 图形处理功能第76页,共139页。 图 6-2 复向量单矢量曲线图 第六章 图形处理功能第77页,共139页。【例6-3】 绘制双矢量曲线图。 x=linspace(0,2*pi,30); y=sin(x); plot(x,y) 结果如图6-3所示: 第六章 图形处理功能第78页,共139

39、页。 图6-3 x和y均为矢量时的双矢量曲线图第六章 图形处理功能第79页,共139页。【例6-4】 绘制x为矢量,y为矩阵时的二维图形。 x=0:0.04:8; % x为1201的矩阵 y=cos(x);sin(x); % y为2201的矩阵 plot(x,y) 结果如图6-4所示。第六章 图形处理功能第80页,共139页。 图6-4 x为矢量,y为矩阵时的二维图形第六章 图形处理功能第81页,共139页。 【例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); %

40、y为151的矢量 plot(x,y)结果如图6-5所示。第六章 图形处理功能第82页,共139页。图6-5 x为矩阵,y为矢量时的二维图形第六章 图形处理功能第83页,共139页。【例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所示。第六章 图形处理功能第84页,共139页。图 6-6 x和y均为矩阵时的二维图形第六章 图形处

41、理功能第85页,共139页。提示:使用plot(x,y)绘图时,若x和y均是矢量或均是矩阵, 要求x和y的均有相同的size;若x和y中有一个是矢 量,有一个是矩阵,要求矢量的的列数与矩阵的列 数相等。 第六章 图形处理功能第86页,共139页。二、线型、标记和颜色第六章 图形处理功能颜 色 标 记 线 型符号含义符号含义符号含义B蓝色.点号-实线G绿色o圆圈:点线R红色叉号-.点划线C青色+加号-虚线M品红色*星号_Y黄色s方形_K黑色d菱形_W白色上三角符_下三角符_右三角符_p五星符_h六星符_表6-2 绘图指令的颜色、标记和线型第87页,共139页。 注意:如果用户没有声明是那一种线型

42、时,Matlab 的曲线线型默认为实线、蓝色。如果没有设 置标记,就不会画出标记。当用户选择了一 种标记时,就会在每个数据点的位置画出所 选择的标记符号,但是不会用直线连接这些 标记点。第六章 图形处理功能第88页,共139页。【例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

43、 on % 保留上面的曲线y1 plot(x,y2,om) % 定义曲线为品红色,标记为空心圆 Hold on % 保留上面的曲线y2 plot(x,y3,-.gp) % 定义曲线为绿色,线型为点划线 ,标记 为五角星第六章 图形处理功能第89页,共139页。图6-7 线型、标记和颜色的设置第六章 图形处理功能第90页,共139页。三、图形窗口分割第六章 图形处理功能【例6-8】 图形窗口分割设置示例1 x=linspace(0,2*pi,30); y=sin(x);z=cos(x); a=sin(x).*cos(x); b=sin(x)./cos(x); subplot(2,2,1); pl

44、ot(x,y) axis(0,2*pi,-1 1); title(sin(x) subplot(2,2,2); plot(x,z)第91页,共139页。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所示。第六章 图形处理功能第92页,共139页。 图6-8 图形窗口分割设置示例1第六章 图形处理功能第93页,共139页。【例

45、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所示。第六章 图形处理功能第94页,共139页。图6-9 图形窗口分割设置示例2 第六章 图形处理功能第95页,共139页。四、特殊二维图形 1、条形图的绘制 bar 绘制二维垂直条形图 bar3 绘制三维垂直条形图 barh 绘制二维水平

46、条形图 bar3h 绘制三维水平条形图第六章 图形处理功能第96页,共139页。【例6-10】 绘制二维条形图示例 x=-3:0.2:3; y=x.2; subplot(1,2,1) bar(x,y) % 绘制二维垂直条形图 subplot(1,2,2) barh(x,y) % 绘制二维水平条形图 结果如图6-10所示。第六章 图形处理功能第97页,共139页。图6-10 二维条形图绘制示例第六章 图形处理功能第98页,共139页。【例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)

47、bar(x,Y) subplot(1,2,2) bar(x,Y,stack) 结果如图6-10所示。第六章 图形处理功能第99页,共139页。图6-11 指定x坐标的二维条形图(a)bar(x,Y);(b)bar(x,Y,stack)第六章 图形处理功能第100页,共139页。 【例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(ba

48、r3h)第六章 图形处理功能第101页,共139页。图6-12 三维条形图绘制示例第六章 图形处理功能第102页,共139页。 2. 绘制阶梯图stairs(x) 生成一个向量x中的数据点的阶梯图stairs(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)第六章 图形处理功能第103页,共139页。 图6-13 阶梯图绘制示例第六章 图形处理功能第104页,共139页。绘制

49、离散采样图stem(x) 生成一个向量x中的数据点的杆状图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)第六章 图形处理功能第105页,共139页。图6-14 离散采样图绘制示例第六章 图形处理功能第106页,共139页。 【例6-15】 绘制带有标记的余弦曲线,并指定标记形 状、 标记边界的颜色和标记的大小。 x=-2*pi:0.15:2*pi; y=sin(x); plot(x

50、,y,markeredgecolor,k, markerfacecolor, y,markersize,6)第六章 图形处理功能第107页,共139页。图6-15 带有标记的正弦曲线第六章 图形处理功能第108页,共139页。4. 绘制直方图hist(y) y可以是向量也可以是矩阵,当y为向量时,将y中的元素均匀分成10块,直方图的高度表示每一 部分元素的个数。当y为矩阵时,每列数据产生一个 直方图。hist(y ,k) 根据k值确定横坐标的等分份数 ,绘制直方图。第六章 图形处理功能第109页,共139页。【例6-16】 绘制直方图 y=randn(1000,1); % 生成一个随机矩阵 s

51、ubplot(1,2,1) hist(y) subplot(1,2,2) hist(y,20)第六章 图形处理功能第110页,共139页。图6-16 直方图绘制示例第六章 图形处理功能第111页,共139页。 5. 绘制极坐标曲线polar(theta,rho) theta()是极角, rho()是极径, 此命令用来绘制极坐标曲线=f()。polar(theta,rho,s) 字符串s可以指定极坐标曲线的线型、颜色、标记的;【例6-17】 极坐标曲线绘制示例 t=0:0.1:8*pi; r=2*cos(t/2); polar(t,r)title(双心脏线)第六章 图形处理功能第112页,共13

52、9页。图6-17 极坐标曲线绘图示例第六章 图形处理功能第113页,共139页。 6 . 绘制复向量曲线【例6-18】 复向量绘图示例1 x=10+3i,2+6i,-5+10i,-5-5i,8; feather(x)第六章 图形处理功能图6-18 复向量绘图示例1第114页,共139页。【例6-19】 复向量绘图示例2 z=eig(randn(20); x=10+3i,2+6i,-5+10i,-5-5i,8; y=3,6,10,5,0; subplot(1,2,1) compass(z) subplot(1,2,2) feather(x,y,r);第六章 图形处理功能第115页,共139页。图

53、6-19 复向量绘图示例2第六章 图形处理功能第116页,共139页。7. 绘制饼图pie(x) x中的每一个数据对应饼图中的一个扇区。pie(a,b) 从一个饼图中分离出一个或多个饼片,b是与a同尺寸的矩阵,b中非零元素把与a对应位置的饼分离出来。h=pie() h 是返回图形的句柄,可以通过句柄对饼图的属性重新设置。pie3 绘制三维饼图。第六章 图形处理功能第117页,共139页。【例6-20】 二维饼图绘制示例 a=0.5 1 1.6 1.2 .8 2.1; b=0 0 0 0 0 1; pie(a) pie(a,b); % 分离出饼图中的一部分第六章 图形处理功能第118页,共139

54、页。图6-20 绘制二维饼图第六章 图形处理功能第119页,共139页。【例6-21】 三维饼图绘制示例 x=1 2.4 1.6 3.8 2.5; subplot(1,2,1) pie3(x); % 绘制三维饼图 subplot(1,2,2) explode=1 0 0 1 0; pie3(x,explode); % 绘制分割 的 三 维饼图 第六章 图形处理功能第120页,共139页。图6-21 三维饼图绘制示例第六章 图形处理功能第121页,共139页。第二节 三维平面图形的绘制 一、三维曲线绘图命令二、网格图和表面图 三、视图可视效果、色彩控制 、透视效果和光照控制第六章 图形处理功能第

55、122页,共139页。一、三维曲线绘图命令第六章 图形处理功能调 用 格 式说 明plot3(x ,y, z, s)绘制由相同大小的向量x,y,z对应元素构成的曲线。s指定曲线的颜色、标记和线型plot3(X, Y, Z, s)绘制由3个相同大小的矩阵X,Y,Z对应的列所构成的多条曲线。s为线型、颜色、标记字符串plot3(x1,y1,z1,s1,xn,yn,zn,sn)绘制由多个参数组构成的多条曲线表6-6 plot3函数调用格式第123页,共139页。 【例6-22】 绘制x、y和z均为矢量的三维曲线图示例t=0:pi/200:10*pi; % 定义数据向量x=cos(t); % 计算x坐标向量y=3*sin(t); % 计算y坐标向量z=t.2; % 计算z坐标向量plot3(x,y,z) % 绘制空间曲线第六章 图形处理功能第124页,共139页。图6-22 x、y和z均为矢量时的三维曲线第六章 图形处理功能第125页,共139页。【例6-23】 绘制x、y和z均为矩阵时的三维曲线 x,y=meshgrid(-2:0.1:2); % 产生供三维

温馨提示

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

评论

0/150

提交评论