Polinomios de Legendre
Ecuación diferencial | |
---|---|
Fórmula de Rodríguez | |
Relación de recurrencia |
Los primeros polinomios de Legendre son.
Utilizamos la función
>> syms x; >> for n=1:7 legendreP(n,x) end ans =x ans =(3*x^2)/2 - 1/2 ans =(5*x^3)/2 - (3*x)/2 ans =(35*x^4)/8 - (15*x^2)/4 + 3/8 ans =(63*x^5)/8 - (35*x^3)/4 + (15*x)/8 ans =(231*x^6)/16 - (315*x^4)/16 + (105*x^2)/16 - 5/16 ans =(429*x^7)/16 - (693*x^5)/16 + (315*x^3)/16 - (35*x)/16
Mediante del comando
>> syms x; >> n=4; >> P4=diff((x^2-1)^n,n)/(2^n*factorial(n)); >> P4=simplify(P4) P4 =(35*x^4)/8 - (15*x^2)/4 + 3/8 >> n=5; >> P5=diff((x^2-1)^n,n)/(2^n*factorial(n)); >> P5=simplify(P5) P5 =(x*(63*x^4 - 70*x^2 + 15))/8
Definimos la función
function p=legendre_p(n) p1=1; p2=[1,0]; if n==0 p=p1; %P0 elseif n==1 p=p2; %P1 else for i=2:n p=((2*(i-1)+1)*[p2,0]-(i-1)*[0,0,p1])/i; p1=p2; p2=p; end end end
Generamos los polinomios de Legendre y comprobamos sus propiedades, etc. La función
>> syms x; >> P4=poly2sym(legendre_p(4)) P4 =(35*x^4)/8 - (15*x^2)/4 + 3/8 >> P5=poly2sym(legendre_p(5)) P5 =(63*x^5)/8 - (35*x^3)/4 + (15*x)/8
Creamos la función recursiva
function res=legendre_r(n,x) if n==0 res=ones(1,length(x)); elseif n==1 res=x; else res=((2*(n-1)+1)*x.*legendre_r(n-1,x)-(n-1)*legendre_r(n-2,x))/n; end end
Las llamadas a las funciones
>> x=0.5; >> legendre_r(4,x) ans = -0.2891 >> polyval(legendre_p(4),x) ans = -0.2891 >> legendreP(4,x) ans = -0.2891
producen los mismos resultados.
Representamos gráficamente los polinomios de P1(x) a P6(x) empleando el comando
hold on for n=1:6 %f=@(x) polyval(legendre_p(n),x); %f=@(x) legendre_r(n,x); f=@(x) legendreP(n,x); fplot(f,[-1,1]); end xlabel('x') ylabel('P_n(x)') title('Polinomios de Legendre') grid on hold off
Propiedades
En la gráfica vemos que
Comprobamos numéricamente mediante la función
integral que el área bajo Pn(x) es nula, para n>1
Pn(1)=1
Pn(-1)=(-1)n
Si n es impar Pn(x)=-Pn(-x), de modo que Pn(0)=0
>> syms x; >> for n=1:4 int(legendreP(n,x),x,-1,1) end ans =0 ans =0 ans =0 ans =0
Ortogonalidad
>> syms x; >> int(legendreP(3,x)*legendreP(4,x),x,-1,1) ans =0 >> int(legendreP(4,x)*legendreP(4,x),x,-1,1) ans =2/9
Derivadas
>> syms x; >> diff(legendreP(3,x)) ans =(15*x^2)/2 - 3/2 >> 3*legendreP(2,x)+x*diff(legendreP(2,x)) ans =(15*x^2)/2 - 3/2
Aproximación de una función mediante los polinomios de Legendre
Polinomio p(x) de grado N
Un polinomio de grado N se puede expresar como una combinación lineal de N+1 polinomios de Legendre Pn(x), n=0, 1,2...N, utilizando las relaciones de ortogonalidad
Por ejemplo, P2(x) es una función simétrica y f(x)=x3 es una función antisimétrica, entonces
Por ejemplo, P3(x) es una función antisimétrica y f(x)=x2 es una función simétrica, entonces
x3 es una combinación de polinomios de Legendre de índice impar y x2 es una combinación de polinomios de Legendre de índice par
Sea el polinomio, f(x)=8x4-8x2+1=c0P0(x)+c1P1(x)+c2P2(x)+c3P3(x)+c4P4(x)
Elaboramos un script para calcular los coeficientes c0, c1, c2, c3 y c4
syms x; p=[8,0,-8,0,1]; %coeficientes del polinomio pol=poly2sym(p); %polinomio for n=0:length(p)-1 P=poly2sym(legendre_p(n)); c=(2*n+1)*int(pol*P,x,-1,1)/2; %coeficientes disp([n,c]) end
[ 0, -1/15] [ 1, 0] [ 2, -16/21] [ 3, 0] [ 4, 64/35]
Comprobación
>> 64*poly2sym(legendre_p(4))/35-16*poly2sym(legendre_p(2))/21-1/15 ans =8*x^4 - 8*x^2 + 1
Utilizando la función
syms x; p=[8,0,-8,0,1]; %coeficientes del polinomio pol=poly2sym(p); %polinomio for n=0:length(p)-1 c=(2*n+1)*int(pol*legendreP(n,x),x,-1,1)/2; %coeficientes disp([n,c]) end
Comprobación
>> 64*legendreP(4,x)/35-16*legendreP(2,x)/21-1/15 ans =8*x^4 - 8*x^2 + 1
Función f(x)
Aproximamos la función f(x) mediante la serie

