我正在使用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的观点,该函数返回负输入的复值。
两个值?!这是一个复杂的数字!也就是说,形式为 x+yi 的数字,其中 i
是 -1 的平方根。