MAXVAL (ARRAY , DIM , MASK) 或 MAXVAL (ARRAY , MASK)
用途
傳回陣列中元素的最大值,以及對應於 MASK true 元素的維度。
類別
轉換函數
引數類型和屬性
- ARRAY
INTEGER、REAL或CHARACTER陣列。- DIM (選用)
INTEGER純量。 其值必須在範圍 1 ≤ DIM ≤ rank (ARRAY)。- MASK (選用)
- 形狀符合 ARRAY 的
LOGICAL陣列。 如果不存在,則會評估整個陣列。
結果值
結果 是等級 (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) 值。
因為 DIM 和 MASK 都是選用的,所以可以使用各種引數組合。 當 -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 |