亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? vz_fkmod.m

?? 用matlab語言寫的地震偏移成像軟件集,很有用的東東呵
?? M
字號:
function [arymod,tmod,xmod]=vz_fkmod(aryin,vel,t,x,params)
% VZ_FKMOD: V(z) modelling by an fk technique
%
% [arymod,tmod,xmod]=vz_fkmod(aryin,vel,t,x,params)
%
% VZ_FKMOD performs zero-offset v(z) modeling in the frequency wavenumber domain
% using the WKBJ algorithm.
% 
% aryin ... matrix of reflectivity model. One trace per column.
% vel ... a vector giving the interval velocities for each time. Length of
%		vel must equal row dimension of aryin. See params(9)
% t ... if a scalar, this is the time sample rate in SECONDS.
%		If a vector, it gives the time coordinates for the rows of 
%		aryin (must be regular).
% x ... if a scalar, this is the spatial sample rate (in units 
%		consistent with the velocity information. If a vector, then
%		it gives the x coordinates of the columns of aryin
% params ... vector of modeling parameters
%	params(1) ... maximum frequency (Hz) to model
%       ***** default = .6*fnyquist *********
%	params(2) ... width of cosine taper (Hz) to apply above params(1)
%       ***** default = .2*(fnyquist-params(1)) ********
%	params(3) ... maximum dip (degrees) to model
%       ***** default = 80 degrees *****
%	params(4) ... with of cosine dip taper (degrees)
%       ***** default = 90-params(3) degrees *****
%	params(5) ... size of zero pad in time (seconds)
%       ***** default = min([.5*tmax, tmax/cos(params(3))]) ******
%   params(6) ... size of zero pad in space (length units)
%       ***** default = min([.5*xmax, xmax*sin(params(3))]) ******
%   params(7) ... if 1, zero pads are removed, if 0 they are retained
%       ***** default = 1 *****
%   params(8) ... if 1, use full Fourier algorithm. If 0, use mixed domain
%                 NOT IMPLEMENTED - NO EFFECT
%       ******* default = 1 *******
%	params(9) ... if 1, velocities are rms velocities, use rms algorithm
%			  	  if 2, velocities are interval velocities, use WKBJ algorithm
%       ******* MUST USE 2 *******
%	params(10) ... ray parameter sampling flag for WKBJ algorithm
%				   The phase shift table is built for a number of ray parameters equal
%				   to params(10)*length(t_with_pad)
%		******* default = .5 *********
%	params(11) ... not used
%	params(12) ... if 1 use faster fk transforms
%	               if 0, use slower, memory conserving, transforms
%	    ******* default = 0 ******
%	params(13) ... =n means print a message as every n'th wavenumber 
%			is modeled.
%	    ******* default = 50 ******
% arymod ... the output model time section
% tmod ... t coordinates of modeled data
% xmod ... x coordinates of modeled data
%
% G.F. Margrave CREWES Project, U of Calgary, 1998
%
% NOTE: It is illegal for you to use this software for a purpose other
% than non-profit education or research UNLESS you are employed by a CREWES
% Project sponsor. By using this software, you are agreeing to the terms
% detailed in this software's Matlab source file.
 
% BEGIN TERMS OF USE LICENSE
%
% This SOFTWARE is maintained by the CREWES Project at the Department
% of Geology and Geophysics of the University of Calgary, Calgary,
% Alberta, Canada.  The copyright and ownership is jointly held by 
% its author (identified above) and the CREWES Project.  The CREWES 
% project may be contacted via email at:  crewesinfo@crewes.org
% 
% The term 'SOFTWARE' refers to the Matlab source code, translations to
% any other computer language, or object code
%
% Terms of use of this SOFTWARE
%
% 1) Use of this SOFTWARE by any for-profit commercial organization is
%    expressly forbidden unless said organization is a CREWES Project
%    Sponsor.
%
% 2) A CREWES Project sponsor may use this SOFTWARE under the terms of the 
%    CREWES Project Sponsorship agreement.
%
% 3) A student or employee of a non-profit educational institution may 
%    use this SOFTWARE subject to the following terms and conditions:
%    - this SOFTWARE is for teaching or research purposes only.
%    - this SOFTWARE may be distributed to other students or researchers 
%      provided that these license terms are included.
%    - reselling the SOFTWARE, or including it or any portion of it, in any
%      software that will be resold is expressly forbidden.
%    - transfering the SOFTWARE in any form to a commercial firm or any 
%      other for-profit organization is expressly forbidden.
%
% END TERMS OF USE LICENSE

