Matlab 其中K是符号的subs(sinc(K),K,0)将返回NaN。不应该';不是一点吗?

Matlab 其中K是符号的subs(sinc(K),K,0)将返回NaN。不应该';不是一点吗?,matlab,symbolic-computation,Matlab,Symbolic Computation,MATLABsinc(0)将返回1。但是某个符号的K的sinc(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) 我是否可以强制sinc在符号情况下返回1(

MATLAB
sinc(0)
将返回1。但是某个符号的
K
sinc(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) 
我是否可以强制
sinc
在符号情况下返回1(事先不知道
K
的值)


你正在潜入
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

问题似乎是
sinc
函数中的
find
find(sym('K'))
返回空数组。(与MATLAB和Sym数学工具箱版本相同)
subs(sinc(K), K, 0+eps) 
ans =

     1