Você está na página 1de 2

function [wave,dt,N,Latitude,Longitude,Depth,Magnitude,Code,Height,Time]=

ReadWaveFile(FileNam)
% read earthquake date from an assigned file with file name "fn"
% output the wave data[wave] and data time interval [dt] data number [N]
% in unit of gal

fid=fopen(FileNam,'r');
s=fscanf(fid,'%s',[1,1]);
keyword='Lat.';
while strcmp(s,keyword)==0;
s=fscanf(fid,'%s',[1,1]);
end
Latitude=fscanf(fid,'%f',[1,1]);
keyword='Long.';
while strcmp(s,keyword)==0;
s=fscanf(fid,'%s',[1,1]);
end
Longitude=fscanf(fid,'%f',[1,1]);
keyword='(km)';
while strcmp(s,keyword)==0;
s=fscanf(fid,'%s',[1,1]);
end
Depth=fscanf(fid,'%f',[1,1]);
keyword='Mag.';
while strcmp(s,keyword)==0;
s=fscanf(fid,'%s',[1,1]);
end
Magnitude=fscanf(fid,'%f',[1,1]);
keyword='Code';
while strcmp(s,keyword)==0;
s=fscanf(fid,'%s',[1,1]);
end
Code=fscanf(fid,'%s',[1,1]);
keyword='Height(m)';
while strcmp(s,keyword)==0;
s=fscanf(fid,'%s',[1,1]);
end
Height=fscanf(fid,'%f',[1,1]);

freq=serchByKey('Freq(Hz)',fid);
Time=serchByKey('Time(s)',fid);
N=freq*Time;
dt=1/freq;

keyword='Factor';
while strcmp(s,keyword)==0
s=fscanf(fid,'%s',[1,1]);
end
gal=fscanf(fid,'%d',[1,1]);
s=fscanf(fid,'%c',[1,6]);
pgal=fscanf(fid,'%d',[1,1]);

keyword='Memo.';
while strcmp(s,keyword)==0;
s=fscanf(fid,'%s',[1,1]);
end

wave=zeros(1,N);
for i=1:N
wave(i)=fscanf(fid,'%f',[1,1]);
end
wave=wave*gal/pgal;
end

Você também pode gostar