Fortran内函数
2018-12-12 14:24 更新
征函数是被提供作为Fortran语言的一部分的一些常见和重要的功能。我们的阵列,字符和字符串的章节已经讨论其中的一些功能。
本征函数可以被归类为:
- 数值函数
- 数学函数
- 数字查询函数
- 浮点操作函数
- 位操作功能
- 字符函数
- 种类函数
- 逻辑函数
- 阵列功能。
我们在阵列章节讨论的阵列功能。在下面的部分,我们提供的其他类别所有这些功能的简要说明。
在功能名称列,
- A代表任何类型的数值变量
- R代表真实或整数变量
- X和Y代表实际变量
- Z表示复变
- W代表真实的或复杂的变量
数值函数
功能 | 描述 |
---|---|
ABS(A) | 它返回一个绝对值 |
AIMAG(Z) | 它返回一个复杂的数Z的虚部 |
AINT(A [,KIND]) | 它截断的小数部分趋向于零,返回一个真正的,整数。 |
ANINT(A [,KIND]) | 它返回一个真正的价值,最近的整数或整数。 |
CEILING(A [,KIND]) | 它返回最小整数大于或等于号A. |
CMPLX(X [,Y,KIND]) | 它转换成真正的变量X和Y以复数X + IY;如果Y不存在,则使用0。 |
CONJG(Z) | 它返回任何复数Z的复共轭 |
DBLE(A) | 把一路为双精度实数。 |
DIM(X,Y) | 它返回X和Y的正差 |
DPROD(X,Y) | 它返回X和Y的双精度真实的产品 |
FLOOR(A [,KIND]) | 它提供了小于或等于数A的最大整数 |
INT(A [,KIND]) | 将其转换为数字(真实或整数)为整数,朝零截断的实部。 |
MAX(A1,A2 [,A3,...]) | 它返回从参数的最大值,一切存在相同类型。 |
MIN(A1,A2 [,A3,...]) | 它返回从参数的最小值,都存在相同类型。 |
MOD(A,P) | 它被P返回A的剩余部分上师,这两个参数是相同类型的(A-INT(A / P)×P) |
MODULO(A,P) | 它返回一个模p:(A楼(A / P)×P) |
NINT(A [,KIND]) | 它返回一个数字的最接近的整数 |
REAL(A [,KIND]) | 将其转换为真正的类型 |
SIGN(A,B) | 它返回一个乘以P的标志的绝对值基本上它传输的B标志的为A. |
例
program numericFunctions implicit none ! define constants ! define variables real :: a, b complex :: z ! values for a, b a = 15.2345 b = -20.7689 write(*,*) 'abs(a): ',abs(a),' abs(b): ',abs(b) write(*,*) 'aint(a): ',aint(a),' aint(b): ',aint(b) write(*,*) 'ceiling(a): ',ceiling(a),' ceiling(b): ',ceiling(b) write(*,*) 'floor(a): ',floor(a),' floor(b): ',floor(b) z = cmplx(a, b) write(*,*) 'z: ',z end program numericFunctions
当你编译和执行上面的程序,它会产生以下结果:
abs(a): 15.2344999 abs(b): 20.7688999 aint(a): 15.0000000 aint(b): -20.0000000 ceiling(a): 16 ceiling(b): -20 floor(a): 15 floor(b): -21 z: (15.2344999, -20.7688999)
数学函数
功能 | 描述 |
---|---|
ACOS(X) | 它返回反余弦在范围(0π,),以弧度表示。 |
ASIN(X) | 它返回反正弦在范围(-π/ 2,π/ 2),以弧度表示。 |
ATAN(X) | 它返回该范围中的反正切(-π/ 2,π/ 2),以弧度表示。 |
ATAN2(Y,X) | 它返回反正切的范围(-π,π),以弧度表示。 |
COS(X) | 它返回的参数以弧度的余弦值。 |
COSH(X) | 它返回参数的弧度的双曲余弦值。 |
EXP(X) | 它返回X的指数值 |
LOG(X) | 它返回X的自然对数值 |
LOG10(X) | 它返回常用对数(基数为10)X的值 |
SIN(X) | 它返回的参数以弧度的正弦值。 |
SINH(X) | 它返回的参数以弧度的双曲正弦值。 |
SQRT(X) | 它返回X的平方根 |
TAN(X) | 它返回参数的弧度正切。 |
TANH(X) | 它返回参数的弧度的双曲正切值。 |
例
下面的程序一个时间后分别射弹的计算的水平和垂直位置x和y,叔:
其中,X = UT COS A和Y = UT罪 - 克T2 / 2
program projectileMotion implicit none ! define constants real, parameter :: g = 9.8 real, parameter :: pi = 3.1415927 !define variables real :: a, t, u, x, y !values for a, t, and u a = 45.0 t = 20.0 u = 10.0 ! convert angle to radians a = a * pi / 180.0 x = u * cos(a) * t y = u * sin(a) * t - 0.5 * g * t * t write(*,*) 'x: ',x,' y: ',y end program projectileMotion
当你编译和执行上面的程序,它会产生以下结果:
x: 141.421356 y: -1818.57861
数字查询函数
这些功能与整数的某型号和浮点运算工作。该函数返回相同种类的变量X,它可以是真实的,在某些情况下整数的数的属性。
功能 | 描述 |
---|---|
数字(X) | 它返回的模型的显著位数。 |
EPSILON(X) | 它返回相比一个是几乎可以忽略不计的数目。换句话说,它返回最小值,使得实(1.0,种类(X))+ EPSILON(x)不等于实(1.0,种类(X))。 |
巨大的(X) | 它返回模型的数量最多 |
MAXEXPONENT(X) | 它返回该模型的最大指数 |
MINEXPONENT(X) | 它返回模型的最低指数 |
PRECISION(X) | 它返回小数精度 |
基数(X) | 它返回该模型的基 |
RANGE(X) | 它返回十进制指数范围 |
TINY(X) | 它返回该模型的最小正数 |
浮点操作函数
功能 | 描述 |
---|---|
指数(x) | 它返回一个型号的指数部分 |
分数(X)的 | 它返回一个数的小数部分 |
NEAREST(X,S) | 它返回给定方向最近的不同处理器编号 |
RRSPACING(X) | 它返回型号的邻近给定数量的相对间距的倒数 |
SCALE(X,I) | 它乘以它的基地实到的整数次幂 |
SET_EXPONENT(X,I)的 | 它返回一个数的指数部分 |
间距(X) | 它返回型号附近给定数量的绝对间距 |
位操作功能
功能 | 描述 |
---|---|
BIT_SIZE(I) | 它返回该模型的比特数 |
BTEST(I,POS) | 位测试 |
IAND(I,J) | 逻辑与 |
IBCLR(I,POS) | 清除位 |
IBITS(I,POS,LEN) | 比特提取 |
IBSET(I,POS) | 设置位 |
IEOR(I,J) | 异或 |
IOR(I,J) | 包容OR |
ISHFT(Ⅰ,SHIFT) | 逻辑移位 |
ISHFTC(I,SHIFT [,SIZE]) | 循环移位 |
NOT(Ⅰ) | 逻辑补 |
字符函数
功能 | 描述 |
---|---|
ACHAR(Ⅰ) | 它返回ASCII码排序序列的第i个字符。 |
ADJUSTL(STRING) | 它通过调节移除任何前导空格和插入尾随空白左弦 |
ADJUSTR(STRING) | 它的权利通过删除尾随空格和插入前导空格调整字符串。 |
CHAR(I [,KIND]) | 它返回特定机器科幻ç整理序列中的第i个字符 |
IACHAR(C) | 它返回ASCII排序序列中字符的位置。 |
ICHAR(C) | 它返回机器(处理器)特定网络ç整理序列中的字符的位置。 |
INDEX(STRING,SUBSTRING [,BACK]) | 它返回子串的字符串中最左边(最右边如果返回.TRUE。)起始位置。 |
LEN(STRING) | 它返回字符串的长度。 |
LEN_TRIM(STRING) | 它返回一个字符串的长度没有结尾的空白字符。 |
LGE(STRING_A,STRING_B) | 词法大于或等于 |
LGT(STRING_A,STRING_B) | 词法上大于 |
LLE(STRING_A,STRING_B) | 词法小于或等于 |
LLT(STRING_A,STRING_B) | 词法上小于 |
REPEAT(STRING,NCOPIES) | 串联重复 |
SCAN(STRING,SET [,BACK]) | 它返回属于集,或者0,如果没有属于字符串的最左边(最右边如果返回.TRUE。)字符的索引。 |
TRIM(STRING) | 删除结尾的空白字符 |
VERIFY(STRING,SET [,BACK]) | 验证字符集的字符串 |
种类函数
功能 | 描述 |
---|---|
KIND(X) | 它返回的那种类型的参数值。 |
SELECTED_INT_KIND(R)的 | 它返回的那种特定网络版的指数范围类型的参数。 |
SELECTED_REAL_KIND([P,R]) | 实样类型的参数值,指定精度和范围 |
逻辑功能
功能 | 描述 |
---|---|
逻辑(L [,KIND]) | 逻辑与不同种类类型参数类型的对象之间的转换 |
以上内容是否对您有帮助:
更多建议: