Sinc的反函数是什么

时间:2015-05-12 15:00:44

标签: math numerical-methods

我整天都在搜索sinc(x)之间-pi and pi的反函数,但找不到任何东西:

enter image description here

有人知道从给定sinc值获取角度值的方法吗?如果它变得更容易,我只对-pi and pi之间的区域感兴趣 提前感谢您的帮助。

2 个答案:

答案 0 :(得分:6)

一般情况下,即使限制在 sinc bijective的小间隔(我不认为您的要求如此),it has no simple inverse

也许您可以执行以下操作之一:

  1. 您可以计算反向"在线"使用 abs(sinc(x) - y)的最小化(参见,例如,Numerical Recipes in C。请注意,由于它是一个平滑的函数,你很幸运,所以你可以使用衍生物。

  2. 创建"离线"查找所需范围内各种值的查找表,并给出" online"查询,在两个预先计算的结果之间进行插值。

答案 1 :(得分:1)

用于查找零的

Newton's Method可用作近似sinc function的反转的方法。如果我们让f(x) = sin(x)/x,然后f'(x) = cos(x)/x-sin(x)/x^2使用牛顿方法,我们可以通过

逼近f的零
 x(n+1) = x(n) - f(x(n)) / f'(x(n))

根据我们的开始,只要我们没有遇到f'(x(n)) = 0我们应该找到解决方案的值。

如果我们将f限制在x∈(0,π]的单个分支,那么f(x)∈[0,1)是双射的,牛顿的方法可能对查找给定{x0∈(0,π]有用{1}} y0∈[0,1)。我们可以通过找到y0=f(x0)的位置来做到这一点。在这种情况下g(x0)=f(x0)-y0=0 g'(x) = f'(x),因为y0的导数是0.所以我们留下了迭代:

 x(n+1) = x(n) - [f(x(n)) - y0] / f'(x(n))

然后,诀窍是选择合适的x(0)来启动该过程。可能有很多选择,但x(0)=π可能就足够了。

有一点需要注意的是,你需要防范f'(x(n))=0的可能性。应检查此条件,如果遇到此情况,则应选择不同的x(0)并重新开始该过程。