資源簡介
matlab中使用該程序可以繪制地震記錄
代碼片段和文件信息
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(chǎn)‘?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.
%
%????just?like:?a?=?a?*?dx?/amx;??a?=?a?*?scal;??(line?39~40)
%
if?nargin?==?0?nx=10;nz=10;?a?=?rand(nznx)-0.5;?end;
[nznx]=size(a);
trmx=?max(abs(a));
if?(nargin?<=?4);?amx=mean(trmx);??end;
if?(nargin?<=?2);?x=[1:nx];?z=[1:nz];?end;
if?(nargin?<=?1);?scal?=1;?end;
if?nx?<=?1;?disp(‘?ERR:PlotWig:?nx?has?to?be?more?than?1‘);return;end;
?%?take?the?average?as?dx
dx1?=?abs(x(2:nx)-x(1:nx-1));
? dx?=?median(dx1);
?dz=1;????%%%%%%%%%%%%%%%%%%%
?xmx=max(max(a));?xmn=min(min(a));?
?if?scal?==?0;?scal=1;?end;
?a?=?a?*?dx?/amx;?
?a?=?a?*?scal;
?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=min(z)-dz;?z2=max(z)+dz;
?
set(gca‘NextPlot‘‘a(chǎn)dd‘‘Box‘‘on‘?...
??‘XLim‘?[x1?x2]?...
??‘YDir‘‘reverse‘?...
??‘YLim‘[z1?z2]);
?
fillcolor?=?[0?0?0];
linecolor?=?[0?0?0];
linewidth?=?0.1;
z=z‘;? %?inp
- 上一篇:單相開環(huán)PWM整流仿真
- 下一篇:八位數(shù)字密碼鎖
評論
共有 條評論