MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [求助]贝塞尔函数的无穷积分怎么求解? (https://www.labfans.com/bbs/showthread.php?t=5358)

ppunix 2008-11-16 21:30

[求助]贝塞尔函数的无穷积分怎么求解?
 
2 个附件
[ATTACH]1303[/ATTACH]
如图,谢谢大家了!!

laosam280 2008-11-17 16:15

回复: [求助]贝塞尔函数的无穷积分怎么求解?
 
对于这种积分格式,上限是正无穷,下限是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是积分的结果。

ppunix 2008-11-18 13:17

回复: [求助]贝塞尔函数的无穷积分怎么求解?
 
[QUOTE=laosam280;20068]对于这种积分格式,上限是正无穷,下限是zero,我编了个函数文件,回头你自己把函数的表达式代入就可以了。

function I = IntGaussLager(f,n,AK,XK)
if(n<6 && nargin == 2)
AK = 0;
XK ...[/QUOTE]

能否具体解释一下!谢谢

ppunix 2008-11-18 16:56

回复: [求助]贝塞尔函数的无穷积分怎么求解?
 
哈哈,原来是用的高斯-拉盖尔公式啊!明白了,试一下啊,谢谢!:tongue:

ppunix 2008-11-20 14:58

回复: [求助]贝塞尔函数的无穷积分怎么求解?
 
不行啊,误差还是很大!


所有时间均为北京时间。现在的时间是 12:31

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.