我试图将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中使用时相同的答案吗?
答案 0 :(得分:3)
MATLAB和Excel以不同的顺序具有besseli
函数的参数。
以下表达式(请注意参数的顺序已更改):
0.32*besseli(0, 0.32)/2/besseli(1, 0.32)
将产生:
> ans = 1.0127
在MATLAB中。
答案 1 :(得分:2)
documentation显示公式,并显示如果你使用Z = 0(你在第一个besseli
中有),那么你应该得到0。对besseli
的第二次调用不应该让你为零,事实上它不会:
besseli(0.32,1)
ans =
1.0744
我从上述文档中复制了以下内容:
这表明除非你的nu(看起来像v的希腊语)为零,否则你在Z = 0时修改的第一类Bessel函数实际上为零。 旁注:为什么你要分开而不是简单地写
0.32*besseli(0.32,0)*besseli(0.32,1)/2