在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 
Interesting Posts