function P = legendre_p(n)
- ## Return the `n`th Legendre polynomial.
- ##
- ## INPUT:
- ##
- ## * ``n`` - The index of the polynomial that we want.
- ##
- ## OUTPUT:
- ##
- ## * ``P`` - A polynomial function of one argument.
- ##
+ % Return the `n`th Legendre polynomial.
+ %
+ % INPUT:
+ %
+ % * ``n`` - The index of the polynomial that we want.
+ %
+ % OUTPUT:
+ %
+ % * ``P`` - A polynomial function of one argument.
+ %
if (n < 0)
- ## Can't do anything here. Return nothing.
+ % Can't do anything here. Return nothing.
P = NA;
elseif (n == 0)
- ## One of our base cases.
+ % One of our base cases.
P = @(x) 1;
elseif (n == 1)
- ## The second base case.
+ % The second base case.
P = @(x) x;
else
- ## Not one of the base cases, so use the recursive formula.
+ % Not one of the base cases, so use the recursive formula.
prev = legendre_p(n-1);
prev_prev = legendre_p(n-2);
P = @(x) (1/n).*( (2*n - 1).*x.*prev(x) - (n-1).*prev_prev(x) );