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;
    clc;

    kr=0.1*i+6;

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

    for(ii=1:100)
    F_plane(ii)=exp(i*abs(kr)*x(ii));
    end

    for(ii=1:100)
    F_approx(ii)=0;
    for(order=0:150)
    ASSOCLEG=legendre(order, x(ii));
    F_approx(ii)=F_approx(ii)+i^order*(2*order+1)*besselj(order, abs(kr))*ASSOCLEG(1);
    end
    end

    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

    berkeman

    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