PDA

查看完整版本 : [MATLAB GUI] 急!!用户任意输入一个函数要实现傅里叶变换


LYLF
2011-05-22, 13:50
N=8;
t=0:N-1;
xn=('edit1')
Xk=fft('xn',N); 到这里就报错!!
plot(Xk);
stem(t,abs(Xk),'.');
axes(handles,axes2,[0,20,0,20]);
ylabel('|Xk|');
title('8点FFT变换');
??? Error using ==> fft
Not enough input arguments.

Error in ==> fft at 34
builtin('fft', varargin{:});
求解!~谢谢

ownsunny
2011-05-25, 09:13
肯定是错的啊, fft(xn,N)就行了,为什么要加引号? 然后你接下去直接plot了,我估计你也看不到你想要的结果。因为你的频率横轴没有定义,或者你就用信号的采样点数作为横轴,否则应该是乱麻一团或者很莫名其妙的图形。

一般我用的是y=fftshift(abs(fft(x)))做fft计算,然后定义出频率轴ffx,然后plot(ffx,y)