问题标签 [bessel-functions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3681 浏览

bessel-functions - 在 MATLAB 中绘制艾里斑图

所以通风模式的公式是

来源:维基百科

J 是 MatLab 中的 Bessel 函数besselj(1,x)。我将如何绘制它并仅针对 0-10 的 x 值对其进行近似?

0 投票
1 回答
355 浏览

maple - Maple 18:修正贝塞尔函数的积分

我尝试通过 Maple 18 计算以下积分:

结果是:

但是,当我计算上述结果的推导时,我没有得到相同的表达式表示:

=(1/8)*MeijerG([[], []], [[-1/2, -3/2], []], (1/4)*x^2)/x

如何告诉 Maple 用修改后的 bessel 函数而不是 MeijerG 函数来表达结果?

谢谢!

0 投票
1 回答
399 浏览

c# - C# 中的 BesselK 函数

我正在尝试从 Boost(一个 C++ 库)中实现 BesselK 方法。Boost 方法接受两个双精度并返回一个双精度。(我在下面将它实现为 cyl_bessel_k 。)

我对此建模的方程式来自 Boosts 文档: http: //www.boost.org/doc/libs/1_45_0/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/mbessel.html

我也一直在检查 Wolfram 的值: http ://www.wolframalpha.com/input/?i=BesselK%283%2C1%29

当为“v”传递一个正的非整数值时,我能够匹配 Boost 方法的输出。但是,当传递一个整数时,我的输出严重偏离。因此,存在明显的不连续性问题。通过阅读这个,似乎这个问题是由于将一个负整数传递给 gamma 函数而引起的。不知何故,Bessel_I 方法在这里发挥了反射作用,但我的数学技能已经接近尾声了。

1.) 带反射的 bessel_i 方法需要做什么才能使其工作?

2.)我目前正在做部分求和的方法。Boost 使用连续分数方法。我怎样才能修改它来解释收敛?

任何输入表示赞赏!谢谢!

0 投票
1 回答
1691 浏览

gnuplot - 使用修改后的 Bessel 函数进行 Gnuplot 拟合

我想将我的数据拟合到 gnuplot 中,拟合关系中包含第二类修改后的 Bessel 函数。所以让我们说它看起来像这样:

(我是用 matlab 或 octave 编写的,而我想通过拟合找到的系数是 A 和 b,所以其中一个在贝塞尔中)。但问题是 gnuplot 没有修改过的第二类贝塞尔函数。

有人知道我该怎么做吗?

0 投票
3 回答
1497 浏览

algorithm - 贝塞尔函数的自然对数,溢出

我正在尝试在 MATLAB 中计算修改后的第二类 Bessel 函数的对数,即类似的东西:

例如,在哪里

我有一个问题,因为它的值log(besselk(nu, Z))趋于无穷,因为besselk(nu, Z)它是无穷大。不过,log(besselk(nu, Z)) 确实应该很小。

我正在尝试写类似的东西

但是,我收到以下错误:

使用 mupadmex 时出错 MuPAD 命令中的错误:DOUBLE 无法将输入表达式转换为双精度数组。如果输入表达式包含符号变量,请改用 VPA 函数。

sym/double 错误(第 514 行) Xstr = mupadmex('symobj::double', Ss, 0)`;

我怎样才能避免这个错误?

0 投票
0 回答
330 浏览

matlab - 带有导数和贝塞尔函数的 Matlab 中的 3D 球面图

我想在球坐标中绘制以下函数 B(r,theta,phi)。

当我运行上述代码时,我收到以下警告和错误。

0 投票
0 回答
131 浏览

gsl - 贝塞尔函数上的 GSL 导数函数

我正在尝试实现割线方法来查找贝塞尔函数的根。我首先编写了一些代码,通过使用 gsl 中的直接贝塞尔函数来解决它。我现在正在尝试将其更改为错误代码,以便我可以评估何时停止代码。此代码适用于原始功能:

在此我声明要区分的功能为:

当我尝试修改它以包含错误的贝塞尔函数时

它停止工作。我所做的主要改变是:

所以我的功能现在是

一旦我实现了 gsl_deriv_central,它就会返回一个分段核心转储。我认为问题在于我如何在我提交的代码中声明函数。

如果有人可以帮助我解决这个问题,我将不胜感激:)

0 投票
2 回答
391 浏览

excel - 在 MATLAB 中使用贝塞尔函数

我正在尝试将 Excel 工作簿中的所有函数放入 MATLAB。我在 MATLAB 中使用贝塞尔函数时遇到问题。我只是没有从 MATLAB 中获得与在 excel 中相同的结果。

例如,在 excel 中,如果我执行

我得到 1.012。

当我在 MATLAB 中使用相同的方法时

我只是得到零。

有人可以帮我将贝塞尔函数集成到我的 MATLAB 脚本中,以便它们提供与在 excel 中使用时相同的答案吗?

0 投票
1 回答
136 浏览

matlab - 隐函数的根,包括修正贝塞尔函数的积分 - 符号变量与 fzero 不兼容

我正在尝试为r求解方程f,如下所示:

然而,第一个积分(包含贝塞利)的符号输出在 fzero 中给出了错误。问题似乎是 besseli 包含 rho (当我删除这个 rho 实例时,我没有收到任何错误)。

我尝试过使用 subs 和 eval,并将整个事情解决为象征性的,但老实说,这确实是反复试验。我敢肯定,我缺少一些简单的东西-任何帮助都会很棒!

干杯,

艾伦

0 投票
1 回答
752 浏览

c++ - 大变量的高阶贝塞尔函数计算

我的工作涉及计算大变量值的高阶贝塞尔函数。在 MATLAB 中,这已毫无问题地完成。但是,为了扩大问题的规模,我已经调整为使用 MPI 编写 C++ 代码。当然,生成贝塞尔函数的步骤是通过调用一些库来完成的。为了把问题具体化,让我考虑一下这个非常具体的错误。

在 matlab 中,假设我希望计算 $J_46341(86840.0)$,并且

matlab给我:besselj(46341,86840)=0.001309896212292

但是,调用一个简单的测试示例

gsl_sf_bessel_Jn_e 返回“错误:NaN”

我已经检查了订单 46340,matlab 和 gsl 在可接受的精度范围内返回相同的答案 0.00292895。GSL 中的进一步步骤会导致 NaN 错误,而 matlab 仍然保留了良好的准确数字答案。

我确实尝试使用递归关系来生成更高阶的值,从一个不那么小的阶,比如从 2​​0000 及以上的阶开始,但是,这只会延迟 NaN 错误而不能完全解决问题。

将注意力转移到其他可用的软件库上,我尝试了 NAG,但令我非常失望的是,

nag_bessel_j_alpha (s18ekc) 具有 abs(nl)<=101 的约束

,换句话说,它只能计算到 101 的顺序,这显然不符合我的学习兴趣。

所以,我的问题很简单:

是否有更可靠的库方法来获得大 x 的高阶贝塞尔函数值?

渐近地,贝塞尔函数接近 0,如果尾部接近下溢限制,我肯定可以将这些值设置为零。然而,NaN 问题似乎发生在强烈振荡曲线和渐近衰减尾部之间。