ampcal.m

来自「地震资料处理的matlab源码软件包」· M 代码 · 共 98 行

M
98
字号
function ampcal

global ampgrafX;
global ampgrafY;
global amptipoE;
global numeroamp;
global ampdeltaf;
global Aamp;
global nampgraf;
global nnampgraf;
global fftdeltaf;
global numerofft;
global Afft;
global resdeltat;
global numerores;
global Ares;
global nresgraf;
global nfftgraf;

nnampgraf=ampgrafY;

if amptipoE==1;

   j=0;
   for i=nfftgraf;
       j=j+1;
       if i==ampgrafX;grafX=j;end;
       if i==ampgrafY;grafY=j;end;
   end;

   if fftdeltaf(grafX)==fftdeltaf(grafY);
      df=fftdeltaf(grafX);
      NX=numerofft(grafX+1)-numerofft(grafX);
      NY=numerofft(grafY+1)-numerofft(grafY);
      if NY<=NX;
         Amp=Afft(numerofft(grafY):(numerofft(grafY+1)-1))./Afft(numerofft(grafX):(numerofft(grafX)+NY-1));
         NN=NY;
      else;
         Amp=Afft(numerofft(grafY):(numerofft(grafY)+NX-1))./Afft(numerofft(grafX):(numerofft(grafX+1)-1));
         NN=NX;
      end;
   else;
      return;
   end;
else;

   j=0;
   for i=nresgraf;
       j=j+1;
       if i==ampgrafX;grafX=j;end;
       if i==ampgrafY;grafY=j;end;
   end;

   if resdeltat(grafX)==resdeltat(grafY);
      df=resdeltat(grafX);
      NX=numerores(grafX+1)-numerores(grafX);
      NY=numerores(grafY+1)-numerores(grafY);
      if NY<=NX;
         Amp=Ares(numerores(grafY):(numerores(grafY+1)-1),3)./Ares(numerores(grafX):(numerores(grafX)+NY-1),3);
         NN=NY;
      else;
         Amp=Ares(numerores(grafY):(numerores(grafY)+NX-1),3)./Ares(numerores(grafX):(numerores(grafX+1)-1),3);
         NN=NX;
      end;
   else;
      return;
   end; 
end;

ind=0;
j=0;
for i=nampgraf;
    j=j+1;
    if i==ampgrafY;
       ampdeltaf(j)=df;
       Aamp=[Aamp(1:numeroamp(j)-1);Amp;...
             Aamp(numeroamp(j+1):length(Aamp))];
       dif=NN-numeroamp(j+1)+numeroamp(j);
       if j==length(nampgraf);
          numeroamp=[numeroamp(1:j);numeroamp(j)+NN];
       else; 
          numeroamp=[numeroamp(1:j);numeroamp(j)+NN;...
                    (numeroamp(j+2:length(numeroamp))+dif)];
       end;
       ind=1;
       break; 
    end;
end;

if ind==0;
   ampdeltaf=[ampdeltaf;df];
   Aamp=[Aamp;Amp];
   nampgraf=[nampgraf ampgrafY];
   numeroamp=[numeroamp;numeroamp(length(numeroamp))+NN];
end;

ampgra;  

⌨️ 快捷键说明

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