1、首先需要三维点位,我们假设有XYZ三维数据一组,下面给出部分数据。
2、然后将数据拖入到matlab中,在workspace中生成一个n×3的数组。
3、然后可以先看看数据XY的情况,由于是一系列的点,这里我们使用点来表示plot(bb(:,1),bb(:,2),'b.');这里用做例子,所以点位排列非常有规律。
4、接着可以开始坐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为纵向递增或递减。
5、然后使用griddata命令将zz的值进行插值。zz = griddata(bb(:,1),bb(:,2),bb(:,3),xx,yy);这样,我们的数据就都准备好了。
6、下面使用contour命令进行等值线图制作。简单的命令就是:contour(xx,yy,zz);使用的matlab自动默认的插值,并给出几条等值线
7、当然可以指定等值线的数量。contour猾诮沓靥(xx,yy,zz,20);也可以使用contourf命令进行等值线内部填充:contourf(xx,yy,zz,20);当然也可以删除填蓓豆咛萱充后的等值线:contourf(xx,yy,zz,20,'lines','no');