资源简介

GPS网间接平差C语言程序,采用文件读取方式,处理成果存入txt文件中

资源截图

代码片段和文件信息


#include 
#include 
#include 

#define M 100
#define DS 10
#define GS 25

int fg[M];
double Jx[M]Jy[M]Jz[M]X[M]Y[M]Z[M]B[M][M]BT[M][M]BTP[M][M]BTPB[M][M]BTPBN[M][M]l[M]x[M]P[M][M]BTPL[M]xx[M]yy[M]zz[M]v[M];
double danweiquanzhongwuchaxzwc[M]yzwc[M]zzwc[M]dzwc[M];

struct
{
int qidian;
int zhongdian;
double dx;
double dy;
double dz;
}GPSjxxl[M];

void shuzufuchushizhi()
{
int ij;
for (i=0;i {
for (j=0;j {
fg[i]=0;
B[i][j]=P[i][j]=0.0;
}
}
}

//数据读取
void shujuduqu()
{
int iabno;
double t1t2t3;
FILE *fp;
fp=fopen(“GPS网观测数据2.txt““r“);
if (fp==NULL)
{
printf(“打开文件失败!\n“);
exit(0);
}
//读取基线向量
for (i=1;i<=GS;i++)
{
fscanf(fp“%d%d%d%lf%lf%lf“&no&a&b&t1&t2&t3);
GPSjxxl[i].qidian=a;
GPSjxxl[i].zhongdian=b;
GPSjxxl[i].dx=t1;
GPSjxxl[i].dy=t2;
GPSjxxl[i].dz=t3;
}
//读取已知点坐标
for (i=1;i<2;i++)
{
fscanf(fp“%d%lf%lf%lf“&a&t1&t2&t3);
Jx[a]=X[a]=t1;
Jy[a]=Y[a]=t2;
Jz[a]=Z[a]=t3;
fg[a]=1;
}
fclose(fp);
}

//计算坐标近似值
void cal_zbjinsizhi()
{
int iqdzd;
double dxdydz;
for (i=1;i<=GS;i++)
{
qd=GPSjxxl[i].qidian;
zd=GPSjxxl[i].zhongdian;
dx=GPSjxxl[i].dx;
dy=GPSjxxl[i].dy;
dz=GPSjxxl[i].dz;
if (fg[qd]!=0&&fg[zd]==0)
{
Jx[zd]=Jx[qd]+dx;
Jy[zd]=Jy[qd]+dy;
Jz[zd]=Jz[qd]+dz;
fg[zd]=1;
}
if (fg[qd]==0&&fg[zd]!=0)
{
Jx[qd]=Jx[zd]-dx;
Jy[qd]=Jy[zd]-dy;
Jz[qd]=Jz[zd]-dz;
fg[qd]=1;
}
}
}

//计算B矩阵
void cal_xishu()
{
int iqdzdx1x2;
for (i=1;i<=GS;i++)
{
x1=x2=1;
qd=GPSjxxl[i].qidian;
zd=GPSjxxl[i].zhongdian;
if (qd==1)
{
x1=0;
}
if (zd==1)
{
x2=0;
}
B[3*i-2][3*qd-2]=B[3*i-1][3*qd-1]=B[3*i][3*qd]=-x1;
B[3*i-2][3*zd-2]=B[3*i-1][3*zd-1]=B[3*i][3*zd]=x2;
}
}


//计算常数矩阵
void cal_l()
{
int iqdzd;
double dxdydz;
for (i=1;i<=GS;i++)
{
qd=GPSjxxl[i].qidian;
zd=GPSjxxl[i].zhongdian;
dx=GPSjxxl[i].dx;
dy=GPSjxxl[i].dy;
dz=GPSjxxl[i].dz;
l[3*i-2]=dx-(Jx[zd]-Jx[qd]);
l[3*i-1]=dy-(Jy[zd]-Jy[qd]);
l[3*i]=dz-(Jz[zd]-Jz[qd]);
}
}

//转置矩阵
void zhuanzhi()
{
int ij;
for (i=1;i<=3*GS;i++)
{
for(j=1;j<=3*DS;j++)
{
BT[j][i]=B[i][j];
}
}
}

//计算权阵
void cal_quanzhen()
{
int i;
double sdxdydzt;
for (i=1;i<=GS;i++)
{
dx=GPSjxxl[i].dx;
dy=GPSjxxl[i].dy;
dz=GPSjxxl[i].dz;
s=sqrt((dx*dx)+(dy*dy)+(dz*dz));
t=sqrt(2+2*s/1000);
P[3*i-2][3*i-2]=P[3*i-1][3*i-1]=P[3*i][3*i]=t;
}
}

//矩阵乘法
void juzhenxiangcheng()  
{
int ijk;
double t;
//计算BTP
for(i=4;i<=3*DS;i++)
{
for(j=1;j<=3*GS;j++)
{
t=0;
for(k=1;k<=3*GS;k++)
{
t+=BT[i][k]*P[k][j];
}
BTP[i][j]=t;
}
}
//计算BTPB
for(i=4;i<=3*DS;i++)
{
for(j=4;j<=3*DS;j++)
{
t=0;
for(k=1;k<=3*GS;k++)
{
t+=BTP[i][k]*B[k][j];
}
BTPB[i][j]=t;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-04-27 21:00  GPS网\
     目录           0  2013-04-27 21:00  GPS网\GPS网(校内)\
     目录           0  2013-04-27 21:00  GPS网\GPS网(校内)\Debug\
     文件      229479  2013-01-06 15:43  GPS网\GPS网(校内)\Debug\GPS网.exe
     文件      234200  2013-01-06 15:43  GPS网\GPS网(校内)\Debug\GPS网.ilk
     文件       33104  2013-01-06 15:43  GPS网\GPS网(校内)\Debug\GPS网.obj
     文件      190452  2013-01-06 15:43  GPS网\GPS网(校内)\Debug\GPS网.pch
     文件      418816  2013-01-06 15:43  GPS网\GPS网(校内)\Debug\GPS网.pdb
     文件       33792  2013-01-06 15:43  GPS网\GPS网(校内)\Debug\vc60.idb
     文件       45056  2013-01-06 15:43  GPS网\GPS网(校内)\Debug\vc60.pdb
     文件        9575  2013-01-06 15:44  GPS网\GPS网(校内)\GPS网.c
     文件        3389  2013-01-06 15:43  GPS网\GPS网(校内)\GPS网.dsp
     文件         518  2013-01-06 15:44  GPS网\GPS网(校内)\GPS网.dsw
     文件       33792  2013-01-06 15:44  GPS网\GPS网(校内)\GPS网.ncb
     文件       48640  2013-01-06 15:44  GPS网\GPS网(校内)\GPS网.opt
     文件         745  2013-01-06 15:43  GPS网\GPS网(校内)\GPS网.plg
     文件      106744  2013-01-06 15:43  GPS网\GPS网(校内)\GPS网平差数据处理成果.txt
     文件         827  2012-12-26 21:36  GPS网\GPS网(校内)\GPS网观测数据2.txt
     目录           0  2013-04-27 21:00  GPS网\GPS网(校外)\
     目录           0  2013-04-27 21:00  GPS网\GPS网(校外)\Debug\
     文件      229479  2013-01-06 15:46  GPS网\GPS网(校外)\Debug\GPS网.exe
     文件      234200  2013-01-06 15:46  GPS网\GPS网(校外)\Debug\GPS网.ilk
     文件       33008  2013-01-06 15:46  GPS网\GPS网(校外)\Debug\GPS网.obj
     文件      190452  2013-01-06 15:46  GPS网\GPS网(校外)\Debug\GPS网.pch
     文件      418816  2013-01-06 15:46  GPS网\GPS网(校外)\Debug\GPS网.pdb
     文件       33792  2013-01-06 15:46  GPS网\GPS网(校外)\Debug\vc60.idb
     文件       45056  2013-01-06 15:46  GPS网\GPS网(校外)\Debug\vc60.pdb
     文件        9613  2013-01-06 15:46  GPS网\GPS网(校外)\GPS网.c
     文件        3389  2013-01-06 15:46  GPS网\GPS网(校外)\GPS网.dsp
     文件         518  2013-01-06 15:46  GPS网\GPS网(校外)\GPS网.dsw
     文件       33792  2013-01-06 15:46  GPS网\GPS网(校外)\GPS网.ncb
............此处省略4个文件信息

评论

共有 条评论