matlab问题~如何在已给出方程的等高线图(contour)中标出peak,hollow和pass?如题,方程式已给出,要求画出该方程的等高线图(contour),并且在图中标出peak(峰值),hollow(最低点)和pass(鞍值)嗯.是在方程式已经给出的情况下,比方说是z=x^2+sin(x+y)*sinx要求画等高线图,然后在图中用个小三角什么的标出peak,hollow和pass这几个
网友回答
>> [x,y,z]=peaks(50);
>> contour(x,y,z,20)
>> hold on
>> minz=min(min(z));
>> [i,j]=find(z==minz);
>> minx=x(i,j);
>> miny=y(i,j);
>> plot(minx,miny,'bo','MarkerFaceColor',[0,0,0],'MarkerSize',12)
上面是做最小值,最大值也是一样的.
将上述的min(min(z))换成max(max(z))即可
至于鞍值,可能得费点尽(但只要你找到那个点.画图不是问题)
修改后大致用能.我只做最小值,最大值等,自己做吧.
>> [x,y]=meshgrid(-pi:0.05:pi);
>> z=x.^2+sin(x+y).*sin(x);
>> [zc,h] = contour(x,y,z,12); clabel(zc,h)
hold on
minz=min(min(z));
[i,j]=find(z==minz);
minx=x(i,j);
miny=y(i,j);
plot(minx,miny,'bv','MarkerFaceColor',[0,0,0],'MarkerSize',10)