问题标签 [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.
matlab - 对 Bessel 函数使用负范围会产生 2 个值
我正在使用matlab的内置函数来计算二阶贝塞尔函数,下面是代码
输出如下
y =
-0.147863143391227 + 0.655158275182930i
-0.397925710557100 + 0.132086656047098i
-0.324674424791800 - 0.678117917051873i
0.107032431540937 - 1.153449615513747i
0.781212821300289 - 0.880101171489867i
-0.781212821300289
-0.107032431540937
0.324674424791800
0.397925710557100
0.147863143391227
我不明白为什么当 z 的值为负时我得到两个值?
c++ - 为什么 boost 的 bessel 函数不能用复杂的输入编译?
根据 boost 文档,boost 特殊函数 bessel 函数(特别是修改后的 bessel 函数)应该能够接受复杂的输入。
但是,当我尝试给它一个时,我得到一个编译错误,抱怨没有<
操作数类型的运算符float
和std::complex<float>
.
这是我的代码:
如您所见,我正在尝试将 boost 的修改后的贝塞尔函数实现用于 0 阶、第一类修改后的贝塞尔函数。
这会返回错误页面,但据我所见,他们都在抱怨<
输入操作数缺少运算符。
我尝试将模板参数显式指定为<int, complex>
,<double, complex>
和<complex, complex>
,但无济于事。
这是一个例子:
我正在使用启用了 C++11 的 Intel 2013 编译器。
我在这里做错了什么?
作为一个附带问题,查看该函数的 boost 文档,我注意到这个令人不安的位:
只要结果未定义或复杂,函数就会返回 domain_error 的结果。
这是否意味着当给定复杂的输入时,该函数也会因复杂的结果而失败(人们可以想象得到复杂输出的可能性)?
编辑:深入挖掘,问题似乎在于 std::complex 类型没有 > 或 < 运算符。这在某种程度上是有道理的,因为质疑一个复数是否大于另一个是有点模棱两可的(一个复数是大小,实部还是虚部?等等......)
因此,尽管贝塞尔函数是为复数输入定义的,但 boost 本身似乎不支持贝塞尔函数的复数输入。似乎文档对此有点误导。
c - 在 matlab 和 gsl 中使用修改后的贝塞尔函数
我正在尝试使用 Matlab 和 c 为音频信号制作 kaiser 窗口我一直在查看 Matlab 和 gnu 科学库文档以了解如何使用修改后的第一类和 0 阶贝塞尔函数,但我仍然有一些问题:
- 似乎GSL不接受0阶贝塞尔函数,我不明白关于这一点的文档。
- 我不知道我应该使用常规函数还是不规则函数。他们有什么区别?Matlab没有那个。
- 哪种是过滤信号最快的方法:时域还是频域?
- 如何在频域上过滤信号?
matlab - 在matlab上计算零阶贝塞尔函数
J(x)= 1/π 积分 cos(xsintheta)。限制是从 0 到 π。
在 MATLAB 中将 J(2pid/λ) 绘制为 d/λ 的函数,d/λ 介于 0 和 2 之间。天线 0.7 和 0 之间的相关性在多少距离(波长)处?
当我定义 syms theta 并使用 J_=integral(J,0,pi); 时,我不明白如何将它集成到 matlab 中。出现错误。其次,当我手动集成它时,答案显示为 0。请帮助我。
matlab - Matlab自定义球形贝塞尔函数NaN为0
我有一个涉及 0 阶球面贝塞尔函数的问题。我编写了自己的球面贝塞尔函数:
这似乎与我所有测试用例的 Mathematicas 内置一致。问题在nu
或x =0
。Mathematica 正确返回 1,但我的 MATLAB 脚本返回 NaN。我怎样才能更正我的代码,这样如果我输入一个say数组,x = 0:1:5
我的第一个值就会得到1,而不是
我的自定义函数是解决这个问题的最佳方法吗?
谢谢
matlab - 矢量化 - Sum 和 Bessel 函数
任何人都可以帮助矢量化这个 Matlab 代码吗?具体问题是向量输入的求和和贝塞尔函数。谢谢!
python - python的密度图用贝塞尔积分制作衍射图案,但它不会停止运行
我正在尝试制作一个圆形衍射图案,它的中心点被一系列环包围。它涉及到代码中定义的贝塞尔积分。
我的问题是它需要很长时间,就像我等待 10 分钟让代码运行但没有显示任何内容一样。我知道这是因为我的贝塞尔积分每点有 1000 次迭代,任何人都可以帮助解决这个问题吗?
我在正确的轨道上吗?
我正在尝试通过 Mark Newmans 的书 Computational Physics 自学 Python 和计算物理学,练习是计算物理学的 5.4。这是本章的链接。它在第 9 页。 http://www-personal.umich.edu/~mejn/cp/chapters/int.pdf
这是我正在尝试制作的图像。
.
我的代码:
c# - 来自 math.net 的第一类贝塞尔函数
我需要在unity3d中使用第一类bessel函数(使用c#)。在尝试在统一中使用 mathnet.numerics .dll 后,我发现许多错误显然是由于 unity3d 不支持 .NET 4。然后我决定使用 jetbrains dotPeek 反编译器来查找贝塞尔函数源。
然而,贝塞尔函数给出了错误的输出,老实说,数学高于我的工资等级,所以调试它非常困难。任何人都可以看到我使用过的任何错误。
例如,x = 20 的输出是 43558282.5571362 其中应该是 0.167025
c++ - c++ 中“Matlab besselk(x,y,1)”的确切等价物是什么?
我试过了boost::math::cyl_bessel_k(x,y) * exp(y)
。在大多数情况下,这等于 Matlab 的 scaled besselk(x,y,1)
。但在某些情况下(例如 , x=1
)y=2000
当besselk(x,y)=0
和时boost::math::cyl_bessel_k(x,y)=0
,Matlab 的缩放版本besselk(x,y,1)
给我不同的值在10^-3
. 但boost::math::cyl_bessel_k(x,y) * exp(y)
回报-nan
。我想为 Matlab 的besselk(x,y,1)
. 我该如何处理?
matlab - matlab中贝塞尔函数的微分计算
在 Matlab 中,为什么贝塞尔函数 j1(x) 的微分让我们说 x= 1:10 给出 9 个值而不是 10 个?