matlab 傅立叶识别字符,Matlab关于循环FFT(傅立叶分析),取出幅值

global numG;

global zs;

typeval=get(hObject,'Value');

switch typeval

case 1

numG=4;

case 2

%  handles.starta=0;

numG=5;

case 3

numG=6;

%handles.starta=54

end

guidata(hObject,handles);

for k=1:numG

[filename,filepath]=uigetfile(...

{'*.txt;*.dat;*.mat','所有数据文件 (*.txt,*.dat,*.mat)';

'*.txt','TXT 文件   (*.txt)';...

'*.dat','DATA 文件  (*.dat)';...

'*.mat','MAT 文件   (*.mat)';...

'*.*','所有 文件   (*.*)'});

str=[filepath filename];

set(handles.path,'string',str);

fid=fopen(filename,'rb');

[data,count]=fscanf(fid,'%e',inf);

fclose(fid);

a(k)=data(2161);

j=1;

for i=2:3:2159;

Ydata(j,1)=data(i);

j=j+1;

end;

suju(:,k)=Ydata;

axes(handles.jwyi);cla(gca)

plot(1:720,suju(:,k));%角位移曲线

xlabel('角度');

ylabel('角位移');

yk=fft(suju(:,k));%进行fft变换

magk=abs(yk)*2/length(yk);%求幅值

f=(0:length(yk)-1);%*fs/length(y);%进行对应的频率转换

%        n=f*60/zs;%谐次

set(handles.xieci,'string',3);

handles.magk=magk;

axes(handles.flye);

h=stem(f,magk);%傅立叶曲线

set(handles.fuzhi1,'string',max(magk));

xlabel('谐次');

ylabel('幅值');

xlim([0 20]);

title('傅立叶谐次图');

end

handles.a=a;

set(handles.gl1,'string',handles.a(1));

set(handles.gl2,'string',handles.a(2));

set(handles.gl3,'string',handles.a(3));

set(handles.gl4,'string',handles.a(4));

handles.suju=suju;

handles.n=n;

handles.m=m;

guidata(hObject,handles);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值