wolfram-mathematica - 如何在Mathematica中按间隔定义函数?

标签 wolfram-mathematica

如何在Mathematica中定义一个函数f(x),如果x在[-5,-4]或[1,3]中,则给出1,否则返回0?这可能很简单,但我无法弄清楚!

最佳答案

您想要的基本结构是 Piecewise ,特别是您要的功能可以编写为

f[x_] := Piecewise[{{1, -5 <= x <= -3}, {1, 1 <= x <= 3}}, 0]

要么
f[x_] := Piecewise[{{1, -5 <= x <= -3 || 1 <= x <= 3}}, 0]

请注意,最后一个参数0定义了默认(或“else”)值,因为默认默认值为0。

还要注意,尽管 Piecewise Which 在形式上非常相似,但是Piecewise用于构造函数,而Which用于编程。 Piecewise在集成,简化等方面将发挥更好的作用,它还具有适当的左括号数学符号,请参见documentation中的示例。

由于您想要的分段函数非常简单,因此还可以通过像 Boole UnitStep UnitBox 这样的步骤函数来构造它,例如
UnitBox[(x + 4)/2] + UnitBox[(x - 2)/2]

这些只是Piecewise的特例,如PiecewiseExpand所示
In[19]:= f[x] == UnitBox[(x+4)/2] + UnitBox[(x-2)/2]//PiecewiseExpand//Simplify
Out[19]= True

另外,您也可以使用 HeavisideTheta HeavisidePi 之类的切换功能,例如
HeavisidePi[(x + 4)/2] + HeavisidePi[(x - 2)/2]

这很好,因为如果将函数视为分布,则其派生函数将返回Dirac delta函数的正确组合。

有关更多讨论,请参见教程Piecewise Functions

关于wolfram-mathematica - 如何在Mathematica中按间隔定义函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7631142/

相关文章:

wolfram-mathematica - 数学 : Print Text on 3D-Graphic

wolfram-mathematica - 将单词列表转换为这些单词出现频率的列表

math - 椭圆的标准形式

performance - 为什么这些例程在 Mathematica 中的相对效率高?

wolfram-mathematica - 参数化 3D 几何形状以优化形状

pdf - 在 Mathematica 中作为 PDF 的插值函数

wolfram-mathematica - 如何控制Mathematica的Manipulate语句中定位器的外观?

wolfram-mathematica - 如何在Mathematica中有效地初始化此稀疏数组?

wolfram-mathematica - 在 PackedArray 上,寻找使用它们的建议

wolfram-mathematica - 从包中加载mathematica 包