MATHEMATICA 教程
定义的顺序
在 Mathematica 中给出一系列定义时,一部分总是比另一部分更一般一些. Mathematica 中的原则是:一般定义在特殊定义之后使用. 这意味着,规则的特例总是在一般情况之前试用.
这种行为对于 "定义函数" 节中给出的阶乘函数特别重要. 不管输入方式如何,Mathematica 总是把特殊规则
放在
之前. 这意味着,当 Mathematica 在计算形如 f[n] 的表达式时,先测试
,当它不能用时,再使用一般情况
. 所以,在计算
时,Mathematica 将一直使用一般规则直到"终止条件"
使用了为止.
如果 Mathematica 不遵循上述原则,则特殊规则将会被一般规则所"屏蔽". 在阶乘的定义中,如果规则
在规则
之前使用,则 Mathematica 即使在求
时也会用
规则,而
规则永远不会被使用.
| In[1]:= |
| In[2]:= |
| Out[2]= |
在像上面给出的阶乘一类的定义中,可以很明显地看出哪一个更一般一些. 但通常给出的规则没有确定的顺序,这时, Mathematica 就按给出的顺序使用它们.
| In[4]:= |
| In[6]:= |
尽管在许多情况下,Mathematica 能判断哪一个规则更一般一些,但总有些例外. 例如,在两个含有
的规则中,就无法确定哪一个更一般,事实上也没有明确的顺序. 在顺序不清楚时,Mathematica 总是按输入顺序保存规则.
