08-Fortran基础--Fortran内置函数分类总结
0 引言 1 Fortran内置函数 1.1 常用到数学函数 1.2 字符串函数: 1.3 数组函数: 1.4 数值查询函数 1.5 文件操作函数:
2 结语
0 引言
Fortran是一种很古老的编程语言,但它仍然广泛使用于科学计算和数值分析之中。Fortran提供了许多内置函数,用于执行各种数学运算、字符处理和控制流操作。下面是Fortran中常用的内置函数分类及其功能说明。
1 Fortran内置函数
1.1 常用到数学函数
相同函数的扩展没有列出比如cos,dcos,cosh属于同一函数的应用。
内置函数 功能描述 abs(x)
返回x的绝对值 sqrt(x)
返回x的平方根 max(x1,x2,x3,..)
返回给定参数的最大值 min(x1,x2,x3,...)
返回给定参数的最小值 result = MOD(dividend, divisor)
取余数 result = NINT(x)
四舍五入 result = SIGN(a, b)
返回第一个参数的绝对值,并根据第二个参数的符号确定结果的正负性 result = ATAN2D(y, x)
计算两个实数参数的反正切值 exp(x)
返回e的x次幂 log(x)
返回x的自然对数 sin(x)
返回弧度x的正弦值 cos(x)
返回弧度x的余弦值 sind(x)
返回角度x的正弦值 cosd(x)
返回角度x的余弦值 tan(x)
返回x的正切值 atan2(y, x)
返回y/x的反正切值 CEILING(x)
返回大于或等于给定实数的最小整数 CMPLX(real,imag)
创建复数 CONJG(x)
返回复数的共轭 DPORD(arr)
计算双精度浮点数数组中所有元素的乘积 floor(x)
返回小于或等于给定实数的最大整数 ifix(x)
将实数向零方向舍入,并返回与其最接近的整数值
1.2 字符串函数:
内置函数 功能描述 len(str)
返回字符串str的长度 trim(str)
删除字符串str末尾的空格 index(str, substr)
返回字符串substr在str中第一次出现的位置 char(i)
返回ASCII码为i的字符 ichar(str)
返回字符c的ASCII码 ADJUSTL(string)
删除字符串开头的空格 ADJUSTR(string)
删除字符串末尾的空格 ACHAR(i)
返回ASCII码为i的字符 LEN_TRIM (string)
返回去空格的字符串string长度 SCAN (STRING, SET [, BACK])
它返回属于 SET 的 STRING 的最左边(如果 BACK 为 .TRUE,则为最右边)字符的索引,如果不属于 SET,则返回 0。 REPEAT (STRING, NCOPIES)
重复串联 LGE、LGT、LLE、LLT
字符串比较
1.3 数组函数:
内置函数 功能描述 SUM(array)
计算数组元素的和。可选择指定维度dim进行求和,默认情况下对所有元素求和。 MAXVAL(array)
返回数组中的最大值。可选择指定维度dim进行比较,默认情况下对所有元素进行比较。 MINVAL(array)
返回数组中的最小值。可选择指定维度dim进行比较,默认情况下对所有元素进行比较。 PRODUCT(array)
计算数组元素的乘积。可选择指定维度dim进行乘积计算,默认情况下对所有元素进行计算。 MATMUL(array1, array2)
执行两个矩阵的矩阵乘法运算。 TRANSPOSE(array)
返回输入数组的转置矩阵。 RESHAPE(array, shape)
将数组重新构造为指定形状的数组 SIZE(array)
返回数组在指定维度上的大小。如果未指定dim,则返回整个数组的大小。 result = ALL (mask)
判断逻辑数组中的所有元素是否都为真 result = ANY (mask)
判断逻辑数组中的存在元素为真 result = COUNT (mask)
计算数组中具有指定值的元素个数 result = CSHIFT (array,shift)
对字符数组进行循环位移操作 DOT_PRODUCT
两个数组的点积(内积) result = LBOUND (array)
返回一个数组的指定维度的下限(最小索引值) result = MAXLOC (array, dim)
返回数组中最大元素的位置 result = MERGE (tsource,fsource,mask)
根据逻辑条件选择两个数组或标量值中的元素进行合并 result = MINLOC (array)
返回数组中最小元素的位置 result = PACK (array,mask)
根据逻辑条件从数组中选择元素,将选定的元素组合成一个新的数组 result = SPREAD (source,dim,ncopies)
用于将一个数组的元素分散到另一个数组的指定位置上 result = UBOUND (array)
返回数组在指定维度上的上界(最大索引值)
1.4 数值查询函数
内置函数 功能描述 DIGITS (X)
返回数值x的有效位数 EPSILON (X)
返回给定实数类型(浮点型或双精度型)的最小可能精度 HUGE (X)
返回给定类型的最大可能值 MAXEXPONENT
返回给定类型的最大指数 MINEXPONENT (X)
返回给定类型的最小指数 PRECISION (X)
返回实数精度 RANGE (X)
返回给定类型的范围 EXPONENT (X)
返回给定类型的指数部分 FRACTION (X)
返回给定类型的小数部分 SCALE (X, I)
用于对实数进行比例缩放 SPACING (X)
返回给定实数类型(浮点型或双精度型)的最小可表示差 Tiny(x)
返回给定实数类型(浮点型或双精度型)的最小正实数
1.5 文件操作函数:
内置函数 功能描述 open(unit, file, status)
打开一个文件,并将其与逻辑单元unit关联起来。 read(unit, *)data
从文件中读取数据到data中 write(unit, *)data
将数据写到data INQUIRE(unit, [keyword=value, ...])
查村文件状态 close(unit)
关闭文件
2 结语
上面仅列举了一些可能用到的Fortran内置函数及其功能描述,下一节将介绍几个内置函数,并提供相应的运行案例。
🕝 🕝🕝 🕝🕝🕝 🕝🕝🕝🕝 🕝🕝🕝🕝🕝 🕝🕝🕝🕝🕝🕝 🕝🕝🕝🕝🕝🕝🕝