hold on %meshgrid生成绘制3D图形所需的网格数据 x=[1:10;3:12;5:14]; %三原色 红绿蓝 map=zeros(256,3); map(:,2)=(0:255)/255; colormap(map); %imagesc(A) 将矩阵A中的元素数值按大小转化为不同颜色 imagesc(x); colorbar; hold off
mesh()用于绘制不是特别精细的三维曲面网格图,同一层面的线条用相同的颜色表示。surf()用于绘制比较光滑的三维曲面网格图,各线条之间的补面用颜色填充。
hold on x=-3.5:0.2:3.5; y=-3.5:0.5:3.5; [x,y]=meshgrid(x,y); z=x.*exp(-x.^2-y.^2); subplot(1,2,1);mesh(x,y,z); subplot(1,2,2);surf(x,y,z); hold off
contour() 矩阵的等高线图
contour(u,v,z,n)是画等值线
其第四个参数是控制等值线的值的
如果n是一个标量,那么解释为等值线的条数例如
contour(u,v,z,20)那么它会根据数据的范围画出20条等值线
如果n是一个向量,那么解释为需要等值线的值,例如
contour(u,v,z,[1 2 3 4])会画出z=1,2,3,4四个值的等值线
如果我们要只要画指定的某个值的等值线,我们就用两个相同的数组成向量
contour(u,v,z,[1 1]);画值为1的等值线
contour(u,v,z,[0 0]);画值为0的等值线
hold on x=-3.5:0.2:3.5; y=-3.5:0.5:3.5; [x,y]=meshgrid(x,y); z=x.*exp(-x.^2-y.^2); subplot(1,3,1);contour(z,[-.45:.05:.45]);axis square; subplot(1,3,2);[c,h]=contour(z); %把等高线的数值标上去 clabel(c,h);axis square; %contourf把等高线图填充颜色 subplot(1,3,3);contourf(z);axis square; hold off