鍍金池/ 教程/ Java/ Fortran內(nèi)部函數(shù)
Fortran還原功能
Fortran關(guān)系運(yùn)算符
Fortran運(yùn)算符優(yōu)先級
Fortran基本語法
Fortran文件輸入輸出
Fortran嵌套select case結(jié)構(gòu)
Fortran變量
Fortran Cycle語句
Fortran語言環(huán)境設(shè)置
Fortran數(shù)據(jù)類型
Fortran數(shù)組
Fortran字符
Fortran if...else if...else 語句
Fortran調(diào)試程序
Fortran編程風(fēng)格
Fortran if...then語句結(jié)構(gòu)
Fortran嵌套循環(huán)
Fortran常量
Fortran循環(huán)
Fortran導(dǎo)出數(shù)據(jù)類型
Fortran字符串
Fortran操作函數(shù)
Fortran do...while循環(huán)結(jié)構(gòu)
Fortran內(nèi)部函數(shù)
Fortran數(shù)字精度
Fortran選擇決策
Fortran重塑函數(shù)
Fortran運(yùn)算符
Fortran構(gòu)造函數(shù)
Fortran模塊
Fortran位置函數(shù)
Fortran數(shù)字
Fortran指針
Fortran算術(shù)運(yùn)算符
Fortran exit語句
Fortran動(dòng)態(tài)數(shù)組
Fortran嵌套if結(jié)構(gòu)
Fortran select case結(jié)構(gòu)
Fortran向量和矩陣乘法函數(shù)
Fortran邏輯運(yùn)算符
Fortran if...then...else 結(jié)構(gòu)
Fortran教程
Fortran過程
Fortran Stop語句
Fortran基本輸入輸出
Fortran do循環(huán)結(jié)構(gòu)
Fortran查詢函數(shù)

Fortran內(nèi)部函數(shù)

內(nèi)部函數(shù)為Fortran語言提供一些常見和重要的功能。我們已經(jīng)討論過陣列,字符和字符串一些函數(shù)。

內(nèi)部函數(shù)可歸類為:

  • 數(shù)值函數(shù)
  • 數(shù)學(xué)函數(shù)
  • 數(shù)字查詢函數(shù)
  • 浮點(diǎn)操作函數(shù)
  • 位操作函數(shù)
  • 字符函數(shù)
  • 類函數(shù)
  • 邏輯函數(shù)
  • 數(shù)組函數(shù)

我們在陣列章討論的陣列功能。在下面的章節(jié)中,提供了與其他類別的所有這些功能的簡要說明。

函數(shù)名稱列,

  • A 代表任何類型的數(shù)值變量
  • R 代表一個(gè)真實(shí)的或整型變量
  • X 和 Y 代表實(shí)際變量
  • Z 代表復(fù)數(shù)變量
  • W 表示實(shí)數(shù)或復(fù)數(shù)變量

數(shù)值函數(shù)

Function 描述
ABS (A) 返回A的絕對值
AIMAG (Z) 返回復(fù)數(shù)Z的虛部
AINT (A [, KIND]) 截?cái)郱小數(shù)部分接近零,返回一個(gè)實(shí)數(shù)。
ANINT (A [, KIND]) 返回一個(gè)實(shí)數(shù)值,最接近的整數(shù)或整數(shù)。
CEILING (A [, KIND]) 返回比最小整數(shù)大于或等于數(shù)A.
CMPLX (X [, Y, KIND]) 其轉(zhuǎn)換實(shí)數(shù)變量X和Y的一些復(fù)數(shù)X + iY; 如果Y不存在,則使用0。
CONJG (Z) 返回復(fù)數(shù)Z的復(fù)共軛
DBLE (A) 轉(zhuǎn)換A成到雙精度實(shí)數(shù)。
DIM (X, Y) 返回X和Y的正差
DPROD (X, Y) 返回實(shí)數(shù) X 和 Y 產(chǎn)生的雙精度
FLOOR (A [, KIND]) 提供了比最大的整數(shù)小于或等于數(shù)A.
INT (A [, KIND]) 將其轉(zhuǎn)換為數(shù)字(真實(shí)或整數(shù))為整數(shù),截?cái)嘞蛄愕膶?shí)部。
MAX (A1, A2 [, A3,...]) 返回的參數(shù)的最大值,相同類型
MIN (A1, A2 [, A3,...]) 返回的參數(shù)的最小值,相同類型
MOD (A, P) 返回用P除以A余數(shù)部分,這兩個(gè)參數(shù)類型相同 (A-INT(A/P)*P)
MODULO (A, P) 返回一個(gè)模P:(A-FLOOR(A/P)*P)
NINT (A [, KIND]) 返回一個(gè)最接近整數(shù)A的數(shù)
REAL (A [, KIND]) 將其轉(zhuǎn)換為實(shí)數(shù)類型
SIGN (A, B) 返回一個(gè)乘以P. 符號(hào)的絕對值基本上它轉(zhuǎn)移B的標(biāo)志為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

當(dāng)編譯并執(zhí)行上述程序,它會(huì)產(chǎn)生以下結(jié)果:

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)

數(shù)學(xué)函數(shù)

