对贝塞尔函数使用负范围会产生 2 个值



我正在使用matlab的内置函数来计算二阶贝塞尔函数,以下是代码

format long
z = (-5:1:5)';
 y = bessely(1,z)
plot (y)

输出如下

y =

-0.147863143391227 + 0.655158275182930i

-0.397925710557100 + 0.132086656047098i

-0.324674424791800 - 0.678117917051873i

0.107032431540937 - 1.153449615513747i

0.781212821300289 - 0.880101171489867i

           -Inf                       

-0.781212821300289
-0.107032431540937
0.324674424791800
0.397925710557100
0.147863143391227

我不明白的是,当z的值为负时,为什么我会得到两个值?

-0.147863143391227 + 0.655158275182930i

不是两个值,它是一个复数。看到第二部分右边的i了吗? 这就是 Matlab 告诉你第二个数字是数字的虚部,乘以 i 的那个,即 -1 的平方根。

Matlab

告诉你,我同意Matlab的观点,该函数返回负输入的复值。

两个值?!这是一个复杂的数字!也就是说,形式为 x+yi 的数字,其中 i 是 -1 的平方根。

相关内容

  • 没有找到相关文章

最新更新