📄 copy_fields.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 + -