此为 Mathematica 4 文档,内容基于更早版本的 Wolfram 语言
查看最新文档(版本11.2)

2.4.1 运用变换规则

运用变换规则

替换运算 /. 的使用

可给出一列变换规则,将每个规则分别用到表达式的每一项

运用一列变换规则

通过一列规则就可以得到一列结果

SolveNSolve 等函数的返回值是一列规则,每个规则代表一个解

运用这些规则可以得到一列结果,每个结果都对应一个解

 将每一个规则逐次用到 的每一项,在此过程中 进行相应的变换以得到结果.

先用规则 x^3 ,当它无法运用时用规则 x^n_

规则一旦使用就立即产生结果,故里面的 h 还没有变

替换 中的每一项只使用一次.

由于每个规则正好用一次,所以这里是交换 x y

可以用这种形式一个接一个地运用一组规则

有时需要反复使用规则,直到表达式不再变换为止,这可以通过反复 替换运算 或 (ReplaceRepeated[expr, rules]) 来实现.

一次或多次重复使用规则

单一替代运算 /. 使规则在表达式中各项上仅用一次

重复替代运算 //. 使得规则被反复使用直到表达式不再变化为止

此处规则仅使用一次

用重复替换运算反复使用规则直到结果不再变化为止

//.时,Mathematica 将给定的规则反复使用到表达式上,直到相继 的两个结果相同为止. 当使用一系列循环规则时, //. 能一直得到不同的 结果,用可选项 MaxIterations 可以确定对一个表达式的迭代次数. 当需要一直替换下去时,可以用 ReplaceRepeated[expr, rules, MaxIterations -> Infinity] 来实现.通过中断 Mathematica 总 可以停止迭代.

通过可选项 MaxIterations 可以明确指出 ReplaceRepeated 在运用给定规则时的重复次数

替换运算 /.//. 的特点是将每个规则用在表达式的各项上,而 Replace[expr, rules] 将规则用在整个表达式上,不能用于表达式的一部分. 可以把 ReplaceMap, MapAt 等共用来指定规则用在表达式的哪一部分上.另外, ReplacePart[expr, new, pos] 可以用给定的目标来代替表达式的项.

/. 将规则运用到表达式的每一项

没有指定层时,Replace 仅将规则用于整个表达式

这里没有进行任何替换

将规则运到第 2 层从而替换了 x

一次或多次重复使用规则

Replace 给出使用第一个规则后的结果

ReplaceList 给出一列规则使用后的结果

当一个规则有多种使用方式时,ReplaceList 给出所有的结果

此处给出了将原集合分解为两个集合的方式

找出由同样元素包在侧面的所有子集

用一种方式或所有可能方式运用规则