propagator.m

来自「著名的seismiclab的代码 是地震学研究人员必备的工具」· M 代码 · 共 49 行

M
49
字号
function [Sfor,Smig,ARG] = propagator(v,nx,nz,nt,dx,dz,dt);%PROPAGATOR: Compute downward and upward propagators in%            constant velocity media. This function is %            called by gazdag.m  %%  [Sfor,Smig,ARG] = propagator(v,nx,nz,nt,dx,dz,dt);%%  IN   v:     propagation velocity in m/s%       nx,nz: image size%       dx,dz: grid size in meters%       dt:    time interval in secs%%  OUT  Sfor:  Phase shift propagator for forward modeling%       Smig:  Phase shift propagator for migration%       ARG:   wavenumber matrix%%  SeismicLab%  Version 1%%  written by M.D.Sacchi, and H. Kuehl, last modified April/2001%  sacchi@phys.ualberta.ca% dkx=2*pi/(nx*dx); dw=2*pi/(nt*dt); kx=[0:dkx:(nx/2)*dkx -((nx/2)*dkx-dkx):dkx:-dkx]; w =[0:dw:(nt/2)*dw -((nt/2)*dw-dw):dw:-dw]; index=find(w == 0);  w(index)=1E-18; [kx w] = meshgrid(kx,w); ARG = 1.0-(kx.^2*v^2)./(w.^2); index=find(ARG < 0.); ARG(index) = 0.; Sfor = zeros(nt,nx); Sfor = exp(-i*w/v.*sqrt(ARG)*dz); Sfor(index) = 0.0; Smig = zeros(nt,nx); Smig = exp(i*w/v.*sqrt(ARG)*dz); Smig(index) = 0.0;return

⌨️ 快捷键说明

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