直接用X1=fft(x1,2048);也是可以的。但是,这两种语句,处理的结果是不同的。现程序会在-2*pi,0,2*pi三处附近出现信号波形,而X1=fft(x1,2048);语句只在-2*pi,2*pi两处出现波形,你可试试。另外,把plot(w,abs(X1));改为plot(w,X1);更清楚。