可以参考下
% --- Executes on button press in fft.
function fft_Callback(hObject, eventdata, handles)
global pathname filename sf nfft outfile H1 H2;
fid=fopen([pathname filename],'r');
x=fscanf(fid,'%f',[1,inf]); %按行读入原始信号数据
%FFT变换
nt=length(x);
h=findobj('Tag','cypl');
sf=str2double(get(h,'string'));
h=findobj('Tag','nfftcd');
nfft=str2double(get(h,'string'));
y=fft(x);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%绘制输入曲线图形
t=0:1/sf:100/sf;
plot(H1,t,x(1:101));
xlabel('时间(s)');
ylabel('幅值');
title('输入数据的时程曲线图')
grid on;
%绘制幅频曲线图
f=0:sf/nfft:(nt-1)*sf/nfft;
plot(H2,f,abs(y));
axis([0,(nt-1)*sf/(nfft*2),3*min(y)/2,3*max(y)/2])
xlabel('频率(Hz)');
ylabel('幅值');
title('信号频谱图');
outfile=y;
grid on
%grid on;
%h = findobj('tag',axes1)
% hObject handle to fft (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
多看看帮助,那里面都有例子,比到这里问要好
温馨提示:答案为网友推荐,仅供参考