3
\ begingroup美元

我要写一个程序,确定地震的震级和震中。从http://www.dartmouth.edu/ ears5 /资料/ EQ_distance.html,可以计算中心的距离

$ d = (ts-tp) / (1 / vs) - (1 / vp)美元

但是,我不确定什么Vs和副总裁的值。从旅行时间图Vs和副总裁随距离传感器的地震。因为我有3个传感器与给定的纬度和经度,从中我可以得到滞后时间,有无论如何我可以从这些变量估计Vs和副总裁?

除此之外,还有其他我可以从震中的距离传感器?

\ endgroup美元

    1回答1

    3
    \ begingroup美元

    我认为这是可能的4台是的,而不是三个。

    (大约)均匀的假设速度我们得到以下问题。假设v_p美元v_s美元是常数之间的地震和你所有的接收器收益率以下系统:\{对齐}开始d & = \√6{\δx ^ 2 + \δy ^ 2 + \δz ^ 2} ={3已知3未知数}\文本,文本\四\{为}\左\{{数组}{rl} \ \开始δx & =间{地震}\文本间\文本{接收机}\ \ \δy & = y_ \{地震}- y_ \文本{接收机}\ \ \δz & = z_ \文本{地震}- z_ \文本{接收机}\{数组}{分裂}\ \开始结束结束{分裂}\。,\ \ \δt & = t_s - t_p ={测量}\文本,\ \ p & = \离开(\压裂{1}{v_s} - \压裂{1}{v_p} \右)= \文本未知{1}。结束\{对齐}重申你的问题然后方程给出了提出问题:$ $ \δt = p d。$ $例如,对于v_p = 2000美元米/秒,v_s = 1200美元m / s,我们发现p = 1/3000美元和可以计算如d = 600美元$ \δt = 600/3000 = 0.2美元年代。

    现在,我们必须设置=逆问题。你通常至少需要尽可能多的方程未知数。在这种情况下,我们有4个未知数(速度和(x, y, z)美元地震位置)。这意味着我们需要4(独特的)方程。我认为最简单的方法获得4独特的方程结合测量:$ $ p {pmatrix} d_1开始\ \ \ d_2结束\ \ d_3 \ \ d_4 \ {pmatrix} = {pmatrix} \ \开始δδt_2 t_1 \ \ \ \ \ \δδt_4 t_3 \ \ \ \ {pmatrix}, $ $表示与美元间的{1,2,3,4}$美元y_ {1, 2, 3, 4} $接收器的纬度和经度,假设测量表面,我们得到:$ $ p {pmatrix} \ \开始√6{(间\文本{地震}-x_1) ^ 2 + (y_ \文本{地震}-y_1) ^ 2 + z_文本{地震}^ 2}\ \ \ \√6{(间\文本{地震}-x_2) ^ 2 + (y_ \文本{地震}-y_2) ^ 2 + z_文本{地震}^ 2}\ \ \ \√6{(间\文本{地震}-x_3) ^ 2 + (y_ \文本{地震}-y_3) ^ 2 + z_文本{地震}^ 2}\ \ \ \√6{(间\文本{地震}-x_4) ^ 2 + (y_ \文本{地震}-y_4) ^ 2 + z_文本{地震}^ 2}\ \结束{pmatrix} = {pmatrix} \ \开始δδt_2 t_1 \ \ \ \ \ \δδt_4 t_3 \ \ \ \ {pmatrix}结束。$ $

    最后,我们必须解决逆问题。不幸的是,该系统是非线性(未知的“隐藏”在广场和不能被分离的根源)。你必须使用一些非线性规划求解。例如,在MATLAB可以做到这一点

    %真实地震位置x_earthquake = 0;y_earthquake = 0;z_earthquake = 1000;%真实站位置x_1 = 1000;y_1 = 1000;x_2 = 500;y_2 = -300;x_3 = -400;y_3 = -100;x_4 = -10; y_4 = 800; X = [x_1;x_2;x_3;x_4]; Y = [y_1;y_2;y_3;y_4]; % True velocity structure p0 = 1/3000; % Forward equation (F(1)=x_eartquake, F(2)=y_earthquake, F(3)=z_earthquake, F(4)=p. t =@(F) F(4) * sqrt( (F(1)-X).^2 + (F(2)-Y).^2 + F(3).^2); % True recordings measured_times = t([x_earthquake,y_earthquake,z_earthquake,p0]); % Misfit function (=0 at optimum) G =@(F) t(F) - measured_times; % Invert %options = optimoptions('fsolve','FiniteDifferenceType','central'); % using these will give better results in MATLAB %F_inv = fsolve( G, [1000,1000,1000,0.1],options) F_inv = fsolve( G, [1000,1000,1000,0.1]) x_earthquake_inv = F_inv(1) y_earthquake_inv = F_inv(2) z_earthquake_inv = F_inv(3) p_inv = F_inv(4)

    如果你把这个复制到https://octave-online.net/,例如,它会发现地震(0,0,1000)和p = 1/3000,一些小错误由于非线性求解器进行求解。

    \ endgroup美元

      你的答案

      通过点击“发布你的答案”,你同意我们服务条款,隐私政策饼干的政策

      不是你要找的答案?浏览其他问题标记问你自己的问题