📄 wsac.m
字号:
%WSAC Write SAC binary files.% WSAC('sacfile') writes a SAC (seismic analysis code) binary% format file %% Default byte order is little-endian. M-file can be set to default% big-endian byte order.%% Examples:%% wsac('KATH.R',kath);%% wsac('SQRL.R',sqrl,'AAK.R',aak);%% by Michael Thorne (4/2004) mthorne@asu.edu%% See also: RSAC, LH, CH, BSAC function wsac(varargin);for nrecs = 1:2:(nargin-1) outname = varargin{nrecs}; sacfile = varargin{nrecs+1};% first test to see if the file is indeed a sacfile%---------------------------------------------------------------------------if (sacfile(303,3)~=77 & sacfile(304,3)~=73 & sacfile(305,3)~=75 & ... sacfile(306,3)~=69) error('Specified Variable is not in SAC format ...')elseif nargin <= 1 error('Not enough input arguments ...')end%---------------------------------------------------------------------------% Default byte-order% endian = 'big' big-endian byte order (e.g., UNIX)% = 'lil' little-endian byte order (e.g., LINUX)endian = 'lil';if endian == 'big' fid = fopen(outname,'w','ieee-be'); elseif endian == 'lil' fid = fopen(outname,'w','ieee-le'); end%read in 3-column sac-like matlab files h(1:306) = sacfile(1:306,3);% write single precision real header variables:%---------------------------------------------------------------------------for i=1:70 fwrite(fid,h(i),'single');end% write single precision integer header variables:%---------------------------------------------------------------------------for i=71:105 fwrite(fid,h(i),'int32');end% write logical header variables%---------------------------------------------------------------------------for i=106:110 fwrite(fid,h(i),'int32');end% write character header variables%---------------------------------------------------------------------------for i=111:302 fwrite(fid,h(i),'char');end% write out amplitudes%---------------------------------------------------------------------------YARRAY = sacfile(:,2);fwrite(fid,YARRAY,'single');fclose(fid);end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -