MATHEMATICA 教程

导数的表示

Mathematica 的导数运算本质上与标准数学中的导数是一样的. 然而,通常的数学符号隐藏了许多细节. 要理解 Mathematica 中导数如何被表示,必须考察这些细节.

标准的数学符号 实际上是 的简写,其中 是"哑变量". 类似地, 的简写. 如符号 所示,对象 实际上可以看作"纯函数",在参数 的特定选择下,计算其值. 用户可以认为微分运算是作用于函数 ,给出称为 的新函数.

对于多变量函数,简单的撇号表示法已不适用了. 例如不能区分 是代表 还是 ,而几乎对任何 ,二者有完全不同的值. 这里 又是一个哑变量,其唯一的目的是显示 关于哪个"位置"被微分.

Mathematica 中,如在某些数学分支中一样,把微分考虑为作用于函数,而不是表达式上是方便的. 我们需要取函数 ,给出导函数 的运算. 这种作用于函数,而不是变量的运算在数学中称为算符.

Mathematica 中的对象 实际上是对函数 使用微分算符的结果. 的完全形式是 Derivative[1][f]. Derivative[1]Mathematica 的微分算符.

算符 Derivative[n1, n2, ...] 的自变量指定关于函数的每个"位置"微分的次数. 通过使用代表微分的算符,Mathematica 可以避免引入任何"哑变量".

这是函数 的导数的完全形式.
In[1]:=
Click for copyable input
Out[1]//FullForm=
这里提供一个自变量 .
In[2]:=
Click for copyable input
Out[2]//FullForm=
这是二阶导数.
In[3]:=
Click for copyable input
Out[3]//FullForm=
这里给出函数 关于第二个"位置"的导数.
In[4]:=
Click for copyable input
Out[4]=
这里是完全形式.
In[5]:=
Click for copyable input
Out[5]//FullForm=
这是关于变量 的二阶导数,这个变量出现在 的第二个位置.
In[6]:=
Click for copyable input
Out[6]//FullForm=
这是混合导数.
In[7]:=
Click for copyable input
Out[7]//FullForm=
Derivative 仅指定关于每个位置微分的次数,所以与求导数的顺序不相干.
In[8]:=
Click for copyable input
Out[8]//FullForm=
这是更复杂的情形, 的两个自变量都依赖于微分变量.
In[9]:=
Click for copyable input
Out[9]=
这是结果的完全形式.
In[10]:=
Click for copyable input
Out[10]//FullForm=

对象 的行为本质上与 Mathematica 的其它任何函数是相同的. 可以使用任何自变量计算该函数,并且能使用标准的 Mathematica 运算替换自变量.(如果在微分过程中引入明显的哑变量,则不可能做到这一点.)

这是函数 在原点的导数的 Mathematica 表示法.
In[11]:=
Click for copyable input
Out[11]//FullForm=
这个导数包含自变量取 .
In[12]:=
Click for copyable input
Out[12]=
通过使用标准的 Mathematica 替换运算可以计算在 处的结果.
In[13]:=
Click for copyable input
Out[13]=

要基于如 的对象的定义来推论 的值是有一些微妙的.

这里是函数 的定义.
In[14]:=
Click for copyable input
当求 的导数时,Mathematica 首先计算 ,然后微分该结果.
In[15]:=
Click for copyable input
Out[15]=
对自变量 应用函数 ,可以得到同样的结果.
In[16]:=
Click for copyable input
Out[16]=
这里是函数 自身.
In[17]:=
Click for copyable input
Out[17]=

函数 完全由函数 的形式决定. 然而 的定义并不立即用于表达式 . 问题是 有完全形式 Derivative[1][f][x],它根本不包含明显与 匹配的东西. 此外,很多情况下,有函数 本身的表示法是方便的,不必将它应用到任何自变量.

Mathematica 所作的事情是尽力寻求代表对像 纯函数的显式形式. 当 Mathematica 得到如 Derivative[1][f] 这样的表达式时,有效地把它转化为显式形式 D[f[#], #]&,然后计算导数. 在显示形式下,Mathematica 能直接使用给对象 定义的值. 如果 Mathematica 成功地求出导数,它返回显式的纯函数结果. 如果求导不成功,它保留导数为原来的 形式.

这是以纯函数形式给出 Tan 的导数.
In[18]:=
Click for copyable input
Out[18]=
这里是把纯函数用于具体自变量 的结果.
In[19]:=
Click for copyable input
Out[19]=
New to Mathematica? Find your learning path »
Have a question? Ask support »