Wolfram mathematica 在Simplify and Expand中使用可选的特殊函数

Wolfram mathematica 在Simplify and Expand中使用可选的特殊函数,wolfram-mathematica,Wolfram Mathematica,我有涉及特殊函数Erf[x]和Erfc[x]的Mathematica表达式,但我想用缩放和翻译版本来表达它们 F[x_] := CDF[NormalDistribution[0,1]][x] 整个笔记本。这是因为F[x]对我的问题有一个简单的解释。不确定我是否理解你的问题,但我试图回答我对你所说内容的解释 在erf和erfc中有一个表达式,如下所示 expr = Erf[x] + 1/Erfc[x] + Sin[Erf[x]] + Cos[Erfc[x]] 将erf和erfc替换为F所需的

我有涉及特殊函数
Erf[x]
Erfc[x]
的Mathematica表达式,但我想用缩放和翻译版本来表达它们

F[x_] := CDF[NormalDistribution[0,1]][x]

整个笔记本。这是因为
F[x]
对我的问题有一个简单的解释。

不确定我是否理解你的问题,但我试图回答我对你所说内容的解释

在erf和erfc中有一个表达式,如下所示

expr = Erf[x] + 1/Erfc[x] + Sin[Erf[x]] + Cos[Erfc[x]] 
将erf和erfc替换为F所需的全部内容如下:

 expr //. {Erfc[x_] -> 2 F[-(x) Sqrt[2]], Erf[x_] -> 1 - Erfc[x]}

 (* ==>  1 + Cos[2 F[-Sqrt[2] x]] + 1/(2 F[-Sqrt[2] x]) -
         2 F[-Sqrt[2] x] + Sin[1 - 2 F[-Sqrt[2] x]]
 *)
这与你对F[x]的定义是一样的:

1 + Cos[2 F[-Sqrt[2] x]] + 1/(2 F[-Sqrt[2] x]) - 2 F[-Sqrt[2] x] + 
  Sin[1 - 2 F[-Sqrt[2] x]] /. F[x_] -> CDF[NormalDistribution[0, 1]][x]

(* ==> 1 + Cos[Erfc[x]] + 1/Erfc[x] - Erfc[x] + Sin[1 - Erfc[x]] *)

请详细解释您想要的行为,并至少提供一小部分代码示例。链接到MathGroup上的同一个问题:这听起来像是一个心烦意乱(或标记集)的应用程序。谢谢Sjoerd。但似乎有了替换规则,F[x]的函数定义就丢失了。我希望保留定义
F[x]:=CDF[NormalDistribution[0,1]][x]
,以便其导数等按预期进行,并使输出以F[x]而不是Erfc[x]的形式出现。可能吗?@user1100309很遗憾,我认为这是不可能的。因为您为F[x_3;]=….定义了一个定义,所以每当Mathematica看到F[x]时,它都会对其求值。这里有一个与Sjoerd版本非常相似的替代方案:rewrite[exprè]:=Simplify[FunctionExpand@Simplify[expr]/.Erf[x_]:>1-2fi[Sqrt[2]x]]将重写并有望简化FI方面的表达式。