[ < ] | [ > ] |  | [ << ] | [上] | [ >> ] |  |  |  |  | [冒頭] | [目次] | [見出し] | [ ? ]

# 69. opsubst

[ < ] | [ > ] |  | [ << ] | [上] | [ >> ] |  |  |  |  | [冒頭] | [目次] | [見出し] | [ ? ]

## 69.1 Functions and Variables for opsubst

関数: opsubst (f,g,e)
関数: opsubst (g=f,e)
関数: opsubst ([g1=f1,g2=f2,..., gn=fn],e)

  関数 `opsubst`は、 `opsubst`は式の中の演算子への代入だけをすることを除いて、 関数 `subst`に似ています。 一般に、 fが式 eの中の演算子の時、 式 eの中で gを fに代入します。

  演算子を決定するために、 `opsubst`は `inflag`を trueに設定します。 これは、 `opsubst`が式の中の表示演算子ではなく内部演算子への代入をすることを意味します。

  例:

      (%i1) load (opsubst)$

      (%i2) opsubst(f,g,g(g(x)));
      (%o2)                     f(f(x))
      (%i3) opsubst(f,g,g(g));
      (%o3)                       f(g)
      (%i4) opsubst(f,g[x],g[x](z));
      (%o4)                       f(z)
      (%i5) opsubst(g[x],f, f(z));
      (%o5)                      g (z)
                                  x
      (%i6) opsubst(tan, sin, sin(sin));
      (%o6)                     tan(sin)
      (%i7) opsubst([f=g,g=h],f(x));
      (%o7)                       h(x)

  内部的に Maximaは単項否定や割り算、引き算演算子を使いません; 例えば:

      (%i8) opsubst("+","-",a-b);
      (%o8)                     a - b
      (%i9) opsubst("f","-",-a);
      (%o9)                      - a
      (%i10) opsubst("^^","/",a/b);
                                   a
      (%o10)                       -
                                   b

  -a*bの内部表現は *(-1,a,b)です; 例えば、

      (%i11) opsubst("[","*", -a*b);
      (%o11)                  [- 1, a, b]

  どちらかの演算子が Maximaシンボルでない時、他のある関数は一般にエラーを知らせます:

      (%i12) opsubst(a+b,f, f(x));

      Improper name or value in functional position:
      b + a
       -- an error.  Quitting.  To debug this try debugmode(true);

  しかしながら、添字付き演算子は許されます:

      (%i13) opsubst(g[5],f, f(x));
      (%o13)                     g (x)
                                  5

  この関数を使うためには最初に `load("opsubst")`と書いてください。

  ·

  Categories: Expressions ·Share packages ·Package opsubst

[ << ] | [ >> ] |  |  |  |  |  | [冒頭] | [目次] | [見出し] | [ ? ]

この文書は市川 雄二によって2012年12月月12日にtexi2html 1.82を用いて生成されました。