目录
想查找相关内容也可在页面按ctrl+F搜索文字
一、MATLAB的图形功能
二、瞄点连线绘图(plot)
三、绘图控制——坐标系设置
四、重叠绘图与多区绘图
1.重叠绘图(hold on;hold off)
2.多区绘图(subplot(m,n,p))
五、三维空间曲线绘制(plot3(x,y,z))
六、网格点的坐标生成 / 曲面绘制
七、等值线绘制(contour/contour3)
七、曲面颜色控制(colormap)
x的分量做横坐标,对应的y分量做纵坐标,描点作图。
同时绘制(x1,y1)、(x2,y2)等多条曲线。
%示例
x=0:0.1:2*pi;
plot(x,sin(x),x,cos(x))
在plot中可设定颜色、线型、数据点标记,clor-linestyle-marker为一字符串,由代表颜色、线型、数据点标记的字符组成。(颜色、线性、标记可以调换顺序)
(color)颜色字符:y(黄); r(红); g(绿); b(蓝); w(白); k(黑);m(紫);c(青)。
(linestyle)线型字符有:-(实线); :(点线); -.(点划线); --(虚线)。
(marker)数据点标记字符: .(小黑点); +(加号); *(星号); o(小圆圈); pentagram(五角星)。
%示例
x=0:0.1:2*pi;
plot(x,sin(x),'-r',x,cos(x),'ob')
对绘图细节控制要求不高的话还可用简易绘图指令ezplot(f)
好处:只需输入函数,默认范围。无需自己离散,去掉采样过程。
示例:
f=@(x) 2*sin(3*x)-1 ;
ezplot(f)
如不指定,MATLAB将自动设置纵横坐标比例和显示范围,若不满意,可用axis指令控制。常用的形式有
图形标注:
示例:
x=0:0.1:6;
y=sin(x);
z=cos(x);
u=cos(2*x);
hold on
plot(x,y,'r')
plot(x,z,'b')
hold off
plot(x,u)
用subplot(m,n,p)可在一个图形窗口内分割出m×n个绘图区,并指定当前绘图区为第p个。
示例:
%输入数据
x=linspace(0,2*pi,30);y=sin(x);
z=cos(x);u=2*sin(x).*cos(x);v=sin(x)./cos(x);
%绘图过程不要关闭Figure窗口
subplot(2,2,1),plot(x,y),title('y=sinx')
subplot(2,2,2),plot(x,z),title('z=cosx')
subplot(2,2,3),plot(x,u),title('u=sin2x')
subplot(2,2,4),plot(x,v),title('v=tanx')
用plot3(x,y,z)指令可以绘制空间曲线,其中x、y、z是曲线上点的坐标向量。(关键:事先准备好曲线上顺序采样点的三维坐标数组)
示例
%输入数据
t=0:pi/50:10*pi;
%绘图
plot3(sin(t),cos(t),t)
电脑绘图的本质是描点绘图,所以必须把控制曲面形状的点坐标准备好,通常是曲面上的网格点。
示例:
[X1,Y1]=meshgrid([-3:.1:3]);
Z1=sin(X1.^2+Y1.^2)./sqrt(X1.^2+Y1.^2+eps);
[X0,Y0,Z0]=sphere(20);
X2=X0+1;
Y2=Y0+1;
Z2=0.8*Z0+2;
surf(X1,Y1,Z1) ;
hold on
mesh(X2,Y2,Z2) ;
hold off
axis equal
shading interp
示例:
[X,Y,Z]=peaks(30);
surf(X,Y,Z)
figure(2);
contour(X,Y,Z,16)
figure(3); contour3(X,Y,Z,16)
示例:
colormap('winter')
map=[1,1,0;0,1,1;1,0,1;1,0,0;0,1,0;0,0,1]
colormap(map);[X,Y,Z]=peaks(30);
surf(X,Y,Z)