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

📄 refsgymake.m

📁 这是matlab在地球物理数据处理方面的源码
💻 M
字号:
clear
t = [0:1526]*0.001;
load receivers
rec = receivers;
clear receivers

geom = [100:198]';  % Field REcord file
geom(:,2) = zeros(size(geom));  % SP stations
geom(1,2) = 100.5;  geom(2:99,2) = rec(1:98,4);
geom(:,3) = zeros(99,1);  % First channel station
geom(1,3) = 121;  geom(2:99,3) = (120 + [1:98])';
geom(:,4) = zeros(99,1);  % Last channel station
geom(1,4) = 168; geom(2:99,4) = (167 + [1:98])';
geom(:,5) = zeros(99,1);  % rec receivers reference number
geom(1,5) = 21; geom(2:99,5) = (20 + [1:98])';
geom(:,6) = zeros(99,1);  % SP elevetion
geom(1,6) = rec(1,3);  geom(2:99,6) = rec(1:98,3);
geom(:,7) = zeros(99,1); % SP Northing
geom(1,7) = rec(1,1)-2;  geom(2:99,7) = rec(1:98,1)
geom(:,8) = zeros(99,1);  % SP easting
geom(1,8) = rec(1,2);  geom(2:99,8) = rec(1:98,2);




for i = 1:106;
   if floor(log10(i)) == 0
      filename = ['file000',int2str(i),'.dat']
      [junk,traces] = sg2read(filename);
   elseif  floor(log10(i)) == 1
      filename = ['file00',int2str(i),'.dat']
      [junk,traces] = sg2read(filename);
   else  floor(log10(i)) == 2
      filename = ['file0',int2str(i),'.dat']
      [junk,traces] = sg2read(filename);
   end
   
   traces = traces(:,1:48); % remove aux.
   [m,n] = size(traces);
   trahead = zeros(101,48);
   
trahead(1,:) = 1:n;  	% Trace Sequence Number *trahead(2,:) = 1:n;  	% Reel trace sequence number *trahead(3,:) = geom(i,1)*ones(1,n);    	% Orignal Field Record Number *trahead(4,:) = 1:n;  	% Trace Number within original field record *trahead(5,:) = geom(i,2)*ones(1,n);	% Energy Source Number (Shot Point Number)trahead(6,:) = [geom(i,3):geom(i,4)]+geom(i,2);	% CDP Ensemble Numbertrahead(7,:) = 1:n;		% Trace number within CDP ensembletrahead(8,:) = ones(1,n); 	% Trace Identification * see tech infotrahead(9,:) = 8*ones(1,n);	% Number of vertically summed traces (shot stack)trahead(10,:) = ones(1,n);	% Number of horizontally summed traces	trahead(11,:) = ones(1,n);	%Data use, 1 = production, 2 = test
start = geom(i,3); finish = geom(i,4);trahead(12,:) = (10*([start:finish]-geom(i,2))*4); 	% Trace-Shot Point Offset in dmeterstrahead(13,:) = 10*rec([geom(i,5):geom(i,5)+47],3)';	% Receiver Elevation (properly from sea level)trahead(14,:) = 10*geom(i,6)*ones(1,n);	% Source Elevation at surfacetrahead(15,:) = zeros(1,n);	% Source Depth (a positive number)trahead(16,:) = zeros(1,n);	% Receiver Datum elevationtrahead(17,:) = zeros(1,n); 	% Source Datum elevationtrahead(18,:) = zeros(1,n);	% Water Depth at Sourcetrahead(19,:) = zeros(1,n);	% Water Depth at Grouptrahead(20,:) = -10*ones(1,n);	% Scaler to multiply elevations and depths abovetrahead(21,:) = -10*ones(1,n);	% Scaler to multiply co-ordinates below				% Note, scalars are plus/minus 1, 10, 100, ...				% Positive means multiply, negative means dividetrahead(22,:) = 10*geom(i,8)*ones(1,n);	% X source co-ordinatetrahead(23,:) = 10*geom(i,7)*ones(1,n);	% Y Source co-ordinatetrahead(24,:) = 10*rec([geom(i,5):geom(i,5)+47],2)';		% X receiver co-ordinatetrahead(25,:) = 10*rec([geom(i,5):geom(i,5)+47],1)';;	% Y receiver co-ordinatetrahead(26,:) = ones(1,n);	% Co-ordinate units, 1(meter or feet),2(seconds of arc)trahead(27,:) = zeros(1,n);	% Weatering velocitytrahead(28,:) = zeros(1,n);	% Subweathering velocitytrahead(29,:) = zeros(1,n);	% Uphole time at sourcetrahead(30,:) = zeros(1,n);	% Uphole time at receivertrahead(31,:) = zeros(1,n);	% Source static correctiontrahead(32,:) = zeros(1,n);	% Reciever static correctiontrahead(33,:) = zeros(1,n);	% Total static applied (zero if none)trahead(34,:) = zeros(1,n);	% Lag time A in mstrahead(35,:) = zeros(1,n);	% Lag time B in mstrahead(36,:) = zeros(1,n);	% Delay Recording time in mstrahead(37,:) = zeros(1,n); 	% Mute time Starttrahead(38,:) = zeros(1,n);	% Mute time endtrahead(39,:) = m*ones(1,n);	% Number of samples in trace *trahead(40,:) = (t(2)-t(1))*1e6*ones(1,n); % Sample interval in microseconds for this tracetrahead(41,:) = ones(1,n);	% Gain type of field instruments, see tech standardstrahead(42,:) = ones(1,n);	% Instrument gain constanttrahead(43,:) = ones(1,n);	% Instrument early gaintrahead(44,:) = ones(1,n);	% Correlated 1 = no, 2 = yestrahead(45,:) = zeros(1,n);	% Sweep freq at starttrahead(46,:) = zeros(1,n);	% Sweep freq at endtrahead(47,:) = zeros(1,n);	% Sweep lengthtrahead(48,:) = zeros(1,n);	% Sweep type, see tech standardstrahead(49,:) = zeros(1,n);	% Sweep taper at start in mstrahead(50,:) = zeros(1,n);	% Sweep taper at end in mstrahead(51,:) = ones(1,n);	% Sweep taper typetrahead(52,:) = zeros(1,n);	% Alias filter freqency if usedtrahead(53,:) = zeros(1,n);	% Alias filter slope if usedtrahead(54,:) = zeros(1,n);	% Notch filter frequency if usedtrahead(55,:) = zeros(1,n);	% Notch filter slopetrahead(56,:) = zeros(1,n);	% Low cut if usedtrahead(57,:) = zeros(1,n);	% High Cut if usedtrahead(58,:) = zeros(1,n);	% Low cut slopetrahead(59,:) = zeros(1,n);	% High cut slope trahead(60,:) = 2000*ones(1,n); % Data recorded yeartrahead(61,:) = 831*ones(1,n);	% Day of year 

filename(10:12) = 'sgy'
fid = sgywrit2(filename,traces,t,trahead);
   
end


      
    
   
   
   
   
   

⌨️ 快捷键说明

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