📄 adjpro050401说明.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 + -