24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 10148  |  回复: 12
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

baobiao007

木虫 (职业作家)

中国特色

[交流] 分享用matlab显示地震记录的波形变面积图 已有9人参与

wigb函数是网上找的,自己添了个主程序方便使用。


主程序
function PlotRecord_Wigb(filename,nx,nt,dx,dt,zy)
%波形变面积显示地震记录
% clear; clf;clc;
% nx=200; %道数
% nt=2001; %采样点数
% dx=10.;     %道间距
% dt=0.001;   %时间采样间隔
% zy=1.0;     %增益
% filename='r200-2001-1ms.dat';
clf;
fid=fopen(filename,'r');
[A,COUNT]=fread(fid,[nt,nx],'float32');
fclose(fid);


x=0:dx: (nx-1)*dx;
z=0:dt: (nt-1)*dt;
wigb(A,zy,x,z);

end

子函数
function wigb (a,scal,x,z,amx)
%WIGB: Plot seismic data using wiggles.
%
%  WIGB(a,scal,x,z,amx)
%
%  IN    a:     seismic data
%        scale: multiple data by scale
%        x:     x-axis;
%        z:     vertical axis (time or depth)
%
%         If only 'a' is enter, 'scal,x,z,amn,amx' are decided automatically;
%         otherwise, 'scal' is a scalar; 'x, z' are vectors for annotation in
%         offset and time, amx are the amplitude range.
%
%
%  Author(s): Xingong Li (Exxon-Mobil)
%  Copyright 1998-2003 Xingong
%  Revision: 1.2  Date: Dec/2002
%  
%  Signal Analysis and Imaging Group (SAIG)
%  Department of Physics, UofA
%

if nargin == 0, nx=10;nz=10; a = rand(nz,nx)-0.5; end;

[nz,nx]=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=z(2)-z(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',xmn,xmx,amx);

% 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','add','Box','on', ...
  'XLim', [x1 x2], ...
  'YDir','reverse', ...
  'YLim',[z1 z2]);


        fillcolor = [0 0 0];
        linecolor = [0 0 0];
        linewidth = 0.1;

        z=z';         % input as row vector
        zstart=z(1);
        zend  =z(nz);

for i=1:nx,
   
  if trmx(i) ~= 0;    % skip the zero traces
        tr=a(:,i);         % --- one scale for all section
          s = sign(tr) ;
          i1= find( s(1:nz-1) ~= s(2:nz) );        % zero crossing points
        npos = length(i1);


        %12/7/97
        zadd = i1 + tr(i1) ./ (tr(i1) - tr(i1+1)); %locations with 0 amplitudes
        aadd = zeros(size(zadd));

        [zpos,vpos] = find(tr >0);
        [zz,iz] = sort([zpos; zadd]);         % indices of zero point plus positives
        aa = [tr(zpos); aadd];
        aa = aa(iz);

        % be careful at the ends
                if tr(1)>0,         a0=0; z0=1.00;
                else,                 a0=0; z0=zadd(1);
                end;
                if tr(nz)>0,         a1=0; z1=nz;
                else,                 a1=0; z1=max(zadd);
                end;
                       
        zz = [z0; zz; z1; z0];
        aa = [a0; aa; a1; a0];
               
        zzz = zstart + zz*dz -dz;

        patch( aa+x(i) , zzz,  fillcolor);

        line( 'Color',[1 1 1],'EraseMode','background',  ...
         'Xdata', x(i)+[0 0], 'Ydata',[zstart zend]); % remove zero line

%'LineWidth',linewidth, ...
%12/7/97 'Xdata', x(i)+[0 0], 'Ydata',[z0 z1]*dz);        % remove zero line

        line( 'Color',linecolor,'EraseMode','background',  ...
         'LineWidth',linewidth, ...
         'Xdata', tr+x(i), 'Ydata',z);        % negatives line

   else % zeros trace
        line( 'Color',linecolor,'EraseMode','background',  ...
         'LineWidth',linewidth, ...
         'Xdata', [x(i) x(i)], 'Ydata',[zstart zend]);
   end;