函數(shù) 描述
ACOS (X) 返回該反余弦在范圍(0,π),以弧度的形式。
ASIN (X) 返回該反正弦在范圍(-π/ 2,π/ 2),單位為弧度。
ATAN (X) 返回反正切的范圍(-π/ 2,π/ 2),單位為弧度。
ATAN2 (Y, X) 返回反正切的范圍(-π,π),以弧度表示。
COS (X) 返回參數(shù)的弧度的余弦值。
COSH (X) 返回參數(shù)的弧度的雙曲余弦值。
EXP (X) 返回X的指數(shù)值
LOG (X) 返回X的自然對數(shù)值
LOG10 (X) 返回常用對數(shù)(10為基數(shù))X的值
SIN (X) 返回參數(shù)的弧度的正弦值。
SINH (X) 返回參數(shù)的弧度雙曲正弦。
SQRT (X) 返回X的平方根
TAN (X) 返回參數(shù)的弧度的切線。
TANH (X) 返回參數(shù)弧度的雙曲正切值。

示例

下列程序計(jì)算水平和垂直位置x和y表示拋射時(shí)間,t:

這里, x = u t cos a 以及 y = u t sin a - g 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

當(dāng)編譯并執(zhí)行上述程序,它會(huì)產(chǎn)生以下結(jié)果:

x: 141.421356  y: -1818.57861  

數(shù)字查詢函數(shù)

這些函數(shù)的工作在整數(shù)模型和浮點(diǎn)運(yùn)算。該函數(shù)返回相同的種類作為變量X,它可以是實(shí)數(shù),在某些情況下,擁有整數(shù)的性質(zhì)。

函數(shù) 描述
DIGITS (X) 返回顯著模型的位數(shù)。
EPSILON (X) 返回相比一個(gè)是幾乎可以忽略不計(jì)的數(shù)目。換句話說,它返回最小值,使得REAL( 1.0, KIND(X)) + EPSILON(X)為不等于REAL( 1.0, KIND(X))。
HUGE (X) 返回模型最多數(shù)量
MAXEXPONENT (X) 返回該模型的最大指數(shù)
MINEXPONENT (X) 返回該模型的最小指數(shù)
PRECISION (X) 返回小數(shù)精度
RADIX (X) 返回該模型的基數(shù)
RANGE (X) 返回十進(jìn)制指數(shù)范圍
TINY (X) 返回該模型的最小正數(shù)

浮點(diǎn)操作函數(shù)

函數(shù) 描述
EXPONENT (X) 返回一個(gè)模型數(shù)的指數(shù)部分
FRACTION (X) 返回一個(gè)數(shù)的小數(shù)部分
NEAREST (X, S) 返回給定的方向最近的不同處理器編號(hào)
RRSPACING (X) 返回型號(hào)的鄰近給定數(shù)量的相對間隔的倒數(shù)
SCALE (X, I) 乘以一個(gè)實(shí)數(shù)由基數(shù)的整數(shù)次冪
SET_EXPONENT (X, I) 返回一個(gè)數(shù)的指數(shù)部分
SPACING (X) 返回型號(hào)的絕對間隔接近指定數(shù)值

位操作函數(shù)

函數(shù) 描述
BIT_SIZE (I) 返回該模型的比特?cái)?shù)
BTEST (I, POS) 位測試
IAND (I, J) 邏輯與
IBCLR (I, POS) 清除位
IBITS (I, POS, LEN) 位提取
IBSET (I, POS) 設(shè)置位
IEOR (I, J) 異或
IOR (I, J) 包括或
ISHFT (I, SHIFT) 邏輯移位
ISHFTC (I, SHIFT [, SIZE]) 循環(huán)移位
NOT (I) 邏輯補(bǔ)

字符函數(shù)

  • <strike id="s0wei"></strike>
    函數(shù) 描述
    ACHAR (I) 它返回ASCII整理序列中的第i個(gè)字符。
    ADJUSTL (STRING) 它通過調(diào)節(jié)刪除任何前導(dǎo)空格和插入尾隨空白留下的字符串
    ADJUSTR (STRING) 它去除右尾隨空白和插入前導(dǎo)空格調(diào)整字符串。
    CHAR (I [, KIND]) 它返回特定機(jī)器整理序列中的第i個(gè)字符
    IACHAR (C) 它返回字符的ASCII碼排序序列中的位置。
    ICHAR (C) 它返回字符在機(jī)器(處理器)特定排序序列中的位置。
    INDEX (STRING, SUBSTRING [, BACK]) 它返回SUBSTRING內(nèi)STRING最左邊(最右邊如果返回.TRUE。)起始位置。
    LEN (STRING) 它返回字符串的長度。
    LEN_TRIM (STRING) 它返回一個(gè)字符串的長度沒有結(jié)尾的空白字符。
    LGE (STRING_A, STRING_B) 詞匯上大于或等于
    LGT (STRING_A, STRING_B) 詞匯上大于
    LLE (STRING_A, STRING_B) 詞匯上大于或等于以下
    LLT (STRING_A, STRING_B) 詞匯上小于
    REPEAT (STRING, NCOPIES) 重復(fù)并置
    SCAN (STRING, SET [, BACK]) 它返回STRING屬于集,或者0,如果都不屬于最左邊(最右邊如果返回.TRUE。)字符的索引。
    TRIM (STRING) 刪除結(jié)尾的空白字符
    VERIFY (STRING, SET [, BACK]) 驗(yàn)證字符集的字符串