经常看到一些例子用matlab画等高线,作出的图是一圈一圈的,但我作出的图不是这个效果,想问一下

这个一圈一圈的等高线是怎么作出的,对数据有要求吗?... 这个一圈一圈的等高线是怎么作出的,对数据有要求吗? 展开
yoursbh
2012-08-13 · TA获得超过675个赞
知道答主
回答量:27
采纳率:0%
帮助的人:42.6万
展开全部
您好,

1.如果您想画某数据的等高线图的话,这组数据必须含有3个变量(意即函数f(x,y,z))。

2.具体执行作等高线图的命令是:contour. 您可以在命令栏(Command Window)中输入"help contour"查询帮助文档,里面含有详细的解释及例子

3.下面是我写的一个简单的例子,您可以直接复制粘贴到您MATLAB的命令窗口中执行,希望能对您有所帮助。
(在这里我将画函数z = (1-x)^2 + 100*(y-x^2)^2 在区间 x =[-2, 1000] 及区间 y = [-1, 1000] 范围内的等高线图像)

x = linspace(-2, 2, 1e3);
y = linspace(-1, 3, 1e3);

% 下面是计算函数+作图指令+一些图形设置
scrsz = get(0,'ScreenSize');
figure('Name', 'PARTIE II. - Exercice 1 : Le contour','NumberTitle','off',...
'Position',[scrsz(3)/2, 40, scrsz(3)/2-20, scrsz(4)/3]);
[x,y]=meshgrid(-2:2e-3:2,-1:2e-3:3);
z = (1-x).^2 + 100.*(y-x.^2).^2;
[c,h]=contour(x,y,z,[0.01,0.1,1,10,100,500,1000]); % 此乃画等高线图指令
h=clabel(c,h);
set(h,'BackgroundColor',[1 1 .6],'Edgecolor',[.7 .7 .7]);
xlabel('X');
ylabel('Y');
title({'La contour de la fonction : $$f(x,y)=(1-x)^2+100(y-x^2)^2$$';...
'sur l''intervalle [-2, 2]x[-1, 3]'},'Interpreter', 'latex','FontSize',12);

很高兴为您解答~
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式