⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s_rm_traces.m

📁 基于Matlab的地震数据处理显示和测井数据显示于处理的小程序
💻 M
字号:
function seisout=s_rm_traces(seismic,option)% Function removes traces %       which consist exclusively of null values or %       which have at least one null value% An alert is issued if no trace is output% Written by: E. R., January 6, 2001% Last updated: February 2, 2001: remove common leading and trailing nulls prior to applying selection criterion%%           seisout=s_rm_traces(seismic,option)% INPUT% seismic   seismic data set% option    option requested. Possible values are:%           'any'  a trace is discarded if it contains any null values%           'all'  a trace is discarded if all values are null values%           Default: 'all'%% See also: S_RM_TRACE_NULLSglobal S4Mseisout=seismic;if ~isfield(seismic,'null')  returnendif nargin == 1  option='all';end[nsamp,ntr]=size(seismic.traces);%       First remove any leading or trailing NaNs common to all tracestest=max(seismic.traces,[],2);index=find(~isnan(test));if isempty(index)   seisout=rmfield(seisout,{'traces','headers','header_info','null'});   disp(' Alert from "s_rm_traces": Seismic traces have only null values')   returnendseisout.traces=seismic.traces(index(1):index(end),:);seisout.first=seismic.first+(index(1)-1)*seismic.step;seisout.last=seismic.last-(nsamp-index(end))*seismic.step;index=sum(isnan(seisout.traces));switch option                case 'all'idx=find(index ~= nsamp);if isempty(idx)   seisout=rmfield(seisout,{'traces','headers','header_info','null'});   disp(' Alert from "s_rm_traces": Seismic traces have only null values')   returnendseisout.traces=seisout.traces(:,idx);seisout.headers=seisout.headers(:,idx);if sum(index(idx) == 0)  seisout=rmfield(seisout,'null');endhtext=[num2str(ntr-length(idx)),' traces (with all null values) removed'];                case 'any'idx=find(index == 0);if isempty(idx)   seisout=rmfield(seisout,{'traces','headers','header_info','null'});   disp(' Alert from "s_rm_traces": Seismic traces have only null values')   returnendseisout.traces=seisout.traces(:,idx);seisout.headers=seisout.headers(:,idx); seisout=rmfield(seisout,'null');htext=[num2str(ntr-length(idx)),' traces (with at least one null value) removed'];                otherwiseerror([' Unknown option: ',option])end		% End of switch blockif  S4M.history & isfield(seismic,'history')  seisout=s_history(seisout,'append',htext);end  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -