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

📄 copy_fields.m

📁 实现地震勘探中
💻 M
字号:
function dsout=copy_fields(dsin,dsout)% Function copies fields in dataset "dsin" to "dsout" if they do not % exist in dataset "dsout".% A field "null" is added if fields "traces" or "curves" contain NaNs.%% Written by: E. R.: August 1, 2006% Last updated:%%          dsout=copy_fields(dsin,dsout)% INPUT% dsin     dataset from which to copy fields% dsout    dataset to which to copy fields% OUPUT% dsout    second input dataset with additional fields from first data setif nargin == 1 || isempty(dsout)   dsout=dsin;    returnendfieldsin=fieldnames(dsin);fieldsout=[fieldnames(dsout);{'null'}];   % "null" is added, so that it                                               %  will not be copiedindex=find(~ismember(fieldsin,fieldsout));for ii=1:length(index)   dsout.(fieldsin{index(ii)})=dsin.(fieldsin{index(ii)});%  dsout=setfield(dsout,fieldsin{index(ii)},getfield(dsin,fieldsin{index(ii)}));endswitch dsin.typecase 'well_log'%       Check for null values in log curves   if ~isfield(dsout,'null')  &&  any(any(isnan(dsout.curves(:,2:end))))      dsout.null=NaN;   endcase 'seismic'%       Check for null values in dsmic traces   if ~isfield(dsout,'null')  &&  any(isnan(dsout.traces(:)))      dsout.null=NaN;   endotherwise   alert(['Unknown dataset type: ',seisin.type])   end

⌨️ 快捷键说明

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