Wolfram mathematica 定义选定范围内的函数,Mathematica

Wolfram mathematica 定义选定范围内的函数,Mathematica,wolfram-mathematica,Wolfram Mathematica,在mathematica中,有没有一种方法可以定义特定域上的函数?我之所以需要这个,是因为我想反转一个函数,这个函数在特定的域上是单调的。 例如: f[x_]:=x^2 g[x_]:=InverseFunction[f][x] 将给我$Failed报告。这是因为抛物线函数仅在x>0或x上是单调的,这适用于您的示例 f[x_ /; x != 0] := x^2 g[y_] := InverseFunction[f][y] Plot[g[z], {z, -2, 2}] 我没有得到$Fail

在mathematica中,有没有一种方法可以定义特定域上的函数?我之所以需要这个,是因为我想反转一个函数,这个函数在特定的域上是单调的。
例如:

 f[x_]:=x^2
 g[x_]:=InverseFunction[f][x]

将给我$Failed报告。这是因为抛物线函数仅在x>0或x上是单调的,这适用于您的示例

f[x_ /; x != 0] := x^2 
g[y_] := InverseFunction[f][y]
Plot[g[z], {z, -2, 2}]

我没有得到
$Failed
,而是得到一个警告“InverseFunction::ifun:正在使用反函数。多值反函数的值可能会丢失。>>”和一个输出。你用的是哪个版本?它是Mathematica 9,现在我测试了它,它给了我和你提到的一样的警告。我猜当我这么做的时候,mathematica已经充满了各种脚本,所以$Failed警告可能来自上下文中的任何内容。谢谢你的帮助!