matlab里面画等高线时如果没有取值范围,该怎么做
1个回答
推荐于2016-02-06
展开全部
Q0=0:0.01:2*pi;
r0=0:0.1:10;
Q=repmat(Q0,length(r0),1);
r=repmat(r0',1,length(Q0));
x=r.*cos(Q);
y=r.*sin(Q);
z=x.*x+y.*y;
%以上是任意的构造了一个二元函数,下面做它的等高线
%做等高线一般先取到z的最大值和最小值,两者之差除以你想做的等高线条数,便得到你想要的两条线之间的差距
zmax=max(max(z));
zmin=min(min(z));
%这里取15条,你自己随便取,你想要两线距离一定的话,就可以直接是n0=?
%不过你看下面语句便知no应被(zmax-zmin)整除,才能把z最大值和最小值时的等高线也画上去
n0=(zmax-zmin)/15;
for nn0=zmin:n0:zmax
[cs,h]=contour(x,y,z,nn0);%做等高线
clabel(cs,h,'fontsize',7,'color','k');
hold on;
end
r0=0:0.1:10;
Q=repmat(Q0,length(r0),1);
r=repmat(r0',1,length(Q0));
x=r.*cos(Q);
y=r.*sin(Q);
z=x.*x+y.*y;
%以上是任意的构造了一个二元函数,下面做它的等高线
%做等高线一般先取到z的最大值和最小值,两者之差除以你想做的等高线条数,便得到你想要的两条线之间的差距
zmax=max(max(z));
zmin=min(min(z));
%这里取15条,你自己随便取,你想要两线距离一定的话,就可以直接是n0=?
%不过你看下面语句便知no应被(zmax-zmin)整除,才能把z最大值和最小值时的等高线也画上去
n0=(zmax-zmin)/15;
for nn0=zmin:n0:zmax
[cs,h]=contour(x,y,z,nn0);%做等高线
clabel(cs,h,'fontsize',7,'color','k');
hold on;
end
追问
谢谢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询