運算子 > 定義與計算運算子 > 範例:交錯一般定義與全域定義
  
範例:交錯一般定義與全域定義
交錯一般定義與全域定義時應該特別注意,其結果可能不如預期。
計算工作表時,PTC Mathcad 會通過整個工作表兩次:
第一次通過時,系統只會計算全域定義,並略過所有一般定義。
第二次通過時,系統除了計算一般定義,也會進行一般與符號計算。
下列情境說明這兩個計算路徑如何影響在工作表中交錯一般定義與全域定義的結果。
以一般變數來定義全域變數
1. 使用一般定義運算子,將常數值指派給變數 u
按一下以複製此運算式
2. 使用全域定義運算子將包含變數 u 的運算式指派給 f1
按一下以複製此運算式
第一次通過時會略過一般定義。f1 的指派失敗,因為 u 的值在計算 f1 時不明。
3. 計算變數 uf1
按一下以複製此運算式
按一下以複製此運算式
以另一個全域變數來定義全域變數
1. 使用全域定義運算子,將常數值指派給變數 v
按一下以複製此運算式
2. 使用另一個全域定義運算子將包含變數 v 的運算式指派給 f2
按一下以複製此運算式
f2 的指派成功,因為 v 的值第一次通過期間計算 f2 時為已知。
3. 計算變數 vf2
按一下以複製此運算式
按一下以複製此運算式
4. 使用全域定義運算子指派運算式,但這次包含以下定義的全域變數。
按一下以複製此運算式
按一下以複製此運算式
由於計算全域指派的順序是由上而下、由左而右,因此 f3 的指派失敗,因為 w 的值在第一次通過期間計算 f3 時不明。
5. 計算變數 wf3
按一下以複製此運算式
按一下以複製此運算式
計算變數 w 成功,因為該變數已經全域定義為常數,但計算變數 f3 失敗,因為其值所取決的變數 w 值在第一次通過期間計算 f3 時不明。