disp('vz_fkmod')
tstart=clock; % save start time

[nsamp,ntr]=size(aryin);

if(length(vel)~=nsamp)
	error('number of velocities must equal number of time samples')
end

if(length(t)>1)
	if(length(t)~=nsamp)
		error('Incorrect time specification')
	end
	dt=t(2)-t(1);
else
	dt=t;
	t=((0:nsamp-1)*dt)';
end

if(length(x)>1)
	if(length(x)~=ntr)
		error('Incorrect x specification')
	end
	dx=x(2)-x(1);
else
	dx=x;
	x=(0:ntr-1)*dx;
end

fnyq=1/(2*dt);
knyq=1/(2*dx);
tmax=t(nsamp);
xmax=abs(x(ntr)-x(1));

%examine parameters
nparams=13;% number of defined parameters
if(nargin<5) params= nan*ones(1,nparams); end
if(length(params)<nparams) 
		params = [params nan*ones(1,nparams-length(params))];
end

%assign parameter defaults
if( isnan(params(1)) ) fmax= .6*fnyq; 
else fmax = params(1); if(fmax>fnyq) fmax=fnyq; end
end
if( isnan(params(2)) ) fwid = .2*(fnyq-fmax);
else fwid = params(2);
		if( (fmax+fwid)>fnyq ) fwid = fnyq-fmax; end
end
if( isnan(params(3)) ) dipmax = 85;
else dipmax = params(3); if(dipmax>90) dipmax=90; end
end
if( isnan(params(4)) ) dipwid = 90-dipmax;
else dipwid = params(4);
		if((dipwid+dipmax)>90) dipwid= 90-dipmax; end
end
if( isnan(params(5)) ) tpad= min([.5*tmax abs(tmax/cos(pi*dipmax/180))]);
else tpad = params(5);
end
if( isnan(params(6)) ) xpad= min([.5*xmax xmax*sin(pi*dipmax/180)]);
else xpad = params(6);
end
if( isnan(params(7)) ) padflag= 1;
else padflag = params(7);
end
if( isnan(params(8)) ) algflag= 1;
else algflag = params(8);
end
if( isnan(params(9)) ) velflag= 2;
else velflag = params(9);
end
if( isnan(params(10)) ) pnum= .5;
else pnum = params(10);
end
if( isnan(params(11)) ) ntable= 25;
else ntable = params(11);
end
if( isnan(params(12)) ) mcflag= 0;
else mcflag = params(12);
end
if( isnan(params(13)) ) kpflag= 50;
else kpflag = params(13);
end

if(velflag ==1)
	disp('rms velocity algorithm used')
elseif(velflag ==2)
	disp('interval velocity algorithm (WKBJ) used')
else
	error('invalid velocity flag (params(9))')
end

if(algflag~=1)
	error(' MUST use full Fourier algorithm, others not implemented')
end

%apply pads

%tpad
nsampnew = round((tmax+tpad)/dt+1);
nsampnew = 2^nextpow2(nsampnew);
tmaxnew = (nsampnew-1)*dt;
tnew = (t(1):dt:tmaxnew)';%must be a column vector
ntnew=length(tnew);
ntpad = nsampnew-nsamp;
aryin = [aryin;zeros(ntpad,ntr)];


%xpad
ntrnew = round((xmax+xpad)/dx+1);
ntrnew = 2^nextpow2(ntrnew);
xmaxnew = (ntrnew-1)*dx+x(1);
xnew = x(1):dx:xmaxnew;
nxpad = ntrnew-ntr;
aryin = [aryin zeros(nsampnew,nxpad)];

disp([' tpad = ' int2str(ntpad) ' samples']);
disp([' xpad = ' int2str(nxpad) ' traces']);

%forward f-k transform
disp('forward f-k transform')
if(mcflag)
	[fkspec,f,kx] = fktran(aryin,tnew,xnew,nsampnew,ntrnew,0,0);
else
	[fkspec,f,kx] = fktran_mc(aryin,tnew,xnew,nsampnew,ntrnew,0,0);
end
f=f(:)'; %make sure f is a row vector
clear aryin; %free space
df=f(2)-f(1);
nf=length(f);

