0

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

4

2 回答 2

3

这个

-0.147863143391227 + 0.655158275182930i

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

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

于 2013-09-27T08:33:18.117 回答
0

两个值?!这是一个复数!即 x+yi 形式的数,其中i是 -1 的平方根。

于 2013-09-27T08:33:48.337 回答