************80
! NCO_ABSCISSAS computes the Newton Cotes Open abscissas.
Discussion:
The interval is [ -1, 1 ].
The abscissas are the equally spaced points between -1 and 1,
not including the endpoints.
Licensing:
This code is distributed under the GNU LGPL license.
Modified:
29 December 2007
Author:
John Burkardt
Parameters:
Input, integer ( kind = 4 ) N, the order of the rule.
Output, real ( kind = 8 ) X(N), the abscissas.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=4) | :: | n | ||||
real(kind=8) | :: | x(n) |
subroutine nco_abscissas ( n, x ) !*****************************************************************************80 ! !! NCO_ABSCISSAS computes the Newton Cotes Open abscissas. ! ! Discussion: ! ! The interval is [ -1, 1 ]. ! ! The abscissas are the equally spaced points between -1 and 1, ! not including the endpoints. ! ! Licensing: ! ! This code is distributed under the GNU LGPL license. ! ! Modified: ! ! 29 December 2007 ! ! Author: ! ! John Burkardt ! ! Parameters: ! ! Input, integer ( kind = 4 ) N, the order of the rule. ! ! Output, real ( kind = 8 ) X(N), the abscissas. ! implicit none integer ( kind = 4 ) n integer ( kind = 4 ) i real ( kind = 8 ) x(n) if ( n < 1 ) then write ( *, '(a)' ) ' ' write ( *, '(a)' ) 'NCO_ABSCISSAS - Fatal error!' write ( *, '(a)' ) ' N < 1.' stop end if do i = 1, n x(i) = ( real ( n - i + 1, kind = 8 ) * ( -1.0D+00 ) & + real ( i, kind = 8 ) * ( +1.0D+00 ) ) & / real ( n + 1, kind = 8 ) end do return end subroutine nco_abscissas