经常看到一些例子用matlab画等高线,作出的图是一圈一圈的,但我作出的图不是这个效果,想问一下
1个回答
展开全部
您好,
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);
很高兴为您解答~
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);
很高兴为您解答~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询