MAXVAL (ARRAY , DIM , MASK) 或 MAXVAL (ARRAY , MASK)

用途

傳回陣列中元素的最大值,以及對應於 MASK true 元素的維度。

類別

轉換函數

引數類型和屬性

ARRAY
INTEGERREALCHARACTER 陣列。
DIM (選用)
INTEGER 純量。 其值必須在範圍 1 ≤ DIM ≤ rank (ARRAY)。
MASK (選用)
形狀符合 ARRAYLOGICAL 陣列。 如果不存在,則會評估整個陣列。

結果值

結果 是等級 (ARRAY) -1 的陣列,其資料類型與 ARRAY相同。 如果遺漏 DIM ,或如果 ARRAY 是等級 1 ,則 結果 是純量。 如果 ARRAY 是字元類型,則結果的長度與 ARRAY的長度相同。

如果指定 DIM ,則結果值的每一個元素都包含滿足 MASK 沿著維度的每一個向量所指定條件之所有元素的最大值 DIM結果 中的陣列元素下標為 (s1, s2, ... , s(DIM-1), s(DIM+1), ... , sn) ,其中 n 是 ARRAY 的等級,而 DIM 是 DIM指定的維度。

如果未指定 DIM ,則函數會傳回所有適用元素的最大值。

如果 ARRAY 是字元類型,則會使用 ASCII 對照順序來完成所有比較。

如果 ARRAY 大小為零,或遮罩陣列具有全部 。FALSE。 值,然後:

  • 如果 ARRAY 是整數或實數類型,則結果值是與 ARRAY具有相同類型及類型的最大數量級的負數。
  • 如果 ARRAY 是字元類型,則結果的每一個字元都具有 CHAR (0) 值。
因為 DIMMASK 都是選用的,所以可以使用各種引數組合。 當 -qintlog 選項指定有兩個引數時,第二個引數會參照下列其中一項:
  • MASK (如果是整數、邏輯、位元組或無類型的陣列)
  • DIM (如果它是整數、位元組或無類型的純量)
  • MASK (如果它是邏輯類型的純量)

範例

! A is the array  | -41  33 25 |
!                 |  12 -61 11 |

! What is the largest value in the entire array?
       RES = MAXVAL(A)
! The result is 33

! What is the largest value in each column?
       RES = MAXVAL(A, DIM=1)
! The result is | 12 33 25 |

! What is the largest value in each row?
       RES = MAXVAL(A, DIM=2)
! The result is | 33 12 |

! What is the largest value in each row, considering only
! elements that are less than 30?
       RES = MAXVAL(A, DIM=2, MASK = A .LT. 30)
! The result is | 25 12 |