资源简介
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个文件信息
相关资源
- 用C语言实现成绩表的快速排序程序设
- RSA算法纯C语言代码实现,带测试dem
- c语言标准库源码大全
- [算法:C语言实现(第1-4部分)基础知
- MPI与OpenMP并行程序设计:C语言版
- C语言程序设计课件全套
- 几本英文原版的c语言经典图书
- 单片机交通灯课程设计.zip
- 课程设计--C语言学生成绩管理系统内
- 利用C语言实现的ATM机
- C语言程序设计第四版谭浩强课后习题
- 现代优化设计黄金分割法和二次插值
- 数据结构c语言版第2版课后习题答案
- 谭浩强C语言教程
- 求曼德勃罗集合C语言串行并行代码
- 流程图生成器C语言
- C语言大一期末考小助手
- 谭浩强 程序代码及习题答案(第三版
- 超声波测距及蓝牙模块源码程序c语言
- 重庆邮电大学C语言期末考试题
- 学校教材订购系统,C语言版,内容详
- 利用FFT计算频谱图
- 数据结构——C语言描述》习题及答案
- 郝斌C语言详细笔记().doc
- C语言编写的中文分词程序
- 全国计算机等级考试-二级教程-C语言
- 使用C++实现HDLC协议
- FFT的C语言实现
- LZ77数据压缩C语言源代码
- C语言实现TCP/IP协议通信和UDP协议通信
评论
共有 条评论