在MATLAB中使用bessel函数
我试图把我的所有function从Excel工作簿到MATLAB。 我在MATLAB中使用bessel函数有一个问题。 我只是没有像在Excel中那样从MATLAB获得相同的结果。
例如,如果我执行,在Excel中
=0.32*BESSELI(0.32,0)/2/BESSELI(0.32,1)
我得到1.012。
当我在MATLAB中使用相同的方法
0.32*besseli(0.32,0)/2/besseli(0.32,1)
我只是得到零。
有人可以帮助我将bessel函数集成到我的MATLAB脚本中,以便他们提供与在Excel中使用相同的答案吗?
MATLAB和Excel以不同顺序具有besseli
函数的参数。
下面的expression式(注意variables的顺序):
0.32*besseli(0, 0.32)/2/besseli(1, 0.32)
会产生:
> ans = 1.0127
在MATLAB中。
该文档显示的公式和显示,如果你使用Z = 0,你在第一次besseli
,你应该得到0,你这样做。 第二次打电话给besseli
不应该让你零,事实上它不:
besseli(0.32,1) ans = 1.0744
我从上述文档复制了以下内容:
这表明, 除非你的Nu(那个看起来像av的希腊事物)是零,那么你在Z = 0的第一类修改的Bessel函数实际上是零。 在一个侧面说明:为什么你加倍分而不是简单的写作
0.32*besseli(0.32,0)*besseli(0.32,1)/2