Info
This question is closed. Reopen it to edit or answer.
Plot contours at a level I wish
1 view (last 30 days)
Show older comments
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.
0 Comments
Answers (2)
Teja Muppirala
on 15 May 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
0 Comments
This question is closed.
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!