你已经派生过 rmt-1d
镜像自地址
https://gitee.com/sduem/rmt-1d.git
已同步 2025-08-03 19:36:52 +08:00
56 行
1.4 KiB
Matlab
56 行
1.4 KiB
Matlab
function [MTR] = get_MTR(Ex1,Ey1,Hx1,Hy1,Hz1,Ex2,Ey2,Hx2,Hy2,Hz2,freq)
|
|
|
|
% Magnetotelluric response calculation
|
|
% Return: impedance, apparent resistivity, phase, tipper response
|
|
|
|
mu0 = 4*pi*1e-7 ; % V·s/ (A·m)
|
|
|
|
|
|
omega = 2*pi*freq;
|
|
detH = (Hx1.*Hy2-Hx2.*Hy1);
|
|
|
|
%% impedance
|
|
Zxx = (Ex1.*Hy2 - Ex2.*Hy1)./detH ;
|
|
Zxy = (Ex2.*Hx1 - Ex1.*Hx2)./detH ;
|
|
Zyx = (Ey1.*Hy2 - Ey2.*Hy1)./detH ;
|
|
Zyy = (Ey2.*Hx1 - Ey1.*Hx2)./detH ;
|
|
|
|
MTR.Zxx = Zxx;
|
|
MTR.Zxy = Zxy;
|
|
MTR.Zyx = Zyx;
|
|
MTR.Zyy = Zyy;
|
|
|
|
%% apparent resistivity
|
|
rhoXX = 1/(omega*mu0)*abs(Zxx).^2;
|
|
rhoXY = 1/(omega*mu0)*abs(Zxy).^2;
|
|
rhoYX = 1/(omega*mu0)*abs(Zyx).^2;
|
|
rhoYY = 1/(omega*mu0)*abs(Zyy).^2;
|
|
|
|
MTR.rhoXX = rhoXX;
|
|
MTR.rhoXY = rhoXY;
|
|
MTR.rhoYX = rhoYX;
|
|
MTR.rhoYY = rhoYY;
|
|
%% phase
|
|
phaXX = -atan(imag(Zxx)./real(Zxx))*180/pi;
|
|
phaXY = -atan(imag(Zxy)./real(Zxy))*180/pi;
|
|
phaYX = -atan(imag(Zyx)./real(Zyx))*180/pi;
|
|
phaYY = -atan(imag(Zyy)./real(Zyy))*180/pi;
|
|
|
|
% phaXX = -atan2(imag(Zxx),real(Zxx))*180/pi;
|
|
% phaXY = -atan2(imag(Zxy),real(Zxy))*180/pi;
|
|
% phaYX = -atan2(imag(Zyx),real(Zyx))*180/pi;
|
|
% phaYY = -atan2(imag(Zyy),real(Zyy))*180/pi;
|
|
MTR.phaXX = phaXX;
|
|
MTR.phaXY = phaXY;
|
|
MTR.phaYX = phaYX;
|
|
MTR.phaYY = phaYY;
|
|
|
|
%% Tipper
|
|
Tzx = (Hz1.*Hy2 - Hz2.*Hy1)./detH ;
|
|
Tzy = (Hz2.*Hx1 - Hz1.*Hx2)./detH ;
|
|
MTR.Tzx = Tzx;
|
|
MTR.Tzy = Tzy;
|
|
|
|
end
|
|
|