본문 바로가기
유도항법제어/최적제어

[PSOC-2] 르장드르 다항식 (Legendre Polynomials)

by 세인트 워터멜론 2021. 12. 15.

르장드르 다항식(Legendre polynomials)은 다음 르장드르 미분방정식을 만족하는 다항식 \(P_N (\tau)\) 이다.

 

\[ (1-\tau^2 ) \ddot{P}_N (\tau)-2 \tau \dot{P}_N (\tau)+N(N+1) P_N (\tau)=0, \ \ \ \ N=0, 1, 2, ... \tag{1} \]

 

여기서 독립변수 \(\tau\) 는 \([-1, 1]\) 의 범위를 갖는다. \(P_N (\tau)\) 을 \(N\) 차 르장드르 다항식이라고 한다.

\(N=0\) 일 때의 미분 방정식의 해, 즉 \(0\) 차 르장드르 다항식은 \(P_0 (\tau)=1\) 이고, \(N=1\) 일 때의 해는 \(P_1 (\tau)=\tau\) 이다.

\(N \ge 2\) 일 때는 다음과 같이 재귀(recursion)식으로 르장드르 다항식을 표현할 수 있다.

 

\[ (N+1) P_{N+1} (\tau)=(2N+1) \tau P_N (\tau)-N P_{N-1} (\tau) \tag{2} \]

 

르장드르 다항식은 다음과 같은 직교 특성을 가지고 있다.

 

\[ \int_{-1}^1 P_M (\tau) P_N (\tau) \ d\tau = \frac{2}{2N+1} \delta_{MN} \tag{3} \]

 

여기서 \(\delta_{MN}\) 은 크로넥커 델타(Kronecker delta) 함수로서 \(M=N\) 이면 \(\delta_{MN}=1\) 이고, \(M \ne N\) 이면 \(\delta_{MN}=0\) 이다.

 

 

다음은 르장드르 다항식의 계수를 구하는 매트랩 함수의 코드이다.

 

 

 

function lpoly = LegendrePoly(n)
%
% N-th order Legendre polynomials
% lpoly = LegendrePoly(n)
%
% input: order of Legendre polynomials
% output: polynomial coefficients
%
% coded by St.Watermelon
%
for ii=0:n
    if ii==0
        p{ii+1}=1;
    elseif ii==1
        p{ii+1}=[1 0];
    else
        p{ii+1}=(2*ii-1)/ii*[p{ii} 0]-(ii-1)/ii*[0 0 p{ii-1}];
    end
end
lpoly=p{n+1};

 

댓글