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: Expansion of a plane wave in spherical waves

  1. Aug 1, 2008 #1
    I have to expand a plane wave in spherical waves by using

    [tex]e^{i\vec{k}\cdot\vec{r}}=\sum_{n=0}^{\infty}i^n (2n+1)P_n(cos \theta) j_n(kr)[/tex]

    I wrote a matlab code (pasted below) in order to check this by plotting the two sides of the eq above. The graphs are similar but different. I do not know what is wrong with this .... I suppose there are some missing coefficients somewhere....????

    clear all;
    close all;


    x=linspace(-1, 1, 100);


    ASSOCLEG=legendre(order, x(ii));
    F_approx(ii)=F_approx(ii)+i^order*(2*order+1)*besselj(order, abs(kr))*ASSOCLEG(1);

    plot(x, real(F_plane), 'or', x, imag(F_plane), 'ob', x, real(F_approx), '-r', x, imag(F_approx), '-b')
    Last edited: Aug 1, 2008
  2. jcsd
  3. Aug 21, 2008 #2
    I have the same problem, does anyone what is missing here?
  4. Aug 21, 2008 #3


    User Avatar

    Staff: Mentor

    Is this for school or for work? I can move the thread to the Homework Help forums if its homework/coursework.
  5. Aug 21, 2008 #4
    This is for school
    Last edited: Aug 21, 2008
  6. Aug 22, 2008 #5
    I figured out that the problem is that in your code you are using besselj in matlab which is ordinary bessel function of first kind (J_n). You should have used spherical bessel functions j_n instead in this expansion.

    The spherical Bessel functions j_n are given in terms of ordinary Bessel functions J_n by:

    j_n(x) = sqrt(pi/(2*x)) J_{n+1/2}(x)

    This would solve it
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook