Mathematica 9 is now available

Documentation / Mathematica / Mathematicaブック / Mathematicaの仕組み / 関数操作  /

2.2.8 シンボルでない頭部を備えた式

多くの場合,f[x]等の Mathematica式における頭部 fは単一のシンボルとしたい.それでも,頭部の使われ方によっては,それがシンボルでないこともある.重要な例を次に見てみよう.

この例では,頭部は f[3]である.このように,頭部を使い「配列的な関数」を表すこともできる.

In[1]:= f[3][x, y]

Out[1]=

どんな式でも頭部として使うことができる.ただし,丸カッコでくくられることに注意されたい.

In[2]:= (a + b)[x]

Out[2]=

すでに,2.2.5の純関数の作成例において,複雑な式を頭部として使った. Function[vars, body]をある式の頭部として与えることで,評価されるべき引数を伴った関数を指定することができる.

Function[x, x^2]を頭部として使う.式の値は引数の2乗になる.

In[3]:= Function[x, x^2] [a + b]

Out[3]=

Mathematicaには,純関数と同じように動作する構造体がいくつかあるが,それらは,主に,数値解析等で使われる特定種の関数を表すためにある.また,すべての構造体に対していえるが,基本は,使いたい関数に関する完全な情報を備えた頭部を与える,ということにある.

シンボルでない頭部を持つ式のいくつか

NDSolveは, y InterpolatingFunction オブジェクトとして与える規則リストを返してくる.

In[4]:= NDSolve[{y''[x] == y[x], y[0]==y'[0]==1}, y, {x, 0, 5}]

Out[4]=

これは, InterpolatingFunctionオブ ジェクトである.

In[5]:= y /. First[%]

Out[5]=

InterpolatingFunctionオブジェクトを頭部として使うことで,任意点における関数 yの値を近似させることができる.

In[6]:= % [3.8]

Out[6]=

複雑な式を頭部として使った重要な用途がもう1つある.それは,数学の関数や関数演算子の構築で ある.

例として,微分を考えてみよう.3.5.4で詳しく説明するが, f'のような式は導関数を表し,それは fに関数演算子を適用することで求めることができる. Mathematicaでは, f'は,Derivative[1][f]と表現される.つまり, Derivative[1]は「関数演算子」としてとらえられ,それはfに適用されるとき, f'と表される別の関数を与えることになる.

この式は,「関数演算子」 Derivative[1] の「関数」 fへの適用を表した頭部を持っている.

In[7]:= f'[x] // FullForm

Out[7]//FullForm=

頭部 f'を別の頭部(この例では fp)で置換することができる.この操作を行うことで, fpを実行的に fの「導関数」とすることができる.

In[8]:= % /. f' -> fp

Out[8]=



Any questions about topics on this page? Click here to get an individual response.Buy NowMore Information
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.