Go to the first, previous, next, last section, table of contents.


連立方程式を解く

上述のコマンド群は連立方程式を解くために使うこともできます。 方程式群のベクトル(並び)を作り、解きたい変数のベクトル(並び)を指定するだけです。 (プロンプトに対し変数のベクトルを入力するとき、 周りのカッコを省略することができます。)

例えば、スタックに `[x + y = a, x - y = b]' を置いて a S x,y RET とタイプすると、 解のベクトル `[x = a - (a-b)/2, y = (a-b)/2]' を生成します。 解のベクトルの要素数は変数ベクトルと同じで、しかも同じ順序に並べられます。 注意: 解は充分に簡単化されているとは限りません。 この場合では、x の解に a n コマンドを適用するとさらに改善できます。

Calc のアルゴリズムは変数をひとつずつ消去しようとして、 ひとつの方程式をその変数について解き、それを他の方程式に代入します。 Calc はあらゆる可能性を試しますが、 「Calc はまず最初の式で最初の変数を消去しようと試み、 次の式で 2番目の変数を消去しようとする・・・」という性質に注目すると、 解決を速めることができます。 連立方程式のリストの前の方に、より簡単な(より線形な)式を置くのも役立ちます。 Calc のアルゴリズムは連立一次方程式は何でも解くことができ、 非線形の連立方程式でもかなりの種類を解くことができます。

通常、方程式の数だけ変数が有ります。 方程式より変数の方が少なかったら("過剰決定"連立方程式)、 Calc は不完全な解を見つけます。 例えば、上記の連立方程式に対し a S y RET とタイプすると、 `[y = a - x]' を生成します。 この解をもとの変数群で表現するにはいくつか方法がありますが、 Calc は最初に見つけたものを使います。 変数リストに `elim(v)' 形式の変数指定子を追加することで、 選択を変えることができます これは v を方程式から消去するよう指示するので、 その変数は解に含まれません。 例えば、a S y,elim(x) とタイプすると `[y = a - (b+a)/2]' が得られます。

変数リストに elim 指定子しか含まない場合、 Calc は単にその変数群を消去して、結果得られた方程式の集合を返します。 例えば、a S elim(x) とすると `[a - 2 y = b]' を生成します。 変数が消去されるたびに、連立する方程式の数はひとつずつ減っていきます。

繰返しますが、a S は連立方程式の解をひとつ報告します。 もし複数の解があったら、 H a S を使って一般解のファミリを得る事ができます。 また、解の数が有限の場合は、a P によってそのリストを得ることができます。 (後者の場合、答は行列形式を取り、 各行はそれぞれの解に対応し、 各列は指定した変数に対応します。)

ある種の過決定な連立方程式を扱うもう一つの方法が a F コマンドで これは方程式群を満足する最小二乗近似を行います。 曲線近似(Curve Fitting) 参照 。


Go to the first, previous, next, last section, table of contents.     利用度数