matlab中复杂参数的互补函数

complementary function of complex argument in matlab

我想使用一点修改后的复变元互补函数。我自己定义了它,因为 MATLAB 不能直接处理复杂的参数。

w=@(p) exp(-p.^2).*double(erfc(sym(-i*p)));

它有效,但不适用于所有参数。在我的循环中,我开始得到诸如

这样模糊的值

NaN + NaNi

例如参数 -27.4525 +0.0070*i.

什么意思,如何处理?

我不确定 erfc 对于复杂参数的重要性,但是,问题是 erfc 趋于无穷大:

>> syms p real
>> limit(erfc(p*i),p,Inf)

ans =

1 - Inf*i

您将 erfc 与 exp(-p.^2) 相乘,结果为 0,因此 Inf*0=NaN.

如果你象征性地对待整个事物并且只将乘积转换为数值,它就会起作用,就像这样:

>> w=@(p) double(exp(-sym(p).^2).*erfc(sym(-i*p)));
>> w(-27.4525 +0.0070*i)

ans =

0.0000 - 0.0206*i