程式 > 範例:嚴格的布林比較
範例:嚴格的布林比較
設定「近似等式」選項以控制布林比較與截斷函數中使用的精度。
1. 定義函數。
按一下以複製此運算式
2. 編寫程式以實行 Newton's Method,並將其與內建函數 root 的結果進行比較。
* 
root 函數會受 TOL 影響,但不會回應大於 10-5 的 TOL。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
* 
確定 TOL 使用「系統」標籤。
按一下以複製此運算式
3. 確定在「計算」標籤之「工作表設定」群組的「計算選項」下,未選取任何計算選項,然後呼叫 Newt,並為其指定函數的名稱、估值及疊代數上限。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
使用 TOL (TOL:=TOL1) 的預設值,Newt 可執行 50 次疊代計算,並且會全部執行以在嚴格的計算下達到最近似結果。
* 
停用「近似等式」選項時,–10-307 至 +10-307 之間的數字會視為 0,並使用數字本身 (最多為其雙倍浮點數精度表示) 進行嚴格計算比較。
4. 移至步驟 2,然後將 TOL 設定為 TOL2。Newt 在 20 次疊代計算後達到精確結果。
5. 移至步驟 2,然後將 TOL 設回 TOL1。
6. 「計算」標籤的「工作表設定」群組中,按一下「計算選項」,然後選取「近似等式」
Newton's Method 傳回的值會從 -0.152137970680457 變更為 -0.152137970680580,並在 19 次疊代計算後達到。
* 
使用「近似等式」選項時,兩個數字的差分絕對值除以其平均值必須小於 10-12,才可將這兩個數字視為相等。
7. 核對傳回值是否通過等式測試:
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
8. 移至步驟 2,然後將 TOL 設定為 TOL2。root 傳回的值會從 -0.152137970680456 變更為 -0.152137970680457,並在 19 次疊代計算後達到。
9. 核對傳回值是否通過等式測試:
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
這是否有幫助?