⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dxyz2neu.m

📁 这是国外关于卫星导航方面一书的源代码
💻 M
字号:
function [n,e,u,s,a,z]=dxyz2neu(dx,dy,dz,b0,l0)
% -----------------------------------------------------------------------------
% GPSLab:     DXYZ2NEU.M
%
% Umwandlung: Geozentrisch-kartesische Koordinatendifferenzen in N/E/U-Differenzen
%             sowie daraus Raumstrecke, Azimut und Zenitdistanz
% -----------------------------------------------------------------------------
%
% Wie:     [N,E,U,s,A,z]=dxyz2neu(dX,dY,dZ,B_ref,L_ref)
% Eingabe: dX,dY,dZ in Meter - Vektoren erlaubt (stehende, keine liegenden)
%          B_ref,L_ref in Degree.Decimale - nur je ein Wert, keine Vektoren
% Ausgabe: N,E,U,s in Meter , A,z in Degree.Decimale
%
% Formeln aus Hofmann-Wellenhof u.a.(1994):"GPS in der Praxis"
%
% Vektorisiert auf dX,dY,dZ
%
% -----------------------------------------------------------------------------
% (c) iapg 1998 zeb - Keine Gewaehr, da keine Abfragen.

ro=pi/180;
b0=b0*ro;
l0=l0*ro;

D=[-sin(b0)*cos(l0) -sin(l0) cos(b0)*cos(l0)
   -sin(b0)*sin(l0)  cos(l0) cos(b0)*sin(l0)
    cos(b0)             0    sin(b0)        ];
 
dx=dx';dy=dy';dz=dz';
DXYZ=[dx;dy;dz];
DNEU=D'*DXYZ(1:3,:);
n=DNEU(1,:);
e=DNEU(2,:);
u=DNEU(3,:);
s=sqrt(sum(DNEU.^2));
a=atan2(e,n)./ro;
z=acos(u./s)./ro;

n=n';
e=e';
u=u';
s=s';
a=a';
z=z';

%---------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -