Matlab contour plot

  • #1
joshmccraney
Gold Member
1,957
102
hey pf!

i am trying to plot a contour (topographic) graph the following ##f(x,y) = \frac{1}{x^2+y^2} e^{x-(x^2+y^2)^{.5}}## where ##f(x,y) = k## where ##k = .001## and doubles in size for about 8 iterations. my attempt is here:

x=-3:0.25:3;
y=-3:0.25:3; z=.25:.25:1;
[X,Y]=meshgrid(x,y);
Z=1./(X.^2+Y.^2).*exp(X-(X.^2+Y.^2));
surfc(X,Y,Z); xlabel('x'); ylabel('y'); zlabel('z')

can someone please help me out?

thanks!
 

Answers and Replies

  • #2
kreil
Insights Author
Gold Member
668
67
A solid first shot. I would probably use contour3 instead of surfc (unless you need the surface more than the contour lines). Also, you don't use k at all in your code even though you're trying to solve f(x,y) = k for several values of k.

Try this out:
Code:
k = 1e-3;
figure;
hold on
[X,Y]=meshgrid(-3:0.1:3);
for n = 1:8
    k = k*2^(n-1);
    Z = 1./(X.^2+Y.^2).*exp(X-sqrt(X.^2+Y.^2))-k;
    contour3(X,Y,Z)
end
You get a plot like the one attached. This might need more tweaking but should be closer to what you're looking for.
 

Attachments

  • #3
joshmccraney
Gold Member
1,957
102
Hey thanks!! I really appreciate it!
 

Related Threads on Matlab contour plot

  • Last Post
Replies
1
Views
1K
  • Last Post
Replies
0
Views
7K
Replies
0
Views
3K
Replies
3
Views
4K
  • Last Post
Replies
6
Views
1K
  • Last Post
Replies
4
Views
713
  • Last Post
Replies
1
Views
3K
  • Last Post
Replies
0
Views
12K
Top