回复: [求助]贝塞尔函数的无穷积分怎么求解?
对于这种积分格式,上限是正无穷,下限是zero,我编了个函数文件,回头你自己把函数的表达式代入就可以了。
function I = IntGaussLager(f,n,AK,XK)
if(n<6 && nargin == 2)
AK = 0;
XK = 0;
else
I=sum(AK.*subs(sym(f),findsym(sym(f)),XK));
end
switch n
case 2,
I=0.853553*subs(sym(f),findsym(sym(f)),-0.585786)+...
0.146447*subs(sym(f),findsym(sym(f)),3.414214);
case 3,
I=0.711093*subs(sym(f),findsym(sym(f)),0.415575)+...
0.278518*subs(sym(f),findsym(sym(f)),2.294280)+...
0.0103893*subs(sym(f),findsym(sym(f)),6.289945);
case 4,
I=0.603154*subs(sym(f),findsym(sym(f)),0.322548)+...
0.357419*subs(sym(f),findsym(sym(f)),1.745761)+...
0.0388879*subs(sym(f),findsym(sym(f)),4.536620)+...
0.000539295*subs(sym(f),findsym(sym(f)),9.395071);
case 5,
I=0.521756*subs(sym(f),findsym(sym(f)),0.263560)+...
0.398667*subs(sym(f),findsym(sym(f)),1.413403)+...
0.0759424*subs(sym(f),findsym(sym(f)),3.596426)+...
0.00361176*subs(sym(f),findsym(sym(f)),7.085810)+...
0.0000233700*subs(sym(f),findsym(sym(f)),12.640801);
end
PS:f是被积函数,n是积分所用的项,AK是积分格式的系数,XK是积分节点的系数,I是积分的结果。
|