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

📄 adjpro050401说明.txt

📁 GPS网平差计算
💻 TXT
字号:
一. 全局变量说明
      MAX 140                  为定义矩阵的最大维数  //l=3
      PI 3.14159265358979312   圆周率                //l=4     
      rou (180.0*60*60/PI)     一弧度的秒数          //l=5

二. 工具函数说明
    1 矩阵求逆函数

       int inverse(double C[][MAX],double B[][MAX],int n)  //l=149
       n 求逆矩阵的维数
	   返回0说明矩阵不可求逆;
       返回1说明矩阵求逆完成,B为返回逆阵

    2 矩阵乘积函数

       void AXB(double A[][MAX],double B[][MAX],double C[][MAX],int m,int n,int k) //l=42
       计算矩阵乘积A*B=C 
	   m,n 为A阵的行列数
	   n,k 为B阵的行列数  
	   void AXB(double a,double A[][MAX], double aA[][MAX],int m,int n)       //l=65
	   计算数乘矩阵 
       void AXB(double A[][MAX],double B[][1],double C[][1],int m,int n)         //l=53
	   计算矩阵乘列向量

    3 矩阵转置函数
       void AT(double A[][MAX],double AH[][MAX],int m,int n)               //l=73
       void AT(double A[][1],double AH[][MAX],int m)                       //l=80  
       列向量转置为行向量
       void AT(double A[][MAX],double AH[][1],int m)                       //l=86
       行向量转置为列向量
    
	4 矩阵屏幕输出
      void matdis(double A[][MAX],int n,int m)                             //l=132
      void matdis(double A[][1],int n) //l=142
      输出列向量 

    5 角度制与弧度制的互化
	  double d_h(double angle)  角度化弧度//l=703
	  double h_d(double angle)  弧度化角度//l=711
    
    6 矩阵文件输出
      void matout(double A[][1],int n,ofstream out)         //l=410 向文件输出向量
      void matout(double A[][MAX],int n,int m,ofstream out) //l=416 向文件输出矩阵

三. 基本平差工具函数
    1 计算法方程系数阵 
      void ATPA(double A[][MAX],double P[][MAX],double ATPA[][MAX],int m,int n)//l=93
    
	2 计算法方程常数项
	  void ATPL(double A[][MAX],double P[][MAX],double L[][1],double ATPL[][1],int m,int n)
           
	3 计算单位权中误差辅助数据
	  double VPV(double V[][1],double P[][MAX],int m)    //l=119
               
四. 基本平差结构与函数
    1 基本平差结构  
      struct adj //l=205

    2 平差结构数据键盘输入 
      void ksetadj(adj &a) //l=222
    
	3 平差结构数据文件输入(name 为文件名)
	  int fsetadj(adj &aa,char name[20]) //l=251
      返回1说明数据输入成功,返回0说明数据输入失败

    4 平差处理
      int  doadj(adj &a) //l=286
	  返回1说明数据处理成功,返回0说明数据平差失败

	5 稳健估计   
      int rubust(adj &a)  //l=375
      返回1说明数据处理成功,返回0说明数据平差失败

    6 平差结果屏幕输出
      void adjdis(adj &aa) //l=311
	  
	7 平差结果文件输出(name 为文件名)  
      int foutadj(adj &aa, char name[20])  //l=338
	  返回1说明数据输出成功,返回0说明数据输出失败

    8 极大权法平差函数
	  int doadj(adj &a,int knownp)  //l=584
	  knownp 为已知数据的个数 
	    
五. 高程网平差结构与函数
    1 高程点结构
      struct Hpnt   //l=428

    2 水准线路结构 
      struct line    //l=436                                       
      
    3 高程网结构
      struct Hnet     //l=444   

    4 文件输入高程网数据(fname为文件名)
      int finHnet(Hnet &a,char *fname)   //l=455
	  包括数据输入、极大权法平差数据准备、并将该数据保存在date.txt文件中 
     
    5 极大权法平差处理及数据输出(outfile为输出文件名)
      int Hnetadj(Hnet &a,char *outfile)  //l=610  

    6 高程网平差主函数---用户使用
      int Hdoadj(Hnet &a,char *infilename,char* outfilename)  //l=690
      infilename   输入文件文件名
	  outfilename  输出文件名       

六. 平面控制网平差结构与函数
    1 平面点结构 
	  struct XYP   //l=722
    
	2 观测值结构  	
      struct obser      //l=735

    3 测站结构
      struct stat        //l=749

    4 平面控制网结构
      struct XYnet      //l=755

    
    5 坐标反算
      double dist(XYP &a,XYP &b)   反算距离      //l=772
      double afa(XYP &a,XYP &b)    反算方位角    //l=780
    
	6 坐标正算
      void zheng(XYP &a,double s,double af,XYP &ou)  //l=1072
	  a为起点,ou为返回的终点; s为距离, af 为方位角(弧度)  

    7 由观测值计算近似坐标
      int XY0ang(obser &a1,obser &a2)    //l=789

    8 近似坐标计算 
      int setx0y0(XYnet &a)    //l=868
    
	9 网平差数据准备 
      int setXYadj(XYnet &a)     //l=964
    
	10 极大权法网平差
       int doXYadj(XYnet &a)     //l=1042
    
	11 文件输入平面网数据(fname为文件名)  
       int finXYnet(XYnet &a,char *fname)       //l=1079 
     
    12 平面网基本信息输出
       void XYnetdis(XYnet &aa)    //l=1243

    13 平面控制网平差主程序---用户使用
       int XYadj(XYnet &aa,char *infile,char *outfile)   //l=1267
	   infile   输入文件文件名
	   outfile  输出文件名   

    14 平面控制网平差结果文件输出函数(outfile为输出文件名)
       int XYfileout(XYnet &aa,char *outfile)	  

⌨️ 快捷键说明

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