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

Surface Plot in Matlab (Cylindrical Coordinates)

  1. Dec 19, 2007 #1

    Trying to plot in matlab the final solution equation [tex]u(r,z)[/tex] of the steady state temperatures in the circular cylinder

    [tex]u(r,z)[/tex] is defined in cylindrical coordinates and I'm confused trying to understand also how matlab plots a mesh.

    After some simplification The final solution looks like:

    [tex]u(r,z) = u_0 \cdot sinh(\lambda z) \cdot J_0(\lambda r)[/tex]

    and it is defined in



    [tex]\lambda = constant[/tex]

    The solution of the problem is not defined in [tex]\theta[/tex] and most of 3d plot examples I have found yet on the web define a theta vector.

    In matlab a one dimensional linspace vector for r, one for z is defined and later evaluated with sinh() and J0(). The resulting vector are multiplied as sinh().*J0(), to get again a one dimensional vector, all vectors are of the same size, so I suppose the vectors are right.

    Now the question is, is it possible to display [tex]u(x,t)[/tex] as a surface with Matlab? If yes, could anyone give me some kind of tip, hint on how to implement and understand the plot?

    Best Regards and Thank you
    Last edited: Dec 19, 2007
  2. jcsd
  3. Dec 19, 2007 #2

    Dr Transport

    User Avatar
    Science Advisor
    Gold Member

    The solution is indepeendent of [itex] \theta [/itex], so it doesn't matter, I'd set [itex] r = \sqrt{x^2+y^2} [/itex] and plot in 3-d on that grid. Make [itex] x [/itex] and [itex] y[/itex] on a fine enough grid that you can get a bunch of points for a smooth surface.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook