2.4.2 一组变换规则的操作对规则命名后,就可以像操作符号表达式一样对一组规则进行操作. 将三角函数的展开式命名为 sinexp
Out[1]= |  |
用名称 sinexp 来调用规则
Out[2]= |  |
一组变换规则可以用来描述数学或其它关系,通过命名就可以方便地调用 一组规则. 大多数情况下,一组规则中仅有一个作用于一个表达式,然而 /. 依次测试表中的所有规则,当表中规则很多时,这需要很长时间. 为了 提高运行速度,可以先对一组规则进行处理,其方法是让 Dispatch 作用在这组 规则上. Dispatch 函数作用的结果还是这一组规则,但它产生了一个分派表. 该分派表使 /. 不再逐个测试每个规则,而立即转到可使用的规则上去. 此处给出了前 5 个阶段的规则
Out[3]= |  |
建立分派使规则运用得更快
Out[4]= |  |
通过 /. 来运用这些规则
Out[5]= |  |
产生和使用分派表 用了分派后可以使一列规则的替换运行得很快,当这些规则不是模式,而是 一些单个符号或表达式时更显示出优势,用了分派表时就会发现/. 所花的时 间几乎与规则的数量无关,而没有分派表时,/. 所花的时间与规则的数 量成比例.
|