資源簡介
該程序用于地震波剖面圖的形成,是地震信號處理必不可少的程序
代碼片段和文件信息
function?wigb(ascalxzamx)
%WIGB:?Plot?seismic?data?using?wiggles
%
%??WIGB(ascalxzamx)?
%
%??IN????a:?seismic?data
%????????scale:?multiple?data?by?scale
%????????x:?x-axis;
%????????z:?vertical?axis?(time?or?depth)
% ?x?and?z?are?vectors?with?offset?and?time.
%
% ?If?only?‘a‘?is?enter?‘scalxzamnamx‘?are?decided?automatically;?
% ?otherwise?‘scal‘?is?a?scalar;?‘x?z‘?are?vectors?for?annotation?in?
% ?offset?and?time?amx?are?the?amplitude?range.
%
%?Author:
%? Xingong?Li?Dec.?1995
%?Changes:?
% Jun111997:?add?amx
%? May161997:?updated?for?v5?-?add?‘zeros?line‘?to?background?color
%? May171996:?if?scal?==0?plot?without?scaling
%? Aug6?1996:?if?max(tr)==0?plot?a?line?
if?nargin?==?0?nx=10;nz=10;?a?=?rand(nznx)-0.5;?end;
%?不輸入數據時的情況
[nznx]=size(a);
%地震數據a的行和列
trmx=?max(abs(a));
%求數據a矩陣每列的最大值,若a是復數,需要先使用絕對值,然后生成一個行向量
if?(nargin?<=?4);?amx=mean(trmx);??end;
%當輸入參數小于等于4,時trmx為一個行向量,amx默認為trmx的平均值
if?(nargin?<=?2);?x=[1:nx];?z=[1:nz];?end;
%當輸入參數小于等于2時,X軸范圍為1:nx;z軸范圍為1:nz;
if?(nargin?<=?1);?scal?=1;?end;
%當輸入參數個數小于等于1個時,scal默認為1
if?nx?<=?1;?disp(‘?ERR:PlotWig:?nx?has?to?be?more?than?1‘);return;end;
%如果地震數據a的列小于等于1,錯誤。
?%?take?the?average?as?dx
dx1?=?abs(x(2:nx)-x(1:nx-1));
? dx?=?median(dx1);
????%median為中值,dx為全是1的行向量;
?dz=z(2)-z(1);
?xmx=max(max(a));?xmn=min(min(a));?
?%求取數據矩陣a的最大值和最小值
?if?scal?==?0;?scal=1;?end;
?a?=?a?*?dx?/amx;?
?a?=?a?*?scal;
?%將歸一化a與縮放因子乘積
?fprintf(‘?PlotWig:?data?range?[%f?%f]?plotted?max?%f?\n‘xmnxmxamx);
?
%?set?display?range?
x1=min(x)-2.0*dx;?x2=max(x)+2.0*dx;
z1=
- 上一篇:傾斜界面求波的反透射系數matlab
- 下一篇:對數極坐標變換matlab程序
評論
共有 條評論