matlab绘图的常用函数主要有以下几种。
- plot():二维图形绘制
plot(y):对于只含一个参数的plot函数,如果输入参数y为向量,则以该参数为纵坐标,横坐标从1开始与向量的长度相等;如果输入的参数y为矩阵,则按列绘制每列元素的曲线,每条曲线的纵坐标为该列上的元素值,横坐标从1开始,与元素的行坐标对应,曲线条数等于矩阵列数,多条曲线默认状态下通过颜色区别。y1=randperm(15); plot(y1)
运行后如图 :
y2=rand(3,4); plot(y2)
运行后如图 :
plot(x,y):对于含有两个输入参数的plot函数,如果x是向量,y也为向量,则向量x,y的长度必须相同;如果x为向量,y为矩阵,则y必须有一维长度和x相同,线条的数量等于y的另一维大小;如果x,y是同维矩阵,则分别以矩阵x,y对应的列元素为横纵坐标,绘制曲线,曲线条数为矩阵列数,不同的曲线默认以不同的颜色区别。
x1=0:pi/100:2*pi; %x1为向量 for i=1:4 y1(i,:)=i*cos(pi*x1); %y为一维与x长度相同的矩阵 end plot(x1,y1)
如图:
x=[1 2 3;4 5 6;7 8 9]; y=rand(3); plot(x,y) %x,y为同维矩阵
plot(x1,y1,x2,y2,...):对于含有多个输入参数的plot函数。x1和y1,x2和y2分别配对,即以x1为横坐标数据时,y1为相应的纵坐标,以x2为横坐标数据时,y2为相应的纵坐标,以此类推。
x1=1:pi/100:2*pi; x2=0:pi/100:pi; plot(x1,sin(x1),x2,cos(x2))
plot(x1,y1,LineSpec):对于图形的线性,数据点的样式,颜色进行控制,LineSpec为控制线型,点型,样式的字符串。
线条样式控制符:线条样式 控制符 实线 - 点线 : 虚线 -- 点画线 -. 数据点样式控制符:
数据点样式 控制符 点号 . 十字号 + *号 * 叉号 空心圆 o 正方形 s 五角星 p 菱形 d 六角星 h 上三角 下三角 左三角 < 右三角 > 颜色控制符:
颜色属性 控制符 红色 r 粉色 m 绿色 g 青色 c 蓝色 b 白色 w 黄色 y 黑色 k plot函数常用属性:
属性名 描述 LineWidth 设置线的宽度 MarkerSize 设置标记点的大小 MarkerEdgeColor 设置标记点的边缘颜色 MarkerFaceColor 设置标记点的填充颜色 例:
x=0:pi/20:pi; y=sin(4*x); plot(x,y,'ro--','LineWidth',3,'MarkerEdgeColor','k','MarkerFaceColor','y','MarkerSize',10) %'ro--'表示用红色空心圆虚线
效果如图:
-
plotyy():双y轴图形绘制
在实际中,如果两组数据的数据范围相差较大,而有希望放在同一图形中比较分析,可以绘制双y轴图形。
plotyy(x1,y1,x2,y2):其中x1,y1和x2,y2分别为一组曲线。绘制的图形横坐标标度相同,纵坐标左右各有一个标度左纵坐标对应x1,y1数据对,右纵坐标对应x2,y2数据对。
plotyy(x1,y1,x2,y2,'function'):以function函数形式绘制双y轴形式,function可以是MATLAB系统自带的plot,semilogx,semilogy,loglog,stem函数或用户自定义的函数。
plotyy(x1,y1,x2,y2,'function1','function2'):曲线,x1,y1以function1形式绘制,x2,y2以function2形式绘制。
例:x=0:pi/100:2*pi; plotyy(x,sin(x),x,100*tan(x),'loglog','plot')
效果如图:
-
loglog():对数坐标图形的绘图
函数loglog()用于x,y轴均为对数的坐标系绘图。函数调用格式如下:
loglog(y)
loglog(x,y)
loglog(x,y,LineSpec)
各调用格式的用法与plot()函数类似,这里不再过多赘述。
-
fplot():符号函数的绘制
fplot可以根据函数的表达式自动调整自变量的范围,不需要明确指出自变量和因变量的具体值,只根据表达式画图。调用格式如下:
fplot('function',limits):function是函数表达式或包含y=f(x)的M文件。
fplot('function',limits,LineSpec):LineSpec参数设置图形的线性,数据点的样式,颜色。
例:fplot('sin(x)*cos(x)^3',[0,2*pi])
效果如图:
-
ezplot():符号函数的绘制
ezplot()函数与fplot函数的功能比较类似,可以绘制表达式或函数的图形。调用格式如下:
ezplot('f'):绘制函数或者表达式的图形,默认x的范围为[-2*pi,2*pi]
ezplot('f',[min,max]):设置x的取值范围
ezplot('f',[xmin,xmax,ymin,ymax]):同时设置x和y的取值范围。ezplot('sin(x)*cos(x)^3')
效果如图:
-
图形栅格的控制
grid on:给当前坐标轴添加栅格
grid off:去除栅格
grid:切换栅格的显示状态,显示切换成不显示,不显示切换成显示。
-
Hold():图形保持的控制
在图形窗口生成图形后,再生成下一幅图形的时候,会覆盖原图形,如果想要保留原图形可以使用hold函数用于图形保持控制。调用格式如下:
hold on:当前窗口中的图形处于保持状态,后续图形叠加在原有图形上。
hold off:关闭图形窗口中的图形保持状态,后续图形覆盖原有图形
hold:在hold on和hold off之间切换