Plot contours at a level I wish
Infos
Cette question est clôturée. Rouvrir pour modifier ou répondre.
Afficher commentaires plus anciens
All,
I have the following code:
close all
clc
N=linspace(10,110,40);
P=linspace(10,70,40);
[N,P]=meshgrid(N,P);
a=0.4;
b=0.01;
c=0.005;
d=0.3;
d/c
a/b
H=c*N-d*log(N)-a*log(P)+b*P;
f=mesh(N,P,H);
set(f,'EdgeAlpha',0.6)
hold on
contour3(N,P,H,[-2,-1.99,-1.98,-1.97,-1.96]);
contour(N,P,H,[-2,-1.99,-1.98,-1.97,-1.96]);
box on
xlabel('N-axis')
ylabel('P-axis')
rotate3d
commandwindow
I'd like to set the second set of contours at the bottom of the plot, at z=-2.5. Can someone show me how to do that?
Thanks
D.
Réponses (2)
Teja Muppirala
le 15 Mai 2012
Here's one idea.
First change this line:
contour(N,P,H,[-2,-1.99,-1.98,-1.97,-1.96]);
to this (in order to get the handle of the contour object):
[~,h] = contour(N,P,H,[-2,-1.99,-1.98,-1.97,-1.96]);
And add this at the end: (to process each contour in series)
kids = get(h,'children');
set(gca,'zlimmode','manual');
for n = 1:numel(kids)
set(kids(n),'zdata', min(zlim)+zeros(size(get(kids(n),'ydata'))))
end
David Arnold
le 15 Mai 2012
Cette question est clôturée.
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!