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

📄 copy_fields.m

📁 基于Matlab的地震数据处理显示和测井数据显示于处理的小程序
💻 M
字号:
function seisout=copy_fields(seisin,seisout)
% Function copies fields in structure "seisin" to "seisout" if they do not 
% exist in structure "seisout".
% A field "null" is added if fields "traces" or "curves" contain NaNs.
%
%              seisout=copy_fields(seisin,seisout)

if nargin == 1 | isempty(seisout)
  seisout=seisin;
  return
end

fieldsin=fieldnames(seisin);
fieldsout=[fieldnames(seisout);{'null'}];   % Do not copy 'null' field
index=find(~ismember(fieldsin,fieldsout));

for ii=1:length(index)
  seisout=setfield(seisout,fieldsin{index(ii)},getfield(seisin,fieldsin{index(ii)}));
end

if isfield(seisin,'curves')
%       Check for null values in log curves
  if ~isfield(seisout,'null') & sum(sum(isnan(seisout.curves(:,2:end)))) > 0
    seisout.null=NaN;
  end

elseif isfield(seisin,'traces')
%       Check for null values in seismic traces
  if ~isfield(seisout,'null') & sum(isnan(seisout.traces(:))) > 0
    seisout.null=NaN;
  end
end

⌨️ 快捷键说明

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