How to| 将规则多次用于表达式
您可能会发现,对一个表达式多次使用一个或多个规则很有用. Wolfram 语言提供了将规则循环用于表达式的函数. 当一个规则可以以多种方式用于表达式时,Wolfram 语言还允许您查看所有可能的结果.
尽管 /.(ReplaceAll 的简写形式) 只能单次地将规则用于一个表达式,您将发现重复地将规则应用于表达式,直到它不再发生任何改变为止,非常有用. 这可以通过使用 //.(ReplaceRepeated 的简写形式)实现.
使用 /. 将一个规则或规则列表单次应用于一个表达式的各个部分:
a + x ^ 2 + y ^ 6 /. {x -> 2 + a, a -> 1}a + x ^ 2 + y ^ 6 //. {x -> 2 + a, a -> 1}log[a b c d] /. log[x_ y_] -> log[x] + log[y]log[a b c d] //. log[x_ y_] -> log[x] + log[y]将 //. 用于一个循环的规则集合时,应当慎用. 用 MaxIterations 选项设置 //. 的最大循环次数:
ReplaceRepeated[x, x -> x + 1, MaxIterations -> 1000]可用 ReplaceList 通过应用一个规则或规则列表对整个表达式进行各种可能方式的变换. 使用 Column 以易于查看的方式显示结果:
ReplaceList[log[a b c], log[x_ y_] -> log[x] + log[y]]//Column