MATLAB Answers

0

fft of sin(pi*x/5)./(pi*x) returns NaN

Francesco Saverio Ciani さんによって質問されました 2019 年 7 月 11 日
最新アクティビティ Star Strider
さんによって 回答されました 2019 年 7 月 11 日
Hi,
I don't know why, if I do the G=sin(pi*x/5)./(pi*x), it returns NaN, can you help me?
Thanks
x=-100:0.1:100
G=sin(pi*x/5)./(pi*x)
H= abs(fft(G))
Tinc=0.01
Fs=1/Tinc;
freq =transpose( -Fs/2:Fs/length(G):Fs/2-(Fs/length(G)));
figure()
plot(x,G)
figure()
plot(freq,H)

  0 件のコメント

サインイン to comment.

タグ

製品


リリース

R2019a

1 件の回答

Star Strider
回答者: Star Strider
2019 年 7 月 11 日
 採用された回答

When ‘x’ is 0, ‘G’ becomes 0/0, and the IEEE standard defines that as NaN. Any NaN in a vector will propagate through all calculations involving it to result in the entire vector being NaN.
You can get around that by creating a version of L’Hospital’s rule by addint eps to ‘x’:
G=sin(pi*(x+eps)/5)./(pi*(x+eps))
Thar results in the entire vector — and its fft — being defined and not NaN.

  0 件のコメント

サインイン to comment.



Translated by