subs(sinc(K),K,0)其中K是符号将返回NaN。不应该是1吗?

时间:2013-04-04 15:35:53

标签: matlab symbolic-computation

MATLAB sinc(0)将返回1。但是,某个符号sinc(K)的{​​{1}}代替零值将返回K

以下代码说明了上述内容:

NaN.

我是否可以强制sinc(0) % calculate sinc of 0, this will return 1 K = sym('K'); % define symbol K % try to substitute value 0 for K in sinc(K), this will return NaN subs(sinc(K), K, 0) 在符号情况下返回1(事先不知道sinc的值)?

K

1 个答案:

答案 0 :(得分:2)

您正在0/0潜水NaN,即sin(pi*K)/(K*pi),直接替换sinc

i = find(x==0); x(i) = 1; y = sin(pi*x)./(pi*x); y(i) = 1; 实际上是为了规避这一点。

subs(sinc(K), K, 0+eps) 
ans =

     1

您可以通过在值中添加一个小的正则化器来获得相同的效果:

{{1}}