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

📄 l_seismic_acoustic.m

📁 基于Matlab的地震数据处理显示和测井数据显示于处理的小程序
💻 M
字号:
function wlog=l_seismic_acoustic(wlog,varargin)% Function computes seismic-relevant curves such as P-velocity and acoustic% impedance, Poison's ratio provided they do not yet exist% Function assumes that the input log has at least the following curves%      DTp or Vp%      rho% and computes the following additional curves if they do not exist%      Vp  or DTp%      Aimp%% Written by: E. R.: December 22, 2000% Last updated: April 17, 2006: Bug fix with impedance mnemonics%%               wlog=l_seismic_acoustic(wlog,varargin)% INPUT% wlog    log structure with, as a minimum, the curves listed above% varargin  new definitions of curve mnmonics of the form {'rho','RHOB')%        By default, the function uses the definitions of global structure%        CURVES as defined in function "systemDefaults"%          % OUTPUT% wlog log structure with all input curves and those additional curves listed %        above if they do not among the curves of the input log.%	The only possible "varargin" input can be re-definitions of%	curve mnemonicsdummy=[];[dummy,cm]=l_assign_input(dummy,varargin);%	Check for existence of density[irho,ier]=curve_index1(wlog,cm.rho);if isempty(irho)   disp(' Log must have curve for density to compute the impedance.')   disp([' Curve mnemonics of log: ',cell2str(wlog.curve_info(:,1),', ')])   disp(' The impedance will not be computed.')   compute_imp=logical(0);else   compute_imp=logical(1);end%    Check for existence of P-velocity curve and compute it from sonic if absent[ivp,ier]=curve_index1(wlog,cm.vp);if isempty(ivp)   [idtp,ier]=curve_index1(wlog,cm.dtp);   if isempty(idtp)      disp(' Log must have either a P-sonic (DTP) or a P-velocity (Vp) curve')      disp([' Curve mnemonics of log: ',cell2str(wlog.curve_info(:,1),', ')])      error(' Abnormal termination')   else      wlog.curves=[wlog.curves,1.0e6./wlog.curves(:,idtp)];      if strcmpi(wlog.curve_info{idtp,2},'us/m')         punits='m/s';      elseif strcmpi(wlog.curve_info{idtp,2},'us/ft')         punits='ft/s';      else         error([' Unknown units of sonic log: ',wlog.curve_info{idtp,2}])       end       wlog.curve_info=[wlog.curve_info;{cm.vp,punits,'P-velocity'}];       ivp=curve_index1(wlog,cm.vp);      wlog=add_curve_type(wlog,{cm.vp,'Vp','acoustic velocity'});   endelse   punits=wlog.curve_info{ivp,2};end%    Check for existence of sonic curve and compute it from P-velocity if absent[idtp,ier]=curve_index1(wlog,cm.dtp);if isempty(idtp)   wlog.curves=[wlog.curves,1.0e6./wlog.curves(:,ivp)];   if strcmpi(wlog.curve_info{ivp,2},'m/s')      punits='m/s';      piunits='us/m';   elseif strcmpi(wlog.curve_info{ivp,2},'ft/s')      punits='ft/s';      piunits='us/ft';   else      error([' Unknown units of velocity log: ',wlog.curve_info{ivp,2}])    end    wlog.curve_info=[wlog.curve_info;{cm.dtp,piunits,'Sonic log (Pressure)'}];   wlog=add_curve_type(wlog,{cm.dtp,'DTp','sonic'});end%       Compute acoustic impedance if not present in input logif compute_imp   [iaimp,ier]=curve_index1(wlog,cm.aimp);   if isempty(iaimp)      runits=wlog.curve_info{irho,2};      wlog.curves=[wlog.curves,wlog.curves(:,ivp).*wlog.curves(:,irho)];      wlog.curve_info=[wlog.curve_info;{cm.aimp,[punits,' x ',runits], ...            'Acoustic impedance'}];        wlog=add_curve_type(wlog,{cm.aimp,'Imp','impedance'});   endend

⌨️ 快捷键说明

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