I have forgotten

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

I1

Modified Bessel function of the first kind, with order one and exponential scaling.
Controller: CodeCogs
Contents

C++
Excel

Overview

Return a solution to the Modified Bessel Function of the first kind with order one.

The differential equation

is called the modified Bessel's equation of order one, with the solution known as the modified Bessel function, with two fundamental solutions:  and , where



where  is the gamma function.

I1 Exp

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

The function is defined as .

See aslo Maths/Special/Bessel/I/I

Accuracy:

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

References:

Cephes Math Library Release 2.8: June, 2000

Example 1

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

int main()
{
using namespace Maths::Special::Bessel::I;
for(double x=0; x<6; x+=1)
{
double y=I1_exp(x);
printf("\n I1_exp(%.1lf)=%lf", x,y);
}
return 0;
}
Output:
I1_exp(0.0)=0.000000
I1_exp(1.0)=0.207910
I1_exp(2.0)=0.215269
I1_exp(3.0)=0.196827
I1_exp(4.0)=0.178751
I1_exp(5.0)=0.163972

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.

I1

 doubleI1( double x )[inline]
Returns modified Bessel function of the first kind, with order one (v=1).

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 3400 1.2e-16 2.3e-17 IEEE 0, 30 30000 1.9e-15 2.1e-16</pre>

References:

Cephes Math Library Release 2.8: June, 2000

Example 2

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

int main()
{
for(double x=0; x<6; x+=1)
{
double y=Maths::Special::Bessel::I::I1(x);
printf("\n I1(%.1lf)=%lf", x,y);
}
return 0;
}
Output:
I1(0.0)=0.000000
I1(1.0)=0.565159
I1(2.0)=1.590637
I1(3.0)=3.953370
I1(4.0)=9.759465
I1(5.0)=24.335642

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.