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


セレクションへの演算作用

いったんセレクションを行うと、 スタック項に作用する Calc コマンドが、 今度はセレクション部分(複数)に作用するようになります。 (注: ひとつのスタック要素は一度にひとつのセレクションしか持てませんが、 複数のスタック要素が同時に複数のセレクションを持つことができます。)

j e (calc-enable-selections) コマンドは、 Calc コマンドに対するセレクションの効果を Off します。 セレクションは依然として存在しますが、 にもかかわらず Calc コマンドはスタック要素全体に作用します。 この状態を見分けるには、 セレクションは見えるのにスタックレベル番号に付けられた `*' 印が消え去る という事実で判断できます。 セレクション効果を復活させるには、再び j e を押してください。

サブ数式を抽出して新しい数式とするには、 単にサブ数式をセレクションして RET を押すだけです。 RET は普通なら top のスタック要素を複製しますが、 ここではセレクション部分だけを複製します。

サブ数式を違ったものに取換えるには、 スタックに新しい値を入力して TAB を押せばできます。 TAB は普通なら top の2つのスタック要素を交換しますが、 ここでは、数式の選択された部分と入力した値を交換します。

           3    ...                    ...                    ___
    (a + b)  . . .           17 x y . . .           17 x y + V c
2*  ...............      2*  .............      2:  -------------
        . . . .                 . . . .                2 x + 1

                                    3                      3
1:  17 x y               1:  (a + b)            1:  (a + b)

この例では、元の式からサブ数式をセレクションし、 新しい式を入力して、それをあるべき所に TAB し、 そして編集された式全体を見るためにセレクションを解除しました。

セレクションがあっても、周りの式全体を交換したいなら、 TAB の前後で j e を使ってください。

j ' (calc-enter-selection) コマンドは、 セレクションされたサブ数式を置換えるもうひとつの方法です。 このコマンドは普通の ' キーと全く同様に代数形式入力をします。 RET を押した時点で、タイプした数式が元のセレクションに置換わります。 入力式中に `$' 記号を使うと、元のセレクションを参照することができます。 もしカーソル位置の数式にセレクションがなかったら、 コマンドの目的を果たすために、 カーソル位置を基に一時的なセレクションが作られます。 従って、数式中の 1項を変えるには、 Emacs カーソルをその項に置いて、そして j ' を押すだけで良いのです。

j ` (calc-edit-selection) コマンドは、 ` (calc-edit) コマンドと良く似ています。 これはセレクションされたサブ数式を別のバッファで編集します。 もしセレクションが無かったら、 カーソル位置で指定されたサブ数式を編集します。

サブ数式を削除するには、DEL を押してください。 これは一般にはサブ数式を定数ゼロに置換しますが、 状況に応じて定数 1 を使うこともあります。 DEL キーはその後、 自動的にセレクションを解除して式全体を簡単化しなおします。 従って、次のようになります。

              ###
    17 x y + # #          17 x y         17 # y          17 y
1*  -------------     1:  -------    1*  -------    1:  -------
       2 x + 1            2 x + 1        2 x + 1        2 x + 1

この例ではまず `sqrt(c)' の項を削除しますが、 Calc はそのために、`sqrt(c)' をゼロに置換してから簡単化しなおします。 次に分子の x を削除します。 これは積の一部なので、Calc は 1 に置換して再簡単化します。

ベクトルの 1 要素を選択して DEL を押すと、 その要素はベクトルから削除されます。 方程式や不等式の片方の辺を削除した場合は、反対の辺だけが残留します。

j DEL (calc-del-selection) コマンドは、 DEL と似ていますが、 j 'j ` と同じ自動セレクション反応を示します。 それはカーソルが置かれた数式のセレクション範囲を削除するか、 セレクションが無ければカーソル位置によって指定されたサブ数式を削除します。

(同様に自動セレクション反応を示す、 j RET (calc-copy-selection) コマンドもあります。)

普通の算術の演算もサブ数式に作用します。 次の例では、分母をセレクションし、 5 - を押して分母から 5 を引き、 n を押して分母をサインチェンジし、 Q を押して平方根を取ります。

     .. .           .. .           .. .             .. .
1*  .......    1*  .......    1*  .......    1*  ..........
    2 x + 1        2 x - 4        4 - 2 x         _________
                                                 V 4 - 2 x

ある特定のタイプの演算は、複数セレクションの使用が許されません。 例えば、- のような算術関数では、 引数にするセレクションは 1個以下でなくてはなりません。 (上記の例のように、引き算の結果はセレクション付きの引数の中に引き継がれますが、 もしひとつ以上のセレクションが関与していたら、これが定義できなくなります。) もしセレクション同士を引き算しようとしたら、 コマンドはエラーメッセージを出して中断するでしょう。

サブ数式に対する操作の結果、全体としては不自然な式になることがあります。 例題の式の、 `2 x' の項をセレクションして n (calc-change-sign) を押し、 その項をサインチェンジしたとしましょう。

       .. .                .. .
1*  ..........      1*  ...........
     .........           ..........
    . . . 2 x           . . . -2 x

サブ数式のセレクションを解除すると、 普通なら自動的に引き算と相殺されるはずのマイナス符号が、 引き算がセレクション範囲に無かったので相殺されなかったことが判ります。 = (calc-evaluate) を押すか、 数式全体に対して任意の算術演算を行うと、 式は簡単化されます。

       17 y                17 y
1:  -----------     1:  ----------
     __________          _________
    V 4 - -2 x          V 4 + 2 x


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