设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1453|回复: 1

matlab画等高线图( z = f(x,y) )

[复制链接]

19

主题

162

金钱

253

积分

入门用户

发表于 2019-9-11 15:14:14 | 显示全部楼层 |阅读模式

步骤:
1、产生独立变量,为带有两个变量 x 和 y 的集合,meshgrid是一个可以建立独立变量的函数,产生矩阵元素,元素x和y按照指定的范围和增量来产生。
2、输入要使用的函数;
3、调用contour(x,y,z)命令。

例如为z = x2+y2作等高线图:
[x,y] = meshgrid(-5:0.1:5, -3:0.1:3);
z = x.^2 + y.^2;
contour(x,y,z);

但应该为其添加更多引用标签信息,可以使用set命令来实现:
[C,h] = contour(x,y,z);
set(h, 'ShowText', 'on', 'TextStep', get(h,'LevelStep')*2);

例如为z = cos(x)*sin(y)作等高线图:
z = cos(x).*sin(y);
[C,h] = contour(x,y,z);
set(h, 'ShowText','on','TextStep',get(h,'LevelStep')*2);

我们还可以调用contour3命令把等高线画成三维的,如果调用contour3(z,n),那么将产生有n个级别的等高线,
例如接着上面的函数继续调用 contour3(z,10); 可产生更复杂的三维图像。

例如为z = ye-(x2+y2)作等高线图,-2≤x,y≤2:
[x,y] = meshgrid(-2:0.1:2);
z = y.*exp(-x.^2-y.^2);
contour(x,y,z),xlabel('x'),ylabel('y');
下面要产生三维等高线图,可输入contour3(x,y,z,30);
也可以添加surface命令,将图像装饰漂亮点:
surface(x,y,z,'EdgeColor',[.8,.8,.8],'FaceColor','none'), grid off, view(-15,20)
最终可产生如下图像:
1.png

224

主题

2万

金钱

3万

积分

专家用户

发表于 2019-9-11 15:43:36 | 显示全部楼层
谢谢分享
大道无痕……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表