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

cj000211

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
多谢了~~~刚下载完,回去试试看
11楼2013-05-07 11:20:04
已阅   回复此楼   关注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的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 085600,专业课化工原理,321分求调剂 +4 大馋小子 2026-03-28 4/200 2026-03-29 00:32 by 544594351
[考研] 材料学硕333求调剂 +10 北道巷 2026-03-24 10/500 2026-03-28 23:06 by 无际的草原
[考研] 085602 化工专硕 338分 求调剂 +12 路痴小琪 2026-03-27 12/600 2026-03-28 15:41 by L135790
[考研] 0856求调剂 +11 zhn03 2026-03-25 12/600 2026-03-28 13:32 by 唐沐儿
[考研] 299求调剂 +7 嗯嗯嗯嗯2 2026-03-27 7/350 2026-03-28 13:09 by 唐沐儿
[考研] 291求调剂 +15 hhhhxn.. 2026-03-23 21/1050 2026-03-28 11:26 by self2008
[考研] 材料与化工考研调剂 +17 孅華 2026-03-22 17/850 2026-03-28 08:35 by WYUMater
[考研] 材料求调剂 一志愿哈工大总分298分,前三科223分 +5 dongfang59 2026-03-27 5/250 2026-03-28 04:53 by wxiongid
[考研] 331环境科学与工程求调剂 +3 熠然好运气 2026-03-27 3/150 2026-03-28 04:11 by fmesaito
[考研] 一志愿211院校 344分 东北农业大学生物学学硕,求调剂 +5 丶风雪夜归人丶 2026-03-26 8/400 2026-03-27 19:22 by 丶风雪夜归人丶
[考研] 一志愿 西北大学 总分282 英语一62 求调剂 +7 18419759900 2026-03-25 8/400 2026-03-27 16:38 by 18419759900
[考博] 26申博 +3 加油冲啊! 2026-03-26 3/150 2026-03-27 15:38 by cls512
[论文投稿] Journal of Mechanical Science and Technology +3 Russ_ss 2026-03-25 5/250 2026-03-27 10:49 by 陆小果画大饼
[考研] 341求调剂 +7 青柠檬1 2026-03-26 7/350 2026-03-27 00:19 by wxiongid
[考研] 333求调剂 +6 wfh030413@ 2026-03-23 6/300 2026-03-26 22:45 by 学员8dgXkO
[考研] 一志愿河工大 081700 276求调剂 +4 地球绕着太阳转 2026-03-23 4/200 2026-03-26 14:27 by zzll406
[考研] 机械学硕总分317求调剂!!!! +4 Acaciad 2026-03-25 4/200 2026-03-25 19:59 by hanserlol
[考研] 302求调剂 +4 锦衣卫藤椒 2026-03-25 4/200 2026-03-25 16:29 by 功夫疯狂
[考研] 材料专硕找调剂 +5 哈哈哈吼吼吼哈 2026-03-23 5/250 2026-03-24 19:07 by 了了了了。。
[考研] 333求调剂 +3 ALULU4408 2026-03-23 3/150 2026-03-23 19:04 by macy2011
信息提示
请填处理意见