Matlab做二维等值线图
这里给大家一个,如何使用matlab做出等值线图。
操作方法
- 01
首先需要三维点位,我们假设有XYZ三维数据一组,下面给出部分数据。
- 02
然后将数据拖入到matlab中,在workspace中生成一个n×3的数组。
- 03
然后可以先看看数据XY的情况,由于是一系列的点,这里我们使用点来表示 plot(bb(:,1),bb(:,2),'b.'); 这里用做例子,所以点位排列非常有规律。
- 04
接着可以开始坐XY的范围,并对XY进行插值,根据点位的多少,不要插值太稀或太密。这里使用linspace命令. xx = linspace(min(bb(:,1)),max(bb(:,1)),54);>> yy = linspace(min(bb(:,2)),max(bb(:,2)),48);>> yy = yy';>> for jj = 1:48xx(jj,:) = xx(1,:);end>> for jj = 1:54yy(:,jj) = yy(:,1);end 其中xx为横向递增或递减,yy为纵向递增或递减。
- 05
然后使用griddata命令将zz的值进行插值。 zz = griddata(bb(:,1),bb(:,2),bb(:,3),xx,yy); 这样,我们的数据就都准备好了。
- 06
下面使用contour命令进行等值线图制作。简单的命令就是: contour(xx,yy,zz); 使用的matlab自动默认的插值,并给出几条等值线
- 07
当然可以指定等值线的数量。 contour(xx,yy,zz,20); 也可以使用contourf命令进行等值线内部填充: contourf(xx,yy,zz,20); 当然也可以删除填充后的等值线: contourf(xx,yy,zz,20,'lines','no');
赞 (0)