プログラム > 例: 厳密な論理式比較
  
例: 厳密な論理式比較
論理式比較および切り捨て関数の精度を制御するには、「近似等価」オプションを設定します。
1. 関数を定義します。
クリックしてこの式をコピー
2. Newton's Method を実装するプログラムを作成し、これを組み込み関数 rootの結果と比較します。
* 
root 関数は TOL に依存していますが、10-5 を超える TOL には応答しません。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
* 
TOL に「システム」のラベルが付いていることを確認します。
クリックしてこの式をコピー
3. 「計算」タブの「ワークシートの設定」グループで、「計算オプション」のすべての計算オプションがオフになっていることを確認してから、関数名、推定値、最大反復回数を引数として指定して Newt を呼び出します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
Newt の最大反復回数は 50 回であり、TOL のデフォルト値 (TOL:=TOL1) を使用した場合、厳密な評価が行われ、最大反復回数まで計算が行われて最適近似結果が計算されます。
* 
「近似等価」オプションがオフになっている場合、-10-307 から +10-307 の数値は 0 とみなされ、倍精度浮動小数点形式の精度いっぱいまで、厳密に比較されます。
4. 手順 2 に戻って TOL を TOL2 に設定します。Newt では 20 回の反復計算で厳密な結果が得られます。
5. 手順 2 に戻って TOL を TOL1 に再び設定します。
6. 「計算」タブの「ワークシートの設定」グループで、「計算オプション」をクリックし、「近似等価」をオンにします。
Newton's Method によって返る値が -0.152137970680457 から -0.152137970680580 に変わり、これは 19 回の反復計算によって得られます。
* 
「近似等価」がオンである場合、2 つの数値が等価と見なされるには、2 つの数値の差をその平均で割った値の絶対値が 10-12 未満でなければなりません。
7. 返された値が等価の基準を満たしていることを確認します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
8. 手順 2 に戻って TOL を TOL2 に設定します。root によって返る値が -0.152137970680456 から -0.152137970680457 に変わり、これは 19 回の反復計算によって得られます。
9. 返された値が等価の基準を満たしていることを確認します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー