问题标签 [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.
bessel-functions - 在 MATLAB 中绘制艾里斑图
所以通风模式的公式是
J 是 MatLab 中的 Bessel 函数besselj(1,x)
。我将如何绘制它并仅针对 0-10 的 x 值对其进行近似?
maple - Maple 18:修正贝塞尔函数的积分
我尝试通过 Maple 18 计算以下积分:
结果是:
但是,当我计算上述结果的推导时,我没有得到相同的表达式表示:
=(1/8)*MeijerG([[], []], [[-1/2, -3/2], []], (1/4)*x^2)/x
如何告诉 Maple 用修改后的 bessel 函数而不是 MeijerG 函数来表达结果?
谢谢!
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 使用连续分数方法。我怎样才能修改它来解释收敛?
任何输入表示赞赏!谢谢!
gnuplot - 使用修改后的 Bessel 函数进行 Gnuplot 拟合
我想将我的数据拟合到 gnuplot 中,拟合关系中包含第二类修改后的 Bessel 函数。所以让我们说它看起来像这样:
(我是用 matlab 或 octave 编写的,而我想通过拟合找到的系数是 A 和 b,所以其中一个在贝塞尔中)。但问题是 gnuplot 没有修改过的第二类贝塞尔函数。
有人知道我该怎么做吗?
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)`;
我怎样才能避免这个错误?
matlab - 带有导数和贝塞尔函数的 Matlab 中的 3D 球面图
我想在球坐标中绘制以下函数 B(r,theta,phi)。
当我运行上述代码时,我收到以下警告和错误。
gsl - 贝塞尔函数上的 GSL 导数函数
我正在尝试实现割线方法来查找贝塞尔函数的根。我首先编写了一些代码,通过使用 gsl 中的直接贝塞尔函数来解决它。我现在正在尝试将其更改为错误代码,以便我可以评估何时停止代码。此代码适用于原始功能:
在此我声明要区分的功能为:
当我尝试修改它以包含错误的贝塞尔函数时
它停止工作。我所做的主要改变是:
所以我的功能现在是
一旦我实现了 gsl_deriv_central,它就会返回一个分段核心转储。我认为问题在于我如何在我提交的代码中声明函数。
如果有人可以帮助我解决这个问题,我将不胜感激:)
excel - 在 MATLAB 中使用贝塞尔函数
我正在尝试将 Excel 工作簿中的所有函数放入 MATLAB。我在 MATLAB 中使用贝塞尔函数时遇到问题。我只是没有从 MATLAB 中获得与在 excel 中相同的结果。
例如,在 excel 中,如果我执行
我得到 1.012。
当我在 MATLAB 中使用相同的方法时
我只是得到零。
有人可以帮我将贝塞尔函数集成到我的 MATLAB 脚本中,以便它们提供与在 excel 中使用时相同的答案吗?
matlab - 隐函数的根,包括修正贝塞尔函数的积分 - 符号变量与 fzero 不兼容
我正在尝试为r求解方程f,如下所示:
然而,第一个积分(包含贝塞利)的符号输出在 fzero 中给出了错误。问题似乎是 besseli 包含 rho (当我删除这个 rho 实例时,我没有收到任何错误)。
我尝试过使用 subs 和 eval,并将整个事情解决为象征性的,但老实说,这确实是反复试验。我敢肯定,我缺少一些简单的东西-任何帮助都会很棒!
干杯,
艾伦
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 仍然保留了良好的准确数字答案。
我确实尝试使用递归关系来生成更高阶的值,从一个不那么小的阶,比如从 20000 及以上的阶开始,但是,这只会延迟 NaN 错误而不能完全解决问题。
将注意力转移到其他可用的软件库上,我尝试了 NAG,但令我非常失望的是,
nag_bessel_j_alpha (s18ekc) 具有 abs(nl)<=101 的约束
,换句话说,它只能计算到 101 的顺序,这显然不符合我的学习兴趣。
所以,我的问题很简单:
是否有更可靠的库方法来获得大 x 的高阶贝塞尔函数值?
渐近地,贝塞尔函数接近 0,如果尾部接近下溢限制,我肯定可以将这些值设置为零。然而,NaN 问题似乎发生在强烈振荡曲线和渐近衰减尾部之间。