发布网友
共3个回答
热心网友
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
热心网友
使用contour(x,y,z,n)可以得到n条等高线
热心网友
z = peaks;
[c,h] = contour(z,[-10:2:10]); %每隔2画一条等值线
clabel(c,h) %标注