计算MT响应

Signed-off-by: 刘明宏 <liuminghong@mail.sdu.edu.cn>
这个提交包含在:
刘明宏
2024-08-03 15:01:25 +00:00
提交者 Gitee
父节点 4818366fc7
当前提交 b59e1b03e1

55
MT1D/get_MTR.m 普通文件
查看文件

@@ -0,0 +1,55 @@
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