hide long namesshow long names
hide short namesshow short names
Integer type:  int32  int64  nag_int  show int32  show int32  show int64  show int64  show nag_int  show nag_int

PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

NAG Toolbox: nag_specfun_integral_sin (s13ad)

 Contents

    1  Purpose
    2  Syntax
    7  Accuracy
    9  Example

Purpose

nag_specfun_integral_sin (s13ad) returns the value of the sine integral
Six=0xsinuudu,  
via the function name.

Syntax

[result, ifail] = s13ad(x)
[result, ifail] = nag_specfun_integral_sin(x)

Description

nag_specfun_integral_sin (s13ad) calculates an approximate value for Six.
For x16.0 it is based on the Chebyshev expansion
Six=xr=0arTrt,t=2 x16 2-1.  
For 16<x<xhi, where xhi is an implementation-dependent number,
Six=signx π2-fxcosxx-gxsinxx2  
where fx=r=0frTrt and gx=r=0grTrt, t=2 16x 2-1.
For xxhi, Six=12π signx to within machine precision.

References

Abramowitz M and Stegun I A (1972) Handbook of Mathematical Functions (3rd Edition) Dover Publications

Parameters

Compulsory Input Parameters

1:     x – double scalar
The argument x of the function.

Optional Input Parameters

None.

Output Parameters

1:     result – double scalar
The result of the function.
2:     ifail int64int32nag_int scalar
ifail=0 unless the function detects an error (see Error Indicators and Warnings).

Error Indicators and Warnings

There are no failure exits from nag_specfun_integral_sin (s13ad). The argument ifail has been included for consistency with other functions in this chapter.

Accuracy

If δ and ε are the relative errors in the argument and result, respectively, then in principle
ε δ sinx Six .  
The equality may hold if δ is greater than the machine precision (δ due to data errors etc.) but if δ is simply due to round-off in the machine representation, then since the factor relating δ to ε is always less than one, the accuracy will be limited by machine precision.

Further Comments

None.

Example

This example reads values of the argument x from a file, evaluates the function at each value of x and prints the results.
function s13ad_example


fprintf('s13ad example results\n\n');

x = [0:0.2:1];
n = size(x,2);
result = x;

for j=1:n
  [result(j), ifail] = s13ad(x(j));
end

disp('      x          Si(x)');
fprintf('%12.3e%12.3e\n',[x; result]);

s13ad_plot;



function s13ad_plot
x = [-12:0.1:12];
  for j=1:numel(x)
    [si(j), ifail] = s13ad(x(j));
  end

  fig1 = figure;
  plot(x,si);
  xlabel('x');
  ylabel('Si(x)');
  title('Sine Integral Si(x)');
  axis([-12 12 -2 2]);
s13ad example results

      x          Si(x)
   0.000e+00   0.000e+00
   2.000e-01   1.996e-01
   4.000e-01   3.965e-01
   6.000e-01   5.881e-01
   8.000e-01   7.721e-01
   1.000e+00   9.461e-01
s13ad_fig1.png

PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015