Convergence of Laguerre Function
Show older comments
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 Comments
Yu Jiang
on 11 Aug 2014
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
on 11 Aug 2014
Yu Jiang
on 11 Aug 2014
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
on 12 Aug 2014
Accepted Answer
More Answers (1)
Hamdi
on 12 Aug 2014
0 votes
Categories
Find more on Polynomial Creation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!