Manual Reference Pages  - sind (3fortran)

NAME

SIND(3) - [MATHEMATICS:TRIGONOMETRIC] Degree sine function

SYNOPSIS

result = sind(x)

         elemental real(kind=KIND) function sind(x)

real(kind=KIND) :: x

CHARACTERISTICS

o X may be any real type
o KIND may be any kind supported by the associated real type of X.
o The returned value will be of the same type and kind as the argument X.

DESCRIPTION

SIND(3) computes the sine of an angle given the size of the angle in degrees.

The sine of an angle in a right-angled triangle is the ratio of the length of the side opposite the given angle divided by the length of the hypotenuse.

OPTIONS

o X : The angle in degrees to compute the sine of.

RESULT

The return value contains the processor-dependent approximation of the sine of X, which is regarded as a value in degrees.

EXAMPLES

sind(180.0) has the value 0.0 (approximately).

Sample program:

    program sample_sind
    implicit none
       write(*,*)’sind(0.0)=’,sind(0.0)
       write(*,*)’sind(45.0)=’,sind(45.0)
       write(*,*)’sind(90.0)=’,sind(90.0)
       write(*,*)’sind(180.0)=’,sind(180.0)
       write(*,*)’sind(270.0)=’,sind(270.0)
       write(*,*)’sind(720.0)=’,sind(720.0)
       write(*,*)’sind(-720.0d0)=’,sind(-720.0d0)
    end program sample_sind

Extended Example

Haversine Formula

From the article on "Haversine formula" in Wikipedia:

       The haversine formula is an equation important in navigation,
       giving great-circle distances between two points on a sphere from
       their longitudes and latitudes.

So to show the great-circle distance between the Nashville International Airport (BNA) in TN, USA, and the Los Angeles International Airport (LAX) in CA, USA you would start with their latitude and longitude, commonly given as

      BNA: N 36 degrees 7.2’,   W 86 degrees 40.2’
      LAX: N 33 degrees 56.4’,  W 118 degrees 24.0’

which converted to floating-point values in degrees is:
o BNA latitude=36.12, longitude=-86.67
o LAX latitude=33.94, longitude=-118.40

And then use the haversine formula to roughly calculate the distance along the surface of the Earth between the locations:

Sample program:

    program demo_sin
    implicit none
    real :: d
        d = haversine(36.12,-86.67, 33.94,-118.40) ! BNA to LAX
        print ’(A,F9.4,A)’, ’distance: ’,d,’ km’
    contains
    function haversine(latA,lonA,latB,lonB) result (dist)
    !
    ! calculate great circle distance in kilometers
    ! given latitude and longitude in degrees
    !
    real,intent(in) :: latA,lonA,latB,lonB
    real :: a,c,dist,delta_lat,delta_lon,lat1,lat2
    real,parameter :: radius = 6371 ! mean earth radius in kilometers,
    ! recommended by the International Union of Geodesy and Geophysics

delta_lat = latB-latA delta_lon = lonB-lonA lat1 = latA lat2 = latB a = (sind(delta_lat/2))**2 + & & cosd(lat1)*cosd(lat2)*(sind(delta_lon/2))**2 c = 2*asin(sqrt(a)) dist = radius*c end function haversine end program demo_sin

Results:

     > distance: 2886.4446 km

STANDARD

Fortran 2023

SEE ALSO

ASIN(3), COS(3), TAN(3), ACOSH(3), ACOS(3), ASINH(3), ATAN2(3), ATANH(3), ACOSH(3), ASINH(3), ATANH(3)

RESOURCES

o Wikipedia:sine and cosine
Fortran intrinsic descriptions (license: MIT) @urbanjost


Nemo Release 3.1 sind (3fortran) November 02, 2024
Generated by manServer 1.08 from 81cd426d-3d69-4b7e-b299-57329f537c35 using man macros.