Fortran 90 数学関数
y = abs(a)
integer,intent(in) :: a
intger :: y = |a|
real,intent(in) :: a
real :: y = |a|
complex,intent(in) :: a
real :: y = sqrt( real(a)**2 + aimag(a)**2 )
acos, asin, atan, atan2
acos :
逆余弦(arccos)を計算する
asin :
逆正弦(arcsin)を計算する
atan :
逆正接(arctan)を計算する
atan2:
逆正接(arctan)を計算する
y = acos(x)
real,intent(in) :: x ! -1 <= x <= 1
real :: y ! 0 <= y <= π
y = asin(x)
real,intent(in) :: x ! -1 <= x <= 1
real :: y ! -π/2 <= y <= π/2
y = atan(x)
real,intent(in) :: x
real :: y ! -π/2 <= y <= π/2
z = atan2(y,x)
real,intent(in) :: x, y
real :: z ! -π <= y <= π
= atan(y/x) (x > 0)
cos, sin, tan
cos:
余弦を計算する
sin:
正弦を計算する
tan:
正接を計算する
y = cos(x)
real,intent(in) :: x
real :: y ! -1 <= y <= 1
y = sin(x)
real,intent(in) :: x
real :: y ! -1 <= y <= 1
y = sin(x)
real,intent(in) :: x
real :: y
cosh, sinh, tanh
cosh:
双曲線余弦を計算する
sinh:
双曲線正弦を計算する
tanh:
双曲線正接を計算する
y = cosh(x)
real,intent(in) :: x
real :: y
y = sinh(x)
real,intent(in) :: x
real :: y
y = tanh(x)
real,intent(in) :: x
real :: y
exp
指数関数値を計算する
y = exp(x)
real,intent(in) :: x
real :: y ! 0 < y
complex.intent(in) :: x
real :: y ! 0 < y
log
自然対数を計算する
y = log(x)
real,intent(in) :: x ! 0 < x
real :: y
complex.intent(in) :: x ! /= (0,0)
real :: y
log10
常用対数を計算する
y = log10(x)
real,intent(in) :: x ! 0 < x
real :: y
mod, modulo
mod :
余りを求める
modulo:
剰余を求める
z = mod(a, p)
integer,intent(in) :: a, p
integer :: z = a - int(a/p)*p
real,intent(in) :: a, p
real :: z = a - int(a/p)*p
z = modulo(a,p)
integer,intent(in) :: a, p
integer :: z = a - floor(a/p)*p
real,intent(in) :: a, p
real :: z = a - floor(a/p)*p
y
が正の時はmod(a,p)=modulo(a,p)
負の時は等しくない
sqrt
平方根を計算する
y = sqrt(x)
real,intent(in) :: x ! 0 < x
real :: y
complex,intent(in) :: x
complex :: y
back