资源简介
利用vc++平台,通过c++编程实现卫星位置计算
代码片段和文件信息
#include
#include
#include
#define GM 3.986005e14
void main()
{
long double toe = 0.720000000000e+04; //星历表参考历元
long double a = 0.2656013544884677e+08; //轨道长半径
long double e = 0.678421219345e-02; //轨道偏心率
long double i0 = 0.958512160302e+00; //按参考历元toe计算的轨道倾角
long double w = -0.258419417299e+01; //近地点角距
long double o0 = -0.137835982556e+01; //按参考历元toe计算的升交点赤径
long double M0 = -0.290282040486e+00; //按参考历元toe计算的平近点角
long double delta_n = 0.451411660250e-08; //由精密星历计算得到的卫星平均角速度与按给定参数计算所得的平均角速度之差
long double o = -0.819426989566e-08; //升交点赤径变化率
long double I = -0.253939149013e-09; //轨道倾角变化率
long double cus = 0.912137329578e-05; //纬度俯角的正弦调和项改正的振幅
long double cuc = 0.189989805222e-06; //纬度俯角的余弦调和项改正的振幅
long double cis = 0.949949026108e-07; //轨道倾角的正弦调和项改正的振幅
long double cic = 0.130385160446e-07; //轨道倾角的余弦调和项改正的振幅
long double crs = 0.406250000000e+01; //轨道半径的正弦调和项改正的振幅
long double crc = 0.201875000000e+03; //轨道半径的余弦调和项改正的振幅
long double we = 7.29211567e-5; //地球自转的速率
long double t = 0.720000000000e+04; //观测时刻
long double n0ntk;
long double Mk Ek Vk fk;
long double u r i uk rk ik ok xk yk;
long double Xk Yk Zk;
int diedai;
n0 = sqrt(GM/(a*a*a));
n = n0 + delta_n;
tk = t - toe;
Mk = M0 + n*tk;
Ek = Mk;
for(diedai=0; diedai<3; diedai++) Ek = Mk + e*sin(Ek);
Vk = atan( sqrt(1.0-e*e)*sin(Ek)/(cos(Ek)-e));
fk = Vk + w;
u = cuc*cos(2.0*fk) + cus*sin(2.0*fk);
r = crc*cos(2.0*fk) + crs*sin(2.0*fk);
i = cic*cos(2.0*fk) + cis*sin(2.0*fk);
uk = fk + u;
rk = a*(1.0-e*cos(Ek)) + r;
ik = i0 + i + I*tk;
xk = rk*cos(uk);
yk = rk*sin(uk);
ok = o0 + (o-we)*tk - we*toe;
Xk = xk*cos(ok) - yk*sin(ok)*cos(ik);
Yk = xk*sin(ok) + yk*cos(ok)*cos(ik);
Zk = yk*sin(ik);
cout <<“卫星运行平均角速度n0:“< cout <<“校正过的卫星运行平均角速度n:“< cout <<“归化时间tk:“< cout <<“卫星平近点角Mk:“< cout <<“卫星偏近点角Ek:“< cout <<“卫星真近点角Vk:“< cout <<“卫星升交距角fk:“< cout <<“摄动改正项uri:“<cout <<“经过摄动改正的升交距角uk:“< cout <<“经过摄动改正的卫星矢径rk:“< cout <<“经过摄动改正的轨道倾角ik:“< cout <<“卫星在轨道平面坐标系的坐标xk,yk:“< cout <<“观测时刻升交点经度ok:“< cout <<“卫星在地心固定坐标系中的直角坐标为XkYkZk:“< }
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-12-01 22:48 z\
目录 0 2015-12-01 22:51 z\GPS卫星位置计算\
目录 0 2015-12-01 22:50 z\GPS卫星位置计算\Debug\
文件 229462 2015-12-01 22:50 z\GPS卫星位置计算\Debug\GPS卫星位置计算.exe
文件 254596 2015-12-01 22:50 z\GPS卫星位置计算\Debug\GPS卫星位置计算.ilk
文件 277092 2015-12-01 22:50 z\GPS卫星位置计算\Debug\GPS卫星位置计算.pch
文件 418816 2015-12-01 22:50 z\GPS卫星位置计算\Debug\GPS卫星位置计算.pdb
文件 41984 2015-12-01 22:51 z\GPS卫星位置计算\Debug\vc60.idb
文件 61440 2015-12-01 22:50 z\GPS卫星位置计算\Debug\vc60.pdb
文件 10412 2015-12-01 22:50 z\GPS卫星位置计算\Debug\z.obj
文件 4378 2015-12-01 22:50 z\GPS卫星位置计算\GPS卫星位置计算.dsp
文件 538 2015-12-01 22:48 z\GPS卫星位置计算\GPS卫星位置计算.dsw
文件 33792 2015-12-01 22:51 z\GPS卫星位置计算\GPS卫星位置计算.ncb
文件 48640 2015-12-01 22:51 z\GPS卫星位置计算\GPS卫星位置计算.opt
文件 1334 2015-12-01 22:50 z\GPS卫星位置计算\GPS卫星位置计算.plg
文件 2784 2015-12-01 22:50 z\GPS卫星位置计算\z.cpp
- 上一篇:C语言编程题库
- 下一篇:C++实现的遗传算法实现TSP问题
评论
共有 条评论