Matlab作图基础
文章目录
一、二维绘图基本命令
plot函数
plot函数为matlab作图的常用一般命令
其一般格式为plot(x,y,s),其中s为线型格式设置,x,y为向量表示
例:
x=0:0.1:10;
y=cos(tan(pi*x));
plot(x,y,'r--');title('用plot绘制的图像');
fplot函数
plot(fun,lims)表示绘制字符串在指定函数fun在区间lims上的图形,其中,fun为定义在路径下的函数M文件或独立变量为x的字符串,其与plot函数比较如下:
x=0:0.1:10;
y=cos(tan(pi*x));
subplot(1,3,1);plot(x,y,'r--');title('用plot绘制的图像');
subplot(1,3,2);fplot('cos(tan(x))',[0,10],'r--');title('用fplot及自变量x字符串绘制的图像');
subplot(1,3,3);fplot('fun',[0,10],'r--');title('用fplot及fun函数绘制的图像');
//fun函数代码如下:
function f=fun(x);
f=cos(tan(pi*x));
end
ezplot函数
符号函数ezplot可以实现显函数、隐函数和参数方程画图
其调用格式如下:
ezplot(f): 表示在默认区间[-2pi,2pi]上绘制 f=f(x)的图形
ezplot(f,[a,b]) : 表示在区间[a,b]上绘制显函数f=f(x)的图形
ezplot(f,[xmin.xmax,ymin,ymax]) 表示在区间[xmin,xmax]和[ymin,ymax]上绘制隐函数f(x,y)=0的图形
ezplot(x,y,[tmin,tmax]) 表示在区间[tmin,tmax]上绘制参数x=x(t),y=y(t)的图形
例:
ezplot('fun1',[-3,3,-3,3]);
title('用符号函数ezplot画图');
zoom on;//打开缩放模式
//fun1 函数
function f=fun1(x,y)
f=exp(x.*y)-sin(x+y);
end
极坐标图polar函数
polar函数用来绘制极坐标图,其常用表示为:
polar(theta,rho,s),其中theta(弧度表示)表示角度,rho表示极坐标公式,s为线形表示
例:
theta=linspace(0,10*pi);
r=2*theta;
polar(theta,r,'g');title('阿基米德螺线');
figure(2)//展开另一幅图像
r1=2*cos(3*theta);
polar(theta,r1,'g');title('三叶玫瑰螺线线');
散点图scatter函数
其常用命令格式如下:
scatter(X,Y,S,C)在向量X,Y的指定的位置上显示彩色圆圈
例:
load seamount
scatter(x,y)
等值线图
contour
[x,y,z]=peaks;
subplot(1,2,1);
contour3(x,y,z,16,'s');
title('山峰三维等值线图');
subplot(1,2,2);
contour(x,y,z,16,'s');
title('山峰二维等值线图');
二、三维绘图基本命令
plot3
其常用命令格式为:plot3(x,y,z,s),其中s为颜色、线型等
例:
t=0:pi/50:10*pi;
plot3(sin(t),cos(t),t);
xlabel('sin(t)');
ylabel('cos(t)');
zlabel('t');
rotate3d;//3d 图像旋转
surf函数与mesh函数
其常用格式为surf(x,y,z),mesh(x,y,z),在绘制3D图像时,常用到meshgrid(x,y)函数,其作用为产生一个以x为行,y为列的矩阵,其效果如下:
x=-3:0.1:3;
y=1:0.1:5;
[X,Y]=meshgrid(x,y);
surf函数和mesh函数对比如下:
x=-4:0.5:4;
y=-4:0.5:4;
[X,Y]=meshgrid(x,y);
Z=-X.^2+Y.^2;
subplot(3,1,1),surf(X,Y,Z);title('surf函数作图');
subplot(3,1,2),mesh(X,Y,Z);title('mesh函数作图');
subplot(3,1,3),meshz(X,Y,Z); title('meshz效果作图');
三、图形处理方法
1.加入格栅、图列和标注
(1)grid on grid off
grid on //加上
grid off//删除
(2)图例标签与坐标轴
xlabel('string')//x轴标签
ylabel('string')//y轴标签
zlabel('string')//z轴标签
title('string')//图片标题
gtext('string')//运行后鼠标点击在任何地方生成
axis([XMIN XMAX YMIN YMAX ZMIN ZMAX])//生成定制坐标
figure(N)//创建图形
zoom on //缩放