X-Git-Url: http://gitweb.michael.orlitzky.com/?p=octave.git;a=blobdiff_plain;f=legendre_p.m;h=0481d47be73d3af8c660b9a195b3fd4a375d16e2;hp=6238929eb2e4aea13ea1cc1548b82dcc59fdb301;hb=5ef96eb244b2a52886a31fc9873db479f52a6483;hpb=ee06b882dfb9a86788d7057cec8ca6d7680c5ca5 diff --git a/legendre_p.m b/legendre_p.m index 6238929..0481d47 100644 --- a/legendre_p.m +++ b/legendre_p.m @@ -1,11 +1,11 @@ function P = legendre_p(n) - ## Return the nth legendre polynomial. + ## Return the `n`th Legendre polynomial. ## - ## INPUTS: + ## INPUT: ## ## * ``n`` - The index of the polynomial that we want. ## - ## OUTPUTS: + ## OUTPUT: ## ## * ``P`` - A polynomial function of one argument. ## @@ -14,14 +14,14 @@ function P = legendre_p(n) P = NA; elseif (n == 0) ## One of our base cases. - P = @(x) 1 + P = @(x) 1; elseif (n == 1) ## The second base case. - P = @(x) x + P = @(x) x; else - ## Compute recursively. - prev = legendre_p(n-1) - prev_prev = legendre_p(n-2) - P = @(x) (1/n)*( (2*n - 1)*prev(x) - (n-1)*prev_prev(x) ) + ## 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) ); end end