MATLAB作图方法与技巧(一)
下面从折线图、曲面图和图形说明与定制三个方面说明MATLAB作图的一些方法与技巧,注意,文中出现的单引号在MATLAB中实际运行的时候,需要改为MATLAB认可的单引号。
一、 作折线图
1.plot函数①以x为横坐标y为纵坐标,作折线图
x = [1 2 3 4 5 6 7 8 9 10];y = [5 2 3 5 7 14 10 4 2 3];plot(x,y,’:r*’);
②在同一个图中作出多组数据的折线图x1与y1对应,x2与y2对应
x1 = [0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9];y1 = [6.2 9.1 5.5 3.9 2.7 1.5 1.5 2.6];
x2 = [0.12 0.25 0.32 0.40 0.51 0.66 0.80 0.86];y2 = [1.5 3.5 1.7 3.9 1.1 2.1 6.7 3.3];
plot(x1,y1,x2,y2);
作函数在一个区间的变化图
fplot(@(x)x^3-x+2,[-4,4]);
按照点顺序作三维空间中的折线图
x = [0.3 0.5 0.7 0.9 1.3];y=[1.3 0.9 1.5 1.5 3.4];z = [2.3 4.2 1.1 3.6 4.1];plot3(x,y,z);
如
x = [1 2 3 4 5 6 7 8 9 10];y = [5 2 3 5 7 14 10 4 2 3];plot(x,y,’-r*’);
再如
x1 = [0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9];y1 = [6.2 9.1 5.5 3.9 2.7 1.5 1.5 2.6];
x2 = [0.12 0.25 0.32 0.40 0.51 0.66 0.80 0.86];y2 = [1.5 3.5 1.7 3.9 1.1 2.1 6.7 3.3];plot(x1,y1,’ :r*’,x2,y2,’-bo’);
再如
fplot(@(x)x^3-x+2,[-4,4],’-r.’);
注意:从WORD中向MATLAB粘贴要求改单引号为MATLAB认可的单引号.
1.meshgrid函数
在做曲面图之前,须生成网格,返回值为两个矩阵
xa = -2:0.1:2;ya = -2:0.1:2; [x,y] = meshgrid(xa,ya);
绘制网面图
xa = -2:0.1:2;ya = -2:0.1:2; [x,y] = meshgrid(xa,ya);z=x.^2+y.^2;mesh(x,y,z);
绘制网面图与mesh的唯一区别在于填充颜色不同
xa = -2:0.1:2;ya = -2:0.1:2; [x,y] = meshgrid(xa,ya);z=x.^2+y.^2;surf(x,y,z);
绘制等高线
xa = -2:0.1:2;ya = -2:0.1:2; [x,y] = meshgrid(xa,ya);z=x+y.^2;contour(x,y,z);
含义是同一条线上的[x,y]对应的z值相同
xa = -10:0.1:10;ya = -10:0.1:10; [x,y] = meshgrid(xa,ya);z=x.^2/3+2*x/4+y.^2;contour(x,y,z,[10 10]);
取等高线中的一条,由此可见,contour函数可以用来绘制隐函数的网面图.
1.title函数
fplot(@(x)x^3-x+2,[-4,4]);
title(‘函数x^2-x+2在区间[-4,4]的变化图’);
xa = -2:0.1:2;ya = -2:0.1:2; [x,y] = meshgrid(xa,ya);z=x.^2+y.^2;mesh(x,y,z);
title(‘函数z=x^2+y^2在[-2,2]x[-2,2]的曲面图’);
xlabel(‘x’); ylabel(‘y’); zlabel(‘z’);
设定二维或三维坐标轴范围
如二维情形
fplot(@(x)x^3-x+2,[-4,4]);
axis([-6,6,-20,20]);%小括号中有中括号
再如三维情形
xa = -2:0.1:2;ya = -2:0.1:2; [x,y] = meshgrid(xa,ya);z=x.^2+2*x+y.^2+3;mesh(x,y,z);
axis([-2,2,-2,2,-20,30]);
显示网格,grid off去掉网格.
包括插入标题、坐标轴名称和查看属性编辑器,点-隐藏图形编辑器退出
编辑-复制图形,这样就可以粘贴到其他地方.