Wolfram ResearchPRODUCTSPURCHASEFOR USERSCOMPANYOUR SITES
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.

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


 © 2009 Wolfram Research, Inc.  Terms of Use  Privacy Policy |
Sign up for our newsletter: