gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 13:18:23 25 4
gpt4 key购买 nike

如何在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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com