簡単化モード(simplification mode)は、 数値や式がスタックに push されたり、そこから取得されたりしたとき、 それらをどのように標準化するかを制御します。 浮動小数の結果を現在の精度に丸めたり、分数を簡潔にまとめたりするなど、 いくつかの標準化は不可避です。 他の、 a+a (or 2+3)のような式の簡単化は、 デフォルトでは実行されますが必要に応じて止めることができます。
2 と 3 がスタックに置かれている場合に + のようなキーを押すと、 Calc はそれらを pop し、標準化し、式 2+3 を生成し、標準化し、 その結果を push します。 2+3 の標準化に際して、標準的な規則はもちろん 5 を生成します。
簡単化モードコマンド群は、 小文字 m プレフィックス・キーと引続くシフト文字から成ります。
m O (calc-no-simplify-mode
) コマンドは、
オプションの簡単化を全て禁止します。
すると 2+3 のような式は放置されます。
実際このモードにおいては、単なる数値以外は全く簡単化されません。
m N (calc-num-simplify-mode
) コマンドは、
式の引数が全て定数である場合にのみ簡単化を許し、それ以外での簡単化を禁止します。
例えば、1+2 は 3 に簡単化され、
a+(2-2) は a+0 までは簡単化されますが、
もはや片方の引数が定数ではないので、そこから先には進みません。
(a+2)-2 は、最上位の `-' 演算子の引数が定数でない
(片方が式 a+2)ので、簡単化されません。
ここで言う定数とは、数値, (定数の誤差型式や剰余型式のような)数値オブジェクト,
要素の全てが定数であるベクトル等です。
m D (calc-default-simplify-mode
) コマンドは、
デフォルトの簡単化モードに復帰します
これには多くの簡単かつ高速な代数的簡単化機能を含み、
a+0 を a にしたり、
a + 2 a を 3 a にしたり、
関数を評価して deriv(x^2, x) を 2 x にしたりします。
m B (calc-bin-simplify-mode
) モードは、
結果にデフォルト簡単化を作用させてから、結果が整数なら
b c (calc-clip
) コマンドを使って、
整数を現行のワードサイズに clip します。
Binary Number Functions 参照 。
実数ならば最寄の整数に丸められてから clip します。
(デフォルト簡単化がなされた時点で)その他の種類の結果は放置されます。
m A (calc-alg-simplify-mode
) モードは、
代数的簡単化を行います。
全てのデフォルト簡単化と、
a s (calc-simplify
) に含まれるさらにパワフル(かつ低速)な簡単化
からなります。
代数的簡単化 参照 。
m E (calc-ext-simplify-mode
) モードは、
「拡張」代数的簡単化を行います。
a e (calc-simplify-extended
) コマンドで実行される簡単化と同じです。
「不安全な」簡単化 参照 。
m U (calc-units-simplify-mode
) は単位の簡単化を行います。
これは a s の上位互換である
u s (calc-simplify-units
) コマンドを適用します。
このモードでは、(`mm' は「ミリメートル」といったように)
単位名とおぼしき変数名はその定義に基づいて簡単化されます。
基本テクニックは、自動化する簡単化が最小限になるようにモード設定し、
高度な簡単化は必要に応じて手動の a s や
c c (calc-clean
) コマンドで行うことです。
簡単化禁止モードの別の使用例は、Programming with Formulas 参照 。
Go to the first, previous, next, last section, table of contents.
利用度数