Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Matlab contour plot

Tags:
  1. Jun 4, 2014 #1

    joshmccraney

    User Avatar
    Gold Member

    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!
     
  2. jcsd
  3. Jun 5, 2014 #2

    kreil

    User Avatar
    Gold Member

    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 (Text):

    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.
     

    Attached Files:

  4. Jun 6, 2014 #3

    joshmccraney

    User Avatar
    Gold Member

    Hey thanks!! I really appreciate it!
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook