Convergence of Laguerre Function
이전 댓글 표시
Hi, I need calculate the lagauerre function defined by :
fi(x)=exp(-x/2)* Li(x) for various order i when Li(x) is the Laguerre polynomials ( http://mathworld.wolfram.com/LaguerrePolynomial.html ) given by the following function:
function L = Funlaguerre(n,x)
sum= 0;
for i=0:n
sum = sum + ((i^(-1)* (factorial(n)/(factoria(l(n-i) * factorial(i) * factorial(i))).*x^k));
end
L= sum;
end
According to the theory , Laguerre function must converge to 0 when the order of the Laguerre polynomial is high. I calculate the laguerre function based on the following parameters
Tf= 1e-007;
M=101;
delta_t=Tf/100;
T=0:delta_t:(M-1)*delta_t;
S=10^9; % scaling Factor
lag=60; % order of Laguerre polynomial
for n=0:lag
for t=1:M
F(n+1,t)=exp(-s*T(t)/2)* Funlaguerre (n,s*T(t));
end
end
I obtain correct results for the order : [1…30] . But, when the order becomes more than 30, the laguerre function diverges as seen in the attached curves. i don't understand why the function diverges? best regards


%
댓글 수: 4
Yu Jiang
2014년 8월 11일
Hi Hamdi
For high order polynomials with large x, the accuracy might not be well preserved.
By the way, do you see any error messages? I am also curious about what are the expected results you would like to see?
-Yu
Hamdi
2014년 8월 11일
Yu Jiang
2014년 8월 11일
Hi Hamdi
For s=10^9, x will go to s*(M-1)*delta_t = 100. It seems to be a large number if you take 100^40. I tried your code with s=10^8 and no longer observe any divergence.
-Yu
Hamdi
2014년 8월 12일
채택된 답변
추가 답변 (1개)
카테고리
도움말 센터 및 File Exchange에서 Polynomial Creation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!