洛马普里埃塔地震

这个例子展示了如何分析和可视化真实世界的地震数据。Authors: C. Denham, 1990, C. Moler, August, 1992.

东西/原料

  • matlab软件
  • 电脑

方式/步调

  1. 1

    号令行键入:

    load quake e n v

    whos e n v

  2. 2

    按“Enter”键。

    如图1所示。

  3. 3

    号令窗口键入:

    g = 0.0980;

    e = g*e;

    n = g*n;

    v = g*v;

    delt = 1/200;

    t = delt*(1:length(e))';

    这是加快度的曲线图。

    号令行键入:

    yrange = [-250 250];

    limits = [0 50 yrange];

    subplot(3,1,1), plot(t,e,'b'), axis(limits), title('East-West acceleration')

    subplot(3,1,2), plot(t,n,'g'), axis(limits), title('North-South acceleration')

    subplot(3,1,3), plot(t,v,'r'), axis(limits), title('Vertical acceleration')

  4. 4

    按“Enter”键。

    如图2所示。

  5. 5

    号令行键入:

    t1 = 8*[1;1];

    t2 = 15*[1;1];

    subplot(3,1,1)

    hold on

    plot([t1 t2],yrange,'k','LineWidth',2)

    hold off

    subplot(3,1,2)

    hold on

    plot([t1 t2],yrange,'k','LineWidth',2)

    hold off

    subplot(3,1,3)

    hold on

    plot([t1 t2],yrange,'k','LineWidth',2)

    hold off

  6. 6

    按“Enter”键。

    如图3所示。

  7. 7

    号令行键入:

    trange = sort([t1(1) t2(1)]);

    k = find((trange(1)<=t) & (t<=trange(2)));

    e = e(k);

    n = n(k);

    v = v(k);

    t = t(k);

    ax = [trange yrange];


    subplot(3,1,1)

    plot(t,e,'b')

    axis(ax)

    title('East-West acceleration')

    subplot(3,1,2)

    plot(t,n,'g')

    axis(ax)

    title('North-South acceleration')

    subplot(3,1,3)

    plot(t,v,'r')

    axis(ax)

    title('Vertical acceleration')

  8. 8

    按“Enter”键。

    如图4所示。

  9. 9

    号令行键入:

    subplot(1,1,1)

    k = length(t);

    k = round(max(1,k/2-100):min(k,k/2+100));

    plot(e(k),n(k),'.-')

    xlabel('East'), ylabel('North');

    title('Acceleration During a One Second Period');

  10. 10

    按“Enter”键。

    如图5所示。

  11. 11

    将加快度积分两次,计较三维空间中点的速度和位置。

    号令行键入:

    edot = cumsum(e)*delt;

    edot = edot - mean(edot);

    ndot = cumsum(n)*delt;

    ndot = ndot - mean(ndot);

    vdot = cumsum(v)*delt;

    vdot = vdot - mean(vdot);


    epos = cumsum(edot)*delt;

    epos = epos - mean(epos);

    npos = cumsum(ndot)*delt;

    npos = npos - mean(npos);

    vpos = cumsum(vdot)*delt;

    vpos = vpos - mean(vpos);


    subplot(2,1,1);

    plot(t,[edot+25 ndot vdot-25]);

    axis([trange min(vdot-30) max(edot+30)])

    xlabel('Time'), ylabel('V - N - E'), title('Velocity')


    subplot(2,1,2);

    plot(t,[epos+50 npos vpos-50]);

    axis([trange min(vpos-55) max(epos+55)])

    xlabel('Time'), ylabel('V - N - E'), title('Position')

  12. 12

    按“Enter”键。

    如图6所示。

  13. 13

    由位置数据界说的轨迹可以用三个分歧的二维投影显示出来。下面是第一个带有t注解的值的例子。

    号令行键入:

    subplot(1,1,1);

    cla;

    subplot(2,2,1)

    plot(npos,vpos,'b');

    na = max(abs(npos));

    na = 1.05*[-na na];

    ea = max(abs(epos));

    ea = 1.05*[-ea ea];

    va = max(abs(vpos));

    va = 1.05*[-va va];

    axis([na va]);

    xlabel('North');

    ylabel('Vertical');


    nt = ceil((max(t)-min(t))/6);

    k = find(fix(t/nt)==(t/nt))';

    for j = k

       text(npos(j),vpos(j),['o ' int2str(t(j))]);

    end

  14. 14

    按“Enter”键。

    如图7所示。

  15. 15

    近似的代码发生了别的两个二维视图。

    号令行键入:

    subplot(2,2,2)

    plot(epos,vpos,'g');

    for j = k

       text(epos(j),vpos(j),['o ' int2str(t(j))]);

    end

    axis([ea va]);

    xlabel('East');

    ylabel('Vertical');


    subplot(2,2,3)

    plot(npos,epos,'r');

    for j = k

       text(npos(j),epos(j),['o ' int2str(t(j))]);

    end

    axis([na ea]);

    xlabel('North');

    ylabel('East');

  16. 16

    按“Enter”键。

    如图8所示。

  17. 17

    第四个子情节是轨迹的三维视图。

    号令行键入:

    subplot(2,2,4)

    plot3(npos,epos,vpos,'k')

    for j = k

       text(npos(j),epos(j),vpos(j),['o ' int2str(t(j))]);

    end

    axis([na ea va]);

    xlabel('North');

    ylabel('East')

    zlabel('Vertical');

    box on

  18. 18

    按“Enter”键。

    如图9所示。

  19. 19

    最后,在每10个点上画一个点,点之间的间距暗示速度。

    号令行键入:

    subplot(1,1,1)

    plot3(npos,epos,vpos,'r')

    hold on

    step = 10;

    plot3(npos(1:step:end),epos(1:step:end),vpos(1:step:end),'.')

    hold off

    box on

    axis tight

    xlabel('North-South')

    ylabel('East-West')

    zlabel('Vertical')

    title('Position (cms)')

  20. 20

    按“Enter”键。

    如图10所示。

    END
原作者:matlab教程举报
  • 发表于 2020-02-14 20:00
  • 阅读 ( 908 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

联系我们:uytrv@hotmail.com 问答工具