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
我想使用一点修改后的复变元互补函数。我自己定义了它,因为 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