也可以对列向量求微分,它的自变量也是一个列向量。
4.3.3 符号积分运算
MATLAB符号工具箱还提供了用于积分运算的int函数。该函数也有三种调用格式:
(1) int(s)
对于符号变量s 代表的符号表达式,求s的不定积分,积分变量使用数学约定。 例如:求s关于变量x的不定积分。 syms x;
s=’1/(1+x^2)’; f=int(s) f= atan(x) (2) int(s,v)
计算s关于变量v的不定积分。
例如,下面的例子将对指定的变量求不定积分。 syms alpha u; s=’sin(alpha*u)’; int(s,alpha) ans=
-1/u*cos(alpha*u)
(3) int(s,a ,b)或int(s,v,a,b)
计算s关于变量x或v,从a到b的定积分。
例如,下面的例子将对指定的变量求从2到sin(t)的定积分。 syms x t; s=4*x*t; int(s,2,sin(t)) ans=
2*t(sin(t)^2-4)
4.4 符号函数的可视化
4.4.1 绘制二维符号函数曲线
对于符号函数,MATLAB提供了一个非常简单的作图指令:ezplot()函数。通过这个命令,可以在图形窗口绘制出符号函数的图形。ezplot()函数有如下几种调用格式:
? ezplot(f)
34
对于符号函数f=f(x),按照x默认的范围:-2*pi 例如: syms x; f='cos(x)'; ezplot(f) ? ezplot(f,[a,b]) 在图形窗口中绘制符号函数f=f(x)的图形,x的范围由[a,b]确定,即a 对于符号函数f=f(x,y), ezplot(f)在图形窗口中绘制符号方程f(x,y)=0的图形。x和y的取值范围为: -2*pi ? ezplot(f,[xmin,xmax,ymin,ymax]) 对于符号函数f=f(x,y), ezplot(f,[xmin,xmax,ymin,ymax])在图形窗口中绘制符号方程f(x,y)=0的图形。x和y的取值范围为: xmin 当没有指定y的范围时,y的范围和x的一致。 ? ezplot(x,y) 对于符号函数x=x(t),y=y(t),ezplot(x,y)在图形窗口中绘制符号方程x=x(t),y=y(t)的图形。t的取值范围为:0 ? ezplot(x,y,[tmin,tmax]) 对于符号函数x=x(t),y=y(t),ezplot(x,y)在图形窗口中绘制符号方程x=x(t),y=y(t)的图形。t的取值范围为: tmin 4.4.2 绘制三维符号函数曲线 对于符号函数,MATLAB还提供了用于三维空间的作图函数:ezplot3()函数和ezsurf()函数。通过这两个命令,可以在图形窗口绘制出三维符号函数的图形。 1. ezplot3函数的使用 ? ezplot3(x,y,z) 对于符号函数x=x(t),y=y(t),z=z(t),ezplot3(x,y,z)在图形窗口中绘制符号方程x=x(t),y=y(t),z=z(t)的图形。t的取值范围为默认值:0 ? ezplot3(x,y,z,[tmin,tmax]) 35 指定t的取值范围为:tmin ? ezplot3(x,y,z,’animate’)或者ezplot3(x,y,z,[tmin,tmax],’animate’) ‘animate’选项用于产生动态的痕迹。 2. ezmesh()函数的使用 ? ezmesh(f) 对于符号函数f(x,y),ezmesh(f)在默认的绘图范围:-2*pi ? ezmesh(f,[xmin,xmax,ymin,ymax])或者ezmesh(f,[a,b]) 对于符号函数f(x,y),ezmesh(f)在指定的绘图范围: xmin ? ezmesh(x,y,z)、ezmesh(x,y,z,[a,b])或者ezmesh(x,y,z,[smin,smax,tmin,tmax]) 这个命令将在图形窗口中绘制符号函数x=x(s,t),y=y(s,t),z=z(s,t)的图形。 绘图范围为:-2*pi 36 第五章 MATLAB的可视化功能 MATLAB语言提供了强大的图形绘制功能。在大多数情况下,用户只需要指出绘图方式,提供绘图数据,利用MATLAB提供的丰富的二维、三维图形函数,就可以绘制出所需的图形。 MATLAB还对绘出的图形提供了各种修饰方法。MATLAB的图形系统是建立在诸如线、面等图形对象集合的基础之上的,用户通过设置对象特征来控制图形。 5.1 二维图形 5.1.1 绘制简单的二维曲线 MATLAB中最常用的绘图函数为plot。plot函数是将各个数据点通过连折线的方式来绘制二维图形的。plot命令的格式有以下几种: (1) plot(y) 当y为一向量时,以y的序号作为X轴,按向量y的值绘制曲线。 (2) plot(x,y) x, y均为向量时,以x向量作为X轴,y向量作为Y轴绘制曲线。 (3) plot(x,y1,’option’,x,y2,’option’,?) 以公共的x向量作为X轴,分别以向量y1,y2,?的数据绘制多条曲线,每条曲线的属性由相应的选项’option’来确定。option选项可以是表示曲线颜色的字符、表示线型格式的字符和表示数据点的标记,各个选项有的可以连在一起使用,曲线颜色、线型格式和标记如表5-1所示。 表5-1 曲线颜色与线型格式 符号 颜色 符号 `颜色 符号 线型 符号 标记 符号 标记 ‘b’ 蓝色 ‘c’ ‘v’ ‘x’ 青色 ‘-‘ 实线 ▽ 叉号 ‘g’ 绿色 ‘k’ ‘^’ ‘+’ 黑色 ‘--‘ 虚线 △ 加号 ‘m’ 洋红色 ‘r’ ‘>’ 红色 ‘:’ 点线 ω ‘pentagram’ 五角星 ‘w’ 白色 ‘y’ ‘diamond’ 黄色 ‘-.‘ 点划线 ‘<’ ω ◇ 可以用一个1*3向量任意指None 无线 ‘。’ 圆圈 ‘hexagram’ 六角星 ‘*’ 定[r,g,b]红、绿、蓝三原色 星号 ‘square’ □ (4) plot(x1,y1,’option’,x2,y2,’option’,?) 分别以向来x1,x2,?作为X轴,以y1,y2?的数据绘制多条曲线,每条曲线的属性由相应的选项`option`来确定。曲线颜色、线型格式和标记如表5-1所示。 例如,在MATLAB的命令窗口中键入如下命令,可以绘制正、余弦函数。 x=0:pi/30:2*pi; 37 y1=sin(x); y2=cos(x); plot(x,y1,`r:`,x,y2,`m+`) 绘制的图形如图5-1所示。 图5-1 正弦、余弦曲线 除plot命令外,MATLAB还提供line命令,用于在图形窗口的任意位置画直线或折线。 line(x,y) 在当前图形窗口中绘制出一条由向量x和向量y的对应数据元素为数据点的折线。 5.1.2 离散序列图的绘制 MATLAB用stem命令来实现离散序列的绘制,stem命令有以下几种格式: (1)stem(y) 以x=1, 2, 3?为各个数据点的x坐标,以y向量的各个对应元素为y坐标,在(x,y)坐标点画一个空心小圆圈,并连接一条线段到X轴。 (2)stem(x,y`option`) 以x向量的各个元素为x坐标,以y向量的各个对应元素为y坐标,在(x,y)坐标点画一个空心小圆圈,并连接一条线段到X轴。option选项表示绘图时的线型、颜色,取值见表5-1。 (3)stem(x,y,`filled`) 以x向量的各个元素为x坐标,以y向量的各个对应元素为y坐标,在(x,y)坐标点画一个空心小圆圈,并连接一条线段到X轴。 5.1.3二维图形的修饰 1. 坐标轴的调整 38