bessi.cpp
来自「工程算法 这是一个很有用的工程数值算法集锦」· C++ 代码 · 共 32 行
CPP
32 行
double bessi(int n, double x)
{
int j,m;
double iacc,bigno,bigni,tox,bip,bi,temp;
double bim;
iacc = 40;
bigno = 10000000000.0;
bigni = 0.0000000001;
if (n < 2)cout<<"bad argument n in bessi";
tox = 2.0 / x;
bip = 0.0;
bi = 1.0;
temp = 0.0;
m = 2 * ((n + int(sqrt(iacc * n))));
for( j = m;j>=1;j--)
{
bim = bip + j * tox * bi;
bip = bi;
bi = bim;
if (fabs(bi) > bigno)
{
temp = temp * bigni;
bi = bi * bigni;
bip = bip * bigni;
}
if( j == n) temp = bip;
}
temp = temp * bessi0(x) / bi;
return temp;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?