I have forgotten

• https://me.yahoo.com
COST (GBP)
5.62
0.50
0

i0

viewed 1881 times and licensed 47 times
Modified Bessel function of the first kind, with order zero and exponential scaling.
Controller: CodeCogs
Contents

C++
Excel

Overview

These function return solutions to the Modified Bessel Function of the first kind with zero order.

The differential equation

is called the modified Bessel's equation of zero order, with the solution known as the modified Bessel function,



where  is the gamma function.

I0 Exp

 doubleI0_exp( double x )
Returns exponentially scaled modified Bessel function of the first kind, with order zero.

The function is defined as .

Accuracy:

<pre> Relative error: arithmetic domain # trials peak rms IEEE 0,30 30000 5.4e-16 1.2e-16 </pre>

References:

Cephes Math Library Release 2.8: June, 2000

Example 1

#include <codecogs/maths/special/bessel/i/i0.h>
#include <stdio.h>

int main()
{
using namespace Maths::Special::Bessel::I;

for(double x=0; x<6; x+=1)
{
double y=I0_exp(x);
printf("\n I0_exp(%.1lf)=%lf", x,y);
}
return 0;
}
Output:
I0_exp(0.0)=1.000000
I0_exp(1.0)=0.465760
I0_exp(2.0)=0.308508
I0_exp(3.0)=0.243000
I0_exp(4.0)=0.207002
I0_exp(5.0)=0.183541

Parameters

 x input argument

Authors

Stephen L. Moshier. Copyright 1984, 1987, 2000
Documentation by Will Bateman (August 2005)
Source Code

Source code is available when you agree to a GP Licence or buy a Commercial Licence.

Not a member, then Register with CodeCogs. Already a Member, then Login.

I0

 doubleI0( double x )[inline]
Returns modified Bessel function of order zero of the argument (v=0).

The function is defined as .

The range is partitioned into the two intervals [0,8] and (8, infinity). Chebyshev polynomial expansions are employed in each interval.

Accuracy:

<pre> Relative error: arithmetic domain # trials peak rms DEC 0,30 6000 8.2e-17 1.9e-17 IEEE 0,30 30000 5.8e-16 1.4e-16 </pre>

Example:

#include <codecogs/maths/special/bessel/i/i0.h>
#include <stdio.h>

int main()
{
using namespace Maths::Special::Bessel::I;

for(double x=0; x<6; x+=1)
{
double y=I0(x);
printf("\n I0(%.1lf)=%lf", x,y);
}
return 0;
}

Output:

I0(0.0)=1.000000
I0(1.0)=1.266066
I0(2.0)=2.279585
I0(3.0)=4.880793
I0(4.0)=11.301922
I0(5.0)=27.239872

References:

Cephes Math Library Release 2.8: June, 2000

Parameters

 x value to be transformed.

Authors

Stephen L. Moshier. Copyright 1984, 1987, 2000
Documentation by Will Bateman (August 2005)
Source Code

Source code is available when you agree to a GP Licence or buy a Commercial Licence.

Not a member, then Register with CodeCogs. Already a Member, then Login.