end;


[ Last edited by baobiao007 on 2012-4-9 at 10:41 ]
回复此楼

» 收录本帖的淘帖专辑推荐

地球物理资源集锦 小胖的专辑

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

逄硕

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
送红花一朵
这个导入的数据应该是什么参数啊
9楼2013-05-05 19:25:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 13 个回答

smithjohn

金虫 (正式写手)

0.8

板块做地震的不多
楼主试过实际地震资料么?
2楼2012-04-09 18:13:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baobiao007

木虫 (职业作家)

中国特色

没有,实际地震资料要根据具体的数据格式来弄,勘探地震有自己行业标准的数据格式。 天然地震的就不清楚了
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
3楼2012-04-09 18:21:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
谢谢分享
4楼2012-04-11 10:29:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 070305高分子化学与物理 304分求调剂 +7 c297914 2026-03-28 7/350 2026-03-29 01:17 by 544594351
[考研] 一志愿哈尔滨工业大学材料与化工方向336分 +9 辰沐5211314 2026-03-26 9/450 2026-03-29 01:12 by 我是小康
[考研] 一志愿211 初试270分 求调剂 +8 谷雨上岸 2026-03-23 9/450 2026-03-29 01:00 by 我是小康
[考研] 070300化学354求调剂 +3 101次希望 2026-03-28 3/150 2026-03-29 00:28 by 544594351
[考研] 11408软件工程求调剂 +3 Qiu学ing 2026-03-28 3/150 2026-03-28 21:50 by zhq0425
[考研] 一志愿北京工业大学,324分求调剂 +4 零八# 2026-03-28 4/200 2026-03-28 15:01 by 17865157980
[考研] 347求调剂 +3 山顶见α 2026-03-25 3/150 2026-03-28 14:13 by 唐沐儿
[考研] 求化学调剂 +4 wulanna 2026-03-28 4/200 2026-03-28 13:37 by 唐沐儿
[考研] 0703化学/290求调剂/本科经历丰富/工科也可 +9 丹青奶盖 2026-03-26 10/500 2026-03-28 07:45 by barnett0632
[考研] 308求调剂 +7 墨墨漠 2026-03-25 7/350 2026-03-27 14:47 by 狂炫麦当当
[考研] 考研调剂 +10 呼呼?~+123456 2026-03-24 10/500 2026-03-27 11:46 by wangjy2002
[考研] 考研调剂 +9 小蜡新笔 2026-03-26 9/450 2026-03-27 11:10 by 不吃魚的貓
[考研] 材料求调剂 +5 .m.. 2026-03-25 5/250 2026-03-27 11:08 by 不吃魚的貓
[考研] 材料学硕,求调剂 6+5 糖葫芦888ll 2026-03-22 10/500 2026-03-27 08:18 by hypershenger
[考研] 271求调剂 +6 生如夏花… 2026-03-22 6/300 2026-03-26 16:48 by 张凯十八号
[考研] 085602 289分求调剂 +8 WWW西西弗斯 2026-03-24 8/400 2026-03-26 16:33 by 不吃魚的貓
[考研] 085601求调剂总分293英一数二 +4 钢铁大炮 2026-03-24 4/200 2026-03-26 16:28 by dick_runner
[考研] 材料科学与工程 317求调剂 +4 JKSOIID 2026-03-26 4/200 2026-03-26 15:58 by 不吃魚的貓
[考研] 一志愿天津大学339材料与化工求调剂 +3 江往卖鱼 2026-03-26 3/150 2026-03-26 09:42 by 王小欠i
[考研] 一志愿上海交大生物与医药专硕324分,求调剂 +6 jiajunX 2026-03-22 6/300 2026-03-25 23:05 by licg0208
信息提示
请填处理意见