Matlab做二维等值线图
来源:网络收集 点击: 时间:2024-04-03首先需要三维点位,我们假设有XYZ三维数据一组,下面给出部分数据。

然后将数据拖入到matlab中,在workspace中生成一个n×3的数组。

然后可以先看看数据XY的情况,由于是一系列的点,这里我们使用点来表示
plot(bb(:,1),bb(:,2),b.);
这里用做例子,所以点位排列非常有规律。

接着可以开始坐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为纵向递增或递减。

然后使用griddata命令将zz的值进行插值。
zz = griddata(bb(:,1),bb(:,2),bb(:,3),xx,yy);
这样,我们的数据就都准备好了。

下面使用contour命令进行等值线图制作。简单的命令就是:
contour(xx,yy,zz);
使用的matlab自动默认的插值,并给出几条等值线

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



版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_414018.html