Vamos a aproximar la función f(x)=sgn(x) (función signo de MATLAB) de la figura a la combinación lineal de los N+1 primeros polinomios de Legendre
Para calcular cada uno de los coeficientes cn (n=0...N) utilizamos la función
Primero, calculamos los coeficientes cn y después, la aproximación a la función f(x)
N=10; c=zeros(1,N+1); for n=0:N c(n+1)=integral(@(x)sign(x).*legendreP(n,x),-1,1)*(n+1/2); end x=-1:0.02:1; y=zeros(1,length(x)); for n=0:N y=y+c(n+1)*legendreP(n,x); end hold on line([-1,0],[-1,-1]) line([0,1],[1,1]) plot(x,y,'r') hold off xlabel('x') ylabel('f(x)') title('Aproximación mediante polinomios de Legendre') grid on
En color azul se dibuja la función f(x) y en color rojo la aproximación mediante la combinación lineal de los N+1=11 primeros polinomios de Legendre.
Energía potencial
Esta función de f(x) es importante en fisica, se desarrolla en serie de polinomios de Legendre
Comprobación. Tomamos t=0.6.
function legendre_3 hold on t=0.6; f=@(x) 1./sqrt(1-2*x*t+t^2); fplot(f,[0,1]) g=@(x) suma(10,x); fplot(g,[0,1]) hold off grid on xlabel('x') ylabel('f(x)') title('funciones de Legendre') function s= suma(n,x) s=0; for k=0:n s=s+legendreP(k,x)*t^k; end end end
No se distingue la función f(x) del desarrollo en serie tomando únicamente 10 términos

El potencial gravitatorio producido por un elemento diferencial de masa dm de un cuerpo (por ejemplo, la Tierra) en un punto P es inversamente proporcional a la distancia entre dm y P
Polinomios asociados de Legendre
La ecuación diferencial y su solución, los polinomios asociados de Legendre, son
Los primeros polinomios asociados de Legendre son
syms x; for n=0:4 for m=0:n y=(1-x^2)^(m/2)*diff(legendreP(n,x),m); disp([n,m]) y=simplify(y) end end
0 0 y =1 1 0 y =x 1 1 y =(1 - x^2)^(1/2) 2 0 y =(3*x^2)/2 - 1/2 2 1 y =3*x*(1 - x^2)^(1/2) 2 2 y =3 - 3*x^2 3 0 y =(x*(5*x^2 - 3))/2 3 1 y =(1 - x^2)^(1/2)*((15*x^2)/2 - 3/2) 3 2 y =-15*x*(x^2 - 1) 3 3 y =15*(1 - x^2)^(3/2) 4 0 y =(35*x^4)/8 - (15*x^2)/4 + 3/8 4 1 y =(5*x*(1 - x^2)^(1/2)*(7*x^2 - 3))/2 4 2 y =-(x^2 - 1)*((105*x^2)/2 - 15/2) 4 3 y =105*x*(1 - x^2)^(3/2) 4 4 y =105*(x^2 - 1)^2
Relaciones de ortogonalidad
Comprobamos la primera integral. Sea n=3, k=2 y m=2
>> syms x; >> int(45*x*(1-x^2)^2,x,-1,1) ans =0
Comprobamos la segunda integral. Sea n=3 y m=3
>> int(15^2*(1-x^2)^3,x,-1,1) ans =1440/7 >> format rat >> 2*factorial(6)/7 ans = 1440/7
Ejemplos en el curso de Física
La ecuación de Laplace, coordenadas esféricas
Esfera conductora y esfera dieléctrica en un campo eléctrico uniforme
La ecuación de Laplace, varilla y semiesfera cargada
La ecuación de Laplace, anillo y disco cargado
Vibraciones de una cuerda en rotación
La ecuación de Schrödinger en coordenadas esféricas (I)
Potencial de Morse y potencial de Pöschl–Teller
Referencias
Alan Jeffrey, Hui-Hui Dai. Handbook of Mathematical Formulas and Integrals. Elsevier (2008). págs. 310-313