下面给出一个例子:用M文件绘制图像:
x=0:pi/30:2*pi; y1=x.^2; y2=10*sin(x); plot(x,y1,'.r',x,y2,'-y'); grid xlabel('Variable x') ylabel('Variable y') title('x^2 and sin(x)'); text(6.2,-5.5,'sin(x)'); text(6.2,16,'x^2');用subplot(m,n,p)命令,可以在同一个画面上面建立几个坐标系,把一个画面拆分成m×n个图形区域,p代表当前的区域号,每个区域可以对应一个独立的图。
例如,在一个窗口内绘制 y=ex , y=log(x) , y=sin(x) , y=cos(x) 的图像。
x=0:pi/30:2*pi; y1=exp(x); y2=log(x); y3=sin(x); y4=cos(x); subplot(2,2,1) plot(x,y1) grid xlabel('Variable x') ylabel('Variable y') title('exp(x)'); subplot(2,2,2) plot(x,y2) xlabel('Variable x') ylabel('Variable y') title('log(x)'); subplot(2,2,3) plot(x,y3) xlabel('Variable x') ylabel('Variable y') title('sin(x)'); subplot(2,2,4) plot(x,y4) xlabel('Variable x') ylabel('Variable y') title('cos(x)');绘图结果为:(fig1)
一般格式为plot(x1,y1,z1,s1,x2,y2,z2,s2,….,xn,yn,zn,sn)
view()函数可以改变三维图形的观察点。
例如:绘制如下函数的图形: x=e−0.1tcos(t),y=e−0.1tsin(t),z=t .
clear all clc t=0:pi/30:8*pi; x=exp(-0.1*t).*cos(t); y=exp(-0.1*t).*sin(t); z=t; subplot(2,2,1),plot3(x,y,z),grid on title('(x,y,z)的三维图a'); subplot(2,2,2),plot3(x,y,z),grid on,view([0,0,1]) title('从(0,0,1)观察a'); subplot(2,2,3),plot3(x,y,z),grid on,view([0,1,0]) title('从(0,0,1)观察a'); subplot(2,2,4),plot3(x,y,z),grid on,view([1,0,0]) title('从(0,0,1)观察a');[x,y]=meshgrid(x,y)
mesh(X,Y,Z):为数据点绘制网格线,X,Y,Z分别为三维空间的坐标位置。
contour(X,Y,Z):二维等高线,X,Y,Z分别为三维空间的坐标位置。
contour3(X,Y,Z,n):三维等高线,X,Y,Z分别为三维空间的坐标位置,n为等高线的条数。
下面是一个例子:
clear all clc x=-2:1:2;y=-1:1:2; [X,Y]=meshgrid(x,y); Z=X.^2+Y.^2; subplot(2,2,1),mesh(X,Y,Z),grid on title('网格图a'); subplot(2,2,2),mesh(X,Y,Z),view([0,30]),grid on title('在方位角0°和视角30°处观察图a'); subplot(2,2,3),contour(X,Y,Z) title('二维等高线'); subplot(2,2,4),contour(X,Y,Z,10) title('三维等高线');