美文网首页Wolfram...
Mathematica分段函数的疑惑

Mathematica分段函数的疑惑

作者: 破旧的大卡车 | 来源:发表于2017-11-12 15:43 被阅读51次

运行如下代码可以得到不同输出, 奇了怪了!考察分段函数:

f[x_] := x^(1/3) /; x > 0
f[x_] := -(-x)^(1/3) /; x < 0
f[x_] := 0 /; x == 0
Plot[{f[x], f'[x], x^(-2/3)/3}, {x, 0, 1}, AspectRatio -> 1]
输出结果1
可以看到分段函数的导数在0~0.4的那部分有点问题。我们重新定义函数如下(不用条件符号/;):
f[x_] := x^(1/3)
Plot[{f[x], f'[x], x^(-2/3)/3}, {x, 0, 1}, AspectRatio -> 1]

则输出为:


正常的函数图像

奇怪的是, 再次运行开始给的代码, 得到的输出变正常了:

f[x_] := x^(1/3) /; x > 0
f[x_] := -(-x)^(1/3) /; x < 0
f[x_] := 0 /; x == 0
Plot[{f[x], f'[x], x^(-2/3)/3}, {x, -1, 1}, AspectRatio -> 1]
再次运行又正常了

你知道问题何在吗?

相关文章

网友评论

    本文标题:Mathematica分段函数的疑惑

    本文链接:https://www.haomeiwen.com/subject/ictomxtx.html