function [H,Hv]=CurlyHlindata(lindata) computes Curly H (dispersion invariant) lindata is the first ouptut of [lindata,~,~]=atlinopt(...) (include at least 2 ouptut arguments for dispersion computation) output H : horizontal dispersion invariant Hv : vertical dispersion invariant
0001 function [H,Hv]=CurlyHlindata(lindata) 0002 %function [H,Hv]=CurlyHlindata(lindata) 0003 % 0004 % computes Curly H (dispersion invariant) 0005 % 0006 % lindata is the first ouptut of [lindata,~,~]=atlinopt(...) 0007 % (include at least 2 ouptut arguments for dispersion computation) 0008 % 0009 % output 0010 % 0011 % H : horizontal dispersion invariant 0012 % Hv : vertical dispersion invariant 0013 % 0014 % 0015 0016 0017 B = cat(1,lindata.beta); 0018 A = cat(1,lindata.alpha); 0019 %[D,Dv] = gelindataispersion(RING,ind); 0020 %[Dp,Dpv] = gelindataispersionAngle(RING,ind); 0021 DD = cat(2,lindata.Dispersion); 0022 D=DD(1,:); 0023 Dv=DD(3,:); 0024 Dp=DD(2,:); 0025 Dpv=DD(4,:); 0026 0027 G=(1+A(:,1).^2)./B(:,1); 0028 Gv=(1+A(:,2).^2)./B(:,2); 0029 0030 H=B(:,1).*Dp'.*Dp' + 2*A(:,1).*D'.* Dp' + G.*D'.* D'; 0031 Hv=B(:,2).*Dpv'.*Dpv' + 2*A(:,2).*Dv'.* Dpv' + Gv.*Dv'.* Dv';