1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Homework Help: Need 2D plot of plane wave, cylindrical & spherical wave

  1. Jan 6, 2015 #1
    plane wave is represented as exp (ik.r) and the
    cylindrical wave as 1/sqrt(r) *exp(ik.r) and the
    spherical wave as 1/r*exp(ik.r)

    Have any one tried to plot these waves? How to do it?

    Attempt: in Matlab assuming k=1

    >> x=linspace(-1,1,100);
    >> for(ii=1:100)
    >> [x,fp]=meshgrid(x,fp);
    >> mesh(x,real(fp))

    gave me plane surface that is inclined in the graph however I still need to create Cylindrical wave and spherical wave. I am confused on how to use " r " for cylindrical and spherical wavefronts.
  2. jcsd
  3. Jan 6, 2015 #2


    User Avatar
    Science Advisor
    Homework Helper
    2017 Award

    Hello Allam, welcome to PF :)

    I understand the planar wave expression, ##{\bf k}## and ##{\bf r}## are vectors and the inner product ##{\bf k}\cdot{\bf r}## makes it a planar wave.
    What you then render seems one-dimensional to me (not familiar with matlab :( ), k has disappeared (probably ok: k = 1,0,0 or so).

    ##i## in Matlab ? is ##i^2 = -1## ?

    Is 1/sqrt(r) *exp(ik.r) really the expression for a cylindrical wave (yes, Bessel function for large ##|{\bf r}|## -- you confused me because I read it as ##{\bf k}\cdot{\bf r}## again, but you mean ## kr##)
    You could render this similarly one-dimensionally along a ray. Same for the spherical guy.

    I suppose you did google planar wave images and cylindrical wave images already ? All struggle with the problem that you need too many dimensions if you want a full picture.
  4. Jan 6, 2015 #3
    I assumed k=1 and ignored the time dependence.
    By the By k is not vector it is scalar and it is exp(ik(n.r)) where n is unit normal vector to r

    Iam interested in the variation of amplitude in the space. I have developed Matlab code for plotting and in the plot from the color code one can see that amplitude planewave.png sphericalwave.png cylindricalwave.png varies differently for different waves.
  5. Jan 6, 2015 #4


    User Avatar
    Science Advisor
    Homework Helper
    2017 Award

    Strange. Amplitude for planar wave should be a constant.
    Looking at the matlab code, I suppose the plot shows the real part only.

    And if ## {\bf n} \perp {\bf r} ##, then ##{\bf n} \cdot {\bf r} = 0##.

    I wonder what I see in the pictures. Top one shows about 4.5 periods of a plane wave in the horizontal direction. Vertically ?
    Lower two pics ?
  6. Jan 6, 2015 #5
    True , Thank You for correcting me in that n is parallel to r. n is unit vector in the direction of propagation and r is the position vector. I have written another matlab code which goes like this for plane wave generation:
    for j=1:100
    All the 3 pictures show propagation horizontally. In the first one as you rightly said there are 4.5 periods and beam does not diverge.it carries forward its intensity which is constant. In the second and the third the spherical and the cylindrical diverge and intensity diminishes rapidly in case of spherical than cylindrical. the plot actually gives the intensity information and not amplitude.since intensity is square(amplitude). it goes in line. Yeah!! In matlab "i" means imaginary number of value sqrt(-1).
  7. Jan 6, 2015 #6
    please be informed its not the intensity!!! i guess it is just the real part of complex amplitude !!
  8. Jan 7, 2015 #7


    User Avatar
    Science Advisor
    Homework Helper
    2017 Award

    This doesn't look good, unless you actually mean a planar wave with a k vector (1,1,0). And you are plotting the real part of the wave function along the line x=y anyway, so it shouldn't give a different picture ?
  9. Jan 7, 2015 #8
    yes !! iam plotting along x=y only. i can choose any values of x and y however i need to ensure that they contain same number of elements for matlab computation.
    remember it is actually dot product of (x i +y j) and (i +j) that is giving me x +y that is why it is looking like pw(j)=exp(i*(x(j)+y(j)));
    I need to understand some more fundamentals (maths related) before taking up this plotting work. kindly forward me some notes if you have on this topic. your active participation is appreciated. Thank You.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted