在贝塞尔函数中使用负范围得到2个值

时间:2013-09-27 08:29:50

标签: matlab bessel-functions

我使用matlab的内置函数来计算二阶bessel函数,以下是代码

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的值为负时我得到两个值?

2 个答案:

答案 0 :(得分:3)

-0.147863143391227 + 0.655158275182930i

不是两个值,而是一个复数。请参阅第二部分右侧的i?这是Matlab告诉你的第二个数字是数字的虚部,即乘以i,-1的平方根。

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

答案 1 :(得分:0)

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