一、二维平面作图
1、简单的x-y坐标图
x、y是长度相同的向量,以x的分量为横坐标,y的分量为纵坐标,作平面曲线,使用命令plot(x,y)。(可以省略参数x,这样将会以y的分量下标为横坐标,y的分量为纵坐标,绘制向量y的线性图)
2、含多条曲线的x-y坐标图
(1)对于命令plot(x,A),x是向量,A是矩阵,若x的长度与A的行数相等,则将x与A中的各列相对应,绘制多条平面曲线;否则,若x的长度与A的列数相等,则将x与A中的各行相对应,绘制多条平面曲线。(x的长度必须等于A的行数或列数)
(2)对于命令plot(x1,y1, x2,y2, ...),其中所有参数都是矢量,那么从x1和y1开始将会两两配对(配对的矢量需要有相同的元素个数),分别为每一对矢量绘制平面曲线。(不止plot命令有这种用法,可在输入命令后关注MATLAB弹出的参数提示)
(3)每次使用plot命令或其它绘图命令时,新图象都会将图形窗口中原本的旧图象覆盖掉,如果不希望旧图象丢失,又想在旧图象的基础上画新图象,可以使用hold on命令关闭自动覆盖(hold off命令则是打开自动覆盖)。
3、复平面作图
(1)对于命令plot(x),如果x是一个复数矢量,则将x各元素的实部作为横坐标,虚部作为纵坐标,绘制一条平面曲线。
(2)对于命令plot(x),如果x是一个复数矩阵,则对于矩阵的每一列都有其对应的平面曲线,将每一列中的元素实部作为横坐标,虚部作为纵坐标,进行绘图。
4、指定图形的属性
(1)指定点和线属性的命令——plot(x,y,str),这里的str是用单引号括起来的字符串,用来指定图形的点、线的形状和颜色(颜色、线型、点标记可以全部指定,也可以部分指定,顺序任意)。
线型 | 点标记 | 颜色 |
- 实线 : 虚线 -. 点划线 -- 间断线 空白(不画线) | . 点 o 小圆圈 x 叉子符 + 加号 * 星号 s 方格 d 菱形 ^ 朝上三角 v 朝下三角 > 朝右三角 < 朝左三角 p 五角星 h 六角星 | y 黄色 m 洋红/magenta c 青色/cyan r 红色 g 绿色 b 蓝色 w 白色 k 黑色 |
(2)图形的属性还有线条的粗细、字体大小、坐标轴属性等,linewidth用于指定线条的粗细(参数为实数),markeredgecolor用于指定标记的边缘色,markerfacecolor用于指定标记表面的颜色。
(3)在命令plot(x1,y1, x2,y2, ...)的基础上,可为每条曲线分别设置图形属性,命令格式为plot(x1,y1,str1, x2,y2,str2, ...)。(不止plot命令有这种用法,可在输入绘图命令后关注MATLAB弹出的参数提示)
5、在平面图上添加说明
(1)添加标题:
①使用命令title('text')可在坐标图上方添加文本“text”。
②所添加的文本也可指定属性,具体命令格式为title('text', 'Property1', value1, 'Property2', value2, ...),其中可供指定的属性(Property)有字体大小(fontsize)、字体灰度(fontweight)、字形名(fontname)等。
(2)添加坐标轴标注:
①使用命令xlabel('text')可为坐标图的x轴添加标注“text”。(可以指定文本属性)
②使用命令ylabel('text')可为坐标图的y轴添加标注“text”。(可以指定文本属性)
(3)添加图例:使用命令legend(str1,str2, ...)即可为各条曲线分别添加图例。
(4)在任何指定的地方添加文本:
①使用命令text(x,y,string),可指定在图中以x为横坐标、y为纵坐标的位置添加文本。(可以指定文本属性)
②使用命令gtext(string),命令执行后,在图中会显示一个十字准线,按任意键或单击鼠标,文本就会添加到准线所在的位置。(可以指定文本属性)
6、坐标轴控制
(1)使用命令axis([xmin, xmax, ymin, ymax])可控制坐标轴的显示范围。
(2)axis的其它调用方式:
①axis auto:自动模式,使得图形的坐标满足图中的一切元素。
②axis equal:各坐标轴采用等长刻度。
③axis square:使绘图区域为正方形。
④axis on/off:恢复/取消对坐标轴的一切设置(显示/不显示坐标轴)。
⑤axis manual:以当前的坐标限制图形的绘制(应用于多图时)。
7、其它常用二维图
(1)极坐标绘图命令——polar(theta,r),以theta为极角,r为极径作极坐标图。
(2)按指数规律变化的数据可用对数坐标表示,这时可画对数图。
①semilogx(x,y)——创建单对数坐标图,x轴为对数坐标,y轴为线性坐标。
②semilogy(x,y)——创建单对数坐标图,x轴为线性坐标,y轴为对数坐标。
③loglog(x,y)——创建双对数坐标图,x轴、y轴均为对数坐标。
(3)双y轴图——将两个二维曲线输出到同一坐标图中,它们共用同一个x轴,但有各自的y轴,可使用命令plotyy(x1,y1,x2,y2,function)对其进行绘制,其中function是指定的绘图函数,可取plot(默认)、semilogx、semilogy、loglog等(function需要用单引号包含)。
(4)二维函数绘图——给定一个函数和定义域,画出其函数图像,可使用命令fplot(f(x),[a,b,c,d])绘制f (x)在区域a < x < b、c < y < d上的图形(c、d是值域的上下界,可省略;f(x)需要用单引号包含)。
(5)使用命令grid on可以在图象上显示网格(使用命令grid off则关闭网格的显示)。
二、三维空间作图
1、三维曲线
设三维曲线的参数方程为x=x(t)、y=y(t)、z=z(t),则其图形可由命令plot3(x,y,z)绘出。(实际上plot3和plot的用法非常相似,无非就是多了一个维度)
2、三维曲面
(1)命令mesh(X,Y,Z)可绘制由矩阵X、Y、Z所确定的曲面的网格图。
(2)“[X,Y]=meshgrid(x,y)”中的meshgrid是网格生成函数,x、y是分别对x取值区域和y取值区域进行分割后得到的向量(x、y向量的元素个数可以不同),X、Y即为我们所需要的网格矩阵。若y = x,则可简写为“[X, Y]=meshgrid(x)”。
(3)meshc函数的使用方法和mesh相同,不同的是meshc在mesh绘图的基础上增加了等高线;meshz函数的使用方法也和mesh相同,不同的是meshz在mesh绘图的基础上增加了屏蔽面。
(4)mesh的两种绘图方式(同样适用于其它曲面作图函数):
①显式方程绘图:
x=a:h1:b; y=c:h2:d; % 区域划分
[X,Y]=meshgrid(x,y); % 生成网格
Z=z(X,Y); % 计算网格上的函数值(二维平面→三维曲面)
mesh(X,Y,Z); % 调用绘图命令
②参数方程绘图:
u=a:h1:b; v=c:h2:d; % 区域划分
[U,V]=meshgrid(u,v); % 生成网格
X=x(U,V); Y=y(U,V); Z=z(U,V); % 计算函数值
mesh(X,Y,Z); % 调用绘图命令
(5)空间曲面其它作图命令:
①surf(X,Y,Z):绘制带颜色的表面图,参数含义同mesh。
②sphere(n):绘制单位球面,n代表网格的数量(若不给出n,则n默认为20)。
③contour(X,Y,Z):绘制由矩阵X、Y、Z所确定的等高线。
④pcolor(X,Y,Z):绘制由矩阵X、Y、Z所确定的伪色图(带栅格的二维阴影图)。
3、坐标轴控制
(1)使用命令axis([xmin,xmax, ymin,ymax, zmin,zmax])可控制坐标轴的显示范围。
(2)axis的其它调用方式:
①axis auto:自动模式,使得图形的坐标满足图中的一切元素。
②axis equal:各坐标轴采用等长刻度。
③axis square:使绘图区域为正方形。
④axis on/off:恢复/取消对坐标轴的一切设置(显示/不显示坐标轴)。
⑤axis manual:以当前的坐标限制图形的绘制(应用于多图时)。
三、符号作图
1、二维曲线符号绘图
(1)指定绘图区间(f(x)等函数表达式需要用单引号包含):
(2)不指定绘图区间(f(x)等函数表达式需要用单引号包含):
2、空间曲线符号作图
3、空间曲面符号绘图
(1)绘制网格图:
①显式方程绘图(函数表达式需要用单引号包含):
②参数方程绘图(函数表达式需要用单引号包含):
(2)绘制表面图:
①显式方程绘图(函数表达式需要用单引号包含):
②参数方程绘图(函数表达式需要用单引号包含):
四、划分绘图窗口
subplot(m,n,p)命令可将一个绘图窗口分割成m×n个子区域,并按行从左至右依次编号,p表示第p个绘图子区域。每次执行该命令后,下一次绘图都会在第p个绘图子区域进行。