gpt4 book ai didi

julia - 在 Julia 中定义分段函数

转载 作者:行者123 更新时间:2023-12-04 04:25:21 25 4
gpt4 key购买 nike

我有一个应用程序,我需要在其中定义分段函数 IE,f(x) = g(x) 用于 [x 在某个范围内],f(x)=h(x) 用于 [x 在某个其他范围内] , ... 等等。

在 Julia 中是否有一种很好的方法可以做到这一点?我宁愿不使用 if-else,因为似乎我必须检查每个范围以获取 x 的大值。我的想法是构造一个函数数组和一个边界/范围数组,然后在调用 f(x) 时,对范围进行二分搜索以找到适当的索引并使用相应的函数(IE, h(x)、g(x) 等。

似乎这种数学上友好的语言可能为此具有一些功能,但文档并未以这种方式分段提及。希望其他人对此有所考虑,谢谢!

最佳答案

使用 Heaviside 函数,您可以执行区间函数:

function heaviside(t)
0.5 * (sign(t) + 1)
end


function interval(t, a, b)
heaviside(t-a) - heaviside(t-b)
end

function piecewise(t)
sinc(t) .* interval(t,-3,3) + cos(t) .* interval(t, 4,7)
end

而且我认为它也可以实现一个子类型 Interval,它会更优雅

关于julia - 在 Julia 中定义分段函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27664881/

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