08-Fortran基础--Fortran内置函数分类总结
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内置函数及其功能描述,下一节将介绍几个内置函数,并提供相应的运行案例。
🕝
🕝🕝
🕝🕝🕝
🕝🕝🕝🕝
🕝🕝🕝🕝🕝
🕝🕝🕝🕝🕝🕝
🕝🕝🕝🕝🕝🕝🕝