多语言展示
当前在线:817今日阅读:23今日分享:31

Matlab做二维等值线图

这里给大家一个经验,如何使用matlab做出等值线图。
工具/原料

Matlab

方法/步骤
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);这样,我们的数据就都准备好了。

7

当然可以指定等值线的数量。contour(xx,yy,zz,20);也可以使用contourf命令进行等值线内部填充:contourf(xx,yy,zz,20);当然也可以删除填充后的等值线:contourf(xx,yy,zz,20,'lines','no');

推荐信息