2.4.1 运用变换规则运用变换规则 替换运算 /. 的使用
Out[1]= |  |
可给出一列变换规则,将每个规则分别用到表达式的每一项
Out[2]= |  |
运用一列变换规则 通过一列规则就可以得到一列结果
Out[3]= |  |
Solve 和 NSolve 等函数的返回值是一列规则,每个规则代表一个解
Out[4]= |  |
运用这些规则可以得到一列结果,每个结果都对应一个解
Out[5]= |  |
将每一个规则逐次用到 的每一项,在此过程中 进行相应的变换以得到结果.
先用规则 x^3 ,当它无法运用时用规则 x^n_
Out[6]= |  |
规则一旦使用就立即产生结果,故里面的 h 还没有变
Out[7]= |  |
替换 中的每一项只使用一次. 由于每个规则正好用一次,所以这里是交换 x 和 y
Out[8]= |  |
可以用这种形式一个接一个地运用一组规则
Out[9]= |  |
有时需要反复使用规则,直到表达式不再变换为止,这可以通过反复 替换运算 或 (ReplaceRepeated[expr, rules]) 来实现. 一次或多次重复使用规则 单一替代运算 /. 使规则在表达式中各项上仅用一次
Out[10]= |  |
重复替代运算 //. 使得规则被反复使用直到表达式不再变化为止
Out[11]= |  |
此处规则仅使用一次
Out[12]= |  |
用重复替换运算反复使用规则直到结果不再变化为止
Out[13]= |  |
用//.时,Mathematica 将给定的规则反复使用到表达式上,直到相继 的两个结果相同为止. 当使用一系列循环规则时, //. 能一直得到不同的 结果,用可选项 MaxIterations 可以确定对一个表达式的迭代次数. 当需要一直替换下去时,可以用 ReplaceRepeated[expr, rules, MaxIterations -> Infinity] 来实现.通过中断 Mathematica 总 可以停止迭代. 通过可选项 MaxIterations 可以明确指出 ReplaceRepeated 在运用给定规则时的重复次数
Out[14]= |  |
替换运算 /. 和 //. 的特点是将每个规则用在表达式的各项上,而 Replace[expr, rules] 将规则用在整个表达式上,不能用于表达式的一部分. 可以把 Replace 和 Map, MapAt 等共用来指定规则用在表达式的哪一部分上.另外, ReplacePart[expr, new, pos] 可以用给定的目标来代替表达式的项. /. 将规则运用到表达式的每一项
Out[15]= |  |
没有指定层时,Replace 仅将规则用于整个表达式
Out[16]= |  |
这里没有进行任何替换
Out[17]= |  |
将规则运到第 2 层从而替换了 x
Out[18]= |  |
一次或多次重复使用规则 Replace 给出使用第一个规则后的结果
Out[19]= |  |
ReplaceList 给出一列规则使用后的结果
Out[20]= |  |
当一个规则有多种使用方式时,ReplaceList 给出所有的结果
Out[21]= |  |
此处给出了将原集合分解为两个集合的方式
Out[22]= |  |
找出由同样元素包在侧面的所有子集
Out[23]= |  |
用一种方式或所有可能方式运用规则
|