%compute frequency mask
nfmax = round((fmax+fwid)/df+1);
pct = 100*(fwid/(fmax+fwid));
fmask = mwhalf(nfmax,pct);
fmaxmod = (nfmax-1)*df; %i.e. fmax+fwid to nearest sample
disp(['frequencies greater than ' num2str(fmaxmod) ' not modeled'])

%precompute things before main loop
vel = vel(:); % force a column vector
%pad velocities with last value
if(ntpad~=0)
	vel=[vel;vel(length(vel))*ones(ntpad,1)];
end

ve = vel/2; %exploding reflector velocity
ve2 = ve.^2; %exploding reflector velocity squared

ind=find(f==0.0);
f(ind)=df/100;% guard against zero divide;
f2= f.^(2);% frequency squared
if(velflag==2)
	iw=i*2*pi*(f'); %angular frequency times i
	if1= (1 ./f)'; %inverse frequency
else
	iw=i*2*pi*f; %angular frequency times i
end

%tf= tnew*f;
%vf2= ve2*if2;

th1 = dipmax*pi/180;
th2 = (dipmax+dipwid)*pi/180;
zip = zeros(size(f));

%build phase shift table
np=pnum*length(tnew); %maybe set this equal to number of time samples?
pmin=0; pmax=1/min(ve);
dp=(pmax-pmin)/np;
idp=1/dp;
p=pmin:dp:pmax+dp;
phstable = dt*sqrt(1- (ve.^2)*(p.^2));%note that we just let it go imaginary
%integrate the table
% plabels the columns and t labels the rows of table
% integrate over time
phstable=cumsum(phstable).';


%now loop over wavenumbers
disp([int2str(length(kx)) ' wavenumbers to model']);

%operator is symmetric in kx so we only loop over half of kx
avetime=0.0;
tbuild=0;
tfft=0.;
tapply=0.;
ttotal=0.;
%mf=flops;

nj=length(kx)/2+1;
timeskx=zeros(1,nj);
for j=1:nj
%for j=nj-10:nj
%for j=round(nj/4)
	t1loop=clock;

	% build the wkbj modeling filter by interpolating from the v(z) phase table
	
	%ttemp=clock;
	% we form the mfilt  with f as the row coordinate (and t as the column) because it
	% is more efficient to load a matrix by columns. Later it gets transposed
	% for the fft from t to eta
	mfilt=zeros(nf,ntnew);
	%loop over t
	for kt=1:ntnew
				%determine indexing into the phase table
				ifuse=(ceil(kx(j)/(pmax*df)+1):nf)';%find nonevanescent frequency indicies
				ipf= kx(j)*if1(ifuse)*idp+1;%sample numbers of pvalues for the f's at this kx
				ipf1=floor(ipf);
				irem=ipf-ipf1;
				%Interpolate the phase table
				phs= phstable(ipf1,kt).*(1-irem) + (irem).*phstable(ipf1+1,kt);
				%compute the migration filter
				mfilt(ifuse,kt) = exp(iw(ifuse).*phs);
				% 		%determine indexing into the phase table
				% 		%first compute p
				% 		pnow=kx(j)*if1;
				% 		ipf= (pnow*idp+1)';%sample numbers of pvalues for the f's at this kx
				% 		ipf1=floor(ipf);
				% 		irem=ipf-ipf1;
				% 		%Interpolate the phase table
				% 		phs= phstable(ipf1,kt).*(1-irem) + (irem).*phstable(ipf1+1,kt);
				% 		%compute the migration filter
				% 		mfilt(:,kt) = exp(iw.*phs);
	end
	%tbuild=tbuild+etime(clock,ttemp);
	
	%take the complex conjugate filter to get a modeling filter
	
	% move the modeling filter to the Fourier domain
	%ttemp=clock;
	Mfilt= ifft(conj(mfilt).').';
	clear mfilt;
	%compute imaging/resolution filter
	%Mfilt=(Mfilt(1:nfmax,1:nfmax)')*Mfilt(1:nfmax,1:nfmax);
	%tfft=tfft+etime(clock,ttemp);
	
	%apply it
	%ttemp=clock;
	%apply to positive wavenumbers
	fkspec(:,j)= [(Mfilt(1:nfmax,1:nfmax)*fkspec(1:nfmax,j)).*fmask; zeros(nf-nfmax,1)];
	if((j>1) & (j<nj))
		%apply to negative wavenumbers
		fkspec(:,2*nj-j)= [(Mfilt(1:nfmax,1:nfmax)*fkspec(1:nfmax,2*nj-j)).*fmask; zeros(nf-nfmax,1)];
	end
	%tapply=tapply+etime(clock,ttemp);
	
	
	t2loop=clock;
	etimeloop=etime(t2loop,t1loop);
	timeskx(j)=etimeloop;
	ttotal=ttotal+etimeloop;
	avetime= ((j-1)*avetime+etimeloop)/j;
	if( floor(j/kpflag)*kpflag == j)
		disp(['finished wavenumber ' int2str(2*j-1) ' kx = ' num2str(kx(j))]);
		disp(['loop time ' num2str(etimeloop) ' time remaining '... 
			num2str((nj-j)*avetime)]);
	end
end

%time summary
disp([' total compute time ' num2str(ttotal)])
%mf=flops-mf;
%disp(['total flops ' num2str(mf)])
%disp([' total build time ' num2str(tbuild)])
%disp([' total fft time ' num2str(tfft)])
%disp([' total apply time ' num2str(tapply)])

%inverse transform
if(algflag==1)
	disp('inverse f-k transform')
	clear mfilt
	if(mcflag)
		[arymod,tmod,xmod]=ifktran(fkspec,f,kx);
	else
		[arymod,tmod,xmod]=ifktran_mc(fkspec,f,kx);
	end
elseif(algflag==0)
	%only inverse kx transform required
end

%remove pad if desired
if(padflag)
	arymod=arymod(1:nsamp,1:ntr);
	tmod=tmod(1:nsamp);
	xmod=xmod(1:ntr);
end
	
tend=etime(clock,tstart);
disp(['Total elapsed time ' num2str(tend)])

figure;
plot(kx(1:nj),timeskx);xlabel('wavenumber');ylabel('compute time')

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产乱码精品一区二区三区忘忧草 | 国产在线播放一区三区四| 国产在线国偷精品免费看| 91成人国产精品| 久久久久国产精品麻豆ai换脸 | 欧美日韩一区高清| 亚洲欧洲成人精品av97| 精品一区中文字幕| 欧美日韩aaaaa| 一区二区三区高清在线| 成人教育av在线| 久久久久久久久久久久久女国产乱 | 精品久久国产字幕高潮| 亚洲一二三区视频在线观看| 成人91在线观看| 国产日韩三级在线| 国产一区中文字幕| 精品久久五月天| 裸体一区二区三区| 欧美一级高清片| 日韩1区2区3区| 91麻豆精品国产无毒不卡在线观看| 亚洲精品国产品国语在线app| 波多野洁衣一区| 中文字幕电影一区| 国产高清不卡二三区| 久久久九九九九| 成人亚洲精品久久久久软件| 国产午夜精品一区二区三区四区| 狠狠久久亚洲欧美| 久久免费美女视频| 国产91精品久久久久久久网曝门| 精品久久久久久无| 丰满白嫩尤物一区二区| 国产日韩综合av| 99re热这里只有精品免费视频| 国产欧美一区二区三区网站| 波多野结衣在线一区| **网站欧美大片在线观看| 99精品视频一区| 亚洲午夜电影网| 日韩午夜激情免费电影| 久久丁香综合五月国产三级网站 | 国产精品电影一区二区| 成人av一区二区三区| 亚洲三级视频在线观看| 91九色02白丝porn| 亚洲成av人片| 久久久久亚洲综合| 99精品视频免费在线观看| 亚洲电影视频在线| 2020国产精品自拍| 99re6这里只有精品视频在线观看| 亚洲精选在线视频| 日韩三级免费观看| 国产河南妇女毛片精品久久久 | 在线观看不卡视频| 美国一区二区三区在线播放| 久久精品人人做人人爽97| 91网站在线播放| 蜜臀99久久精品久久久久久软件| 国产日韩亚洲欧美综合| 91极品美女在线| 韩国精品主播一区二区在线观看| 国产精品久久久久久久久动漫| 91黄色在线观看| 国产精品性做久久久久久| 亚洲精品久久久久久国产精华液| 欧美xxxxx裸体时装秀| 91年精品国产| 精品一区二区三区日韩| 夜夜爽夜夜爽精品视频| 久久精品在这里| 欧美精选一区二区| 99久久久精品| 国产乱码精品一品二品| 天天影视涩香欲综合网| 最新热久久免费视频| 欧美成人激情免费网| 欧美三级日韩三级| a在线播放不卡| 国产在线不卡一卡二卡三卡四卡| 亚洲最大的成人av| 中文在线一区二区| 精品国产乱码久久久久久影片| 色拍拍在线精品视频8848| 国产99久久久久久免费看农村| 亚欧色一区w666天堂| 一区二区在线观看av| 国产精品国产成人国产三级| 欧美大肚乱孕交hd孕妇| 欧美日韩dvd在线观看| 91在线观看地址| 波多野结衣欧美| 豆国产96在线|亚洲| 国产一区二区日韩精品| 狂野欧美性猛交blacked| 午夜视频在线观看一区| 一区二区国产盗摄色噜噜| 自拍偷拍国产精品| 国产精品久久久久三级| 国产无遮挡一区二区三区毛片日本| 日韩精品自拍偷拍| 制服丝袜亚洲色图| 欧美剧在线免费观看网站| 欧美图区在线视频| 欧美日韩午夜在线视频| 欧美三级欧美一级| 欧美日韩夫妻久久| 欧美日韩aaaaaa| 91麻豆精品久久久久蜜臀| 欧美高清性hdvideosex| 欧美精品色一区二区三区| 欧美日韩高清不卡| 日韩一区二区不卡| 日韩三级高清在线| 久久综合色鬼综合色| 久久精品视频在线免费观看 | 高清不卡在线观看| 丁香六月久久综合狠狠色| 成人少妇影院yyyy| 色欧美乱欧美15图片| 欧美三级韩国三级日本一级| 欧美片网站yy| 欧美大片拔萝卜| 中文字幕第一区综合| 亚洲日本va在线观看| 亚洲一区在线观看视频| 偷偷要91色婷婷| 国产自产视频一区二区三区| 高清不卡一区二区在线| 色菇凉天天综合网| 日韩一区二区在线看片| 国产亚洲综合av| 一区二区三区色| 老司机精品视频一区二区三区| 国产一级精品在线| 99久久精品一区| 欧美色综合网站| 精品奇米国产一区二区三区| 国产精品色哟哟网站| 午夜久久久久久久久| 国产伦精品一区二区三区视频青涩 | 91在线视频免费观看| 色www精品视频在线观看| 日韩一级黄色大片| **性色生活片久久毛片| 欧美aaa在线| 色哟哟一区二区| 精品乱码亚洲一区二区不卡| 亚洲欧美日韩综合aⅴ视频| 日本不卡一区二区三区高清视频| 国产成人精品免费在线| 欧美优质美女网站| 国产无一区二区| 亚洲福利视频导航| 懂色av一区二区三区蜜臀| 欧美日韩国产天堂| 中文一区二区在线观看| 三级在线观看一区二区| av电影在线观看不卡| 精品国产乱码久久久久久蜜臀| 国产精品久久午夜| 狠狠色丁香久久婷婷综合_中| 欧美午夜精品免费| 亚洲国产精品成人综合色在线婷婷| 日韩精品亚洲一区二区三区免费| 大胆亚洲人体视频| 精品va天堂亚洲国产| 日韩精品色哟哟| 欧美中文一区二区三区| 国产精品视频观看| 国产一区二区三区日韩| 日韩欧美在线不卡| 亚洲成人激情自拍| 日本道精品一区二区三区| 欧美国产国产综合| 国产精品中文字幕日韩精品| 91麻豆精品国产91久久久更新时间| 亚洲免费视频中文字幕| 99精品黄色片免费大全| 国产午夜精品一区二区| 韩日精品视频一区| 日韩免费高清视频| 美女免费视频一区| 欧美一区二区三区公司| 午夜精品久久久久久久久| 欧洲精品在线观看| 一区二区不卡在线播放| 在线观看国产一区二区| 亚洲精品成a人| 在线视频国内自拍亚洲视频| 亚洲激情图片一区| 色狠狠色狠狠综合| 亚洲一区av在线| 欧美美女一区二区三区| 日韩精品电影在线| 欧美一级二级在线观看| 国产综合色在线| 国产三级精品视频|