为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > (VC++-MFC)高斯平均引数大地主题正反算

(VC++-MFC)高斯平均引数大地主题正反算

2022-06-24 6页 doc 44KB 4阅读

用户头像 个人认证

is_081822

暂无简介

举报
(VC++-MFC)高斯平均引数大地主题正反算SouthwestJiaotongUniversity地球科学与环境工程学院实验报告课程名:学口号姓名指导老师:日期、目的与要求1..、实验内容三、计算公式整理四、程序代码……五、计算结果.1.…...41..5..六、实验体会1..6..、目的与要求参考椭球面是大地测量计算的基准面。大地坐标是椭球面上的基本坐标系,根据大地测量的观测成果(如距离与方向),从大地原点出发,逐点计算在椭球面上的大地坐标;或根据两点的大地坐标,计算它们之间的大地线长度和大地方位角,这类计算称为大地问题解算(或称为大地主题解算)...
(VC++-MFC)高斯平均引数大地主题正反算
SouthwestJiaotongUniversity地球科学与环境工程学院实验报告课程名:学口号姓名指导老师:日期、目的与要求1..、实验内容三、计算公式整理四、程序代码……五、计算结果.1.…...41..5..六、实验体会1..6..、目的与要求参考椭球面是大地测量计算的基准面。大地坐标是椭球面上的基本坐标系,根据大地测量的观测成果(如距离与方向),从大地原点出发,逐点计算在椭球面上的大地坐标;或根据两点的大地坐标,计算它们之间的大地线长度和大地方位角,这类计算称为大地问解算(或称为大地主题解算)。大地问题解算的用途是多方面的,随着现代空间技术和航空航天、航海等领域的发展,大地问题解算(尤其是大地反算)有着更为重要的作用,因此需要熟练掌握其计算。二、实验内容在《大地测量学基础》教材中,介绍了高斯平均引数法与白塞尔方法的计算过程、步骤。鉴于此,需要熟练掌握高斯平均引数法与白塞尔方法解大地主题问题的基本方法与原理。采用所熟悉的计算机语言编程计算。计算时采用克拉索夫椭球参数,至少完成其中一种方法正反算,按照数据序号选取不同的已知数据,在计算结果中注明所选取的数据序号,选取其它数据作为无效数据处理。三、计算公式整理3.1、高斯平均引数正算计算公式(S<200km)Cl>计算辅助量公式(2)计算ASS立、A.<的初值A5o=«^S・co“■•p△Io*S•sin4NiCO氓*N\~PS•S3QXlC211易■^LqsmBy(3)计算E椅.乙「4,B糰=场+-步An=A+^a4>再次计算A5\立、Wa'=缶s・COM」-茹旷[血2厶(2-3f:+引勿JRHI4盏-咖]^3COS*/“2(fhi_4必:}];AZ■SsinX」1+NaB從尺=詈Ssin4«U1〒盏7[sV去3X1十9必1-5凉)w重复计算(3),直到计算满足ASq-AS]<£乂.1-AL;<£,、4乙-之V£如按弧度计算可取按角度计算可取"O.OOOiO(6)计算虽、缶的最后值B;■B'—A5|Z;«£1■+AZ,冬・內・^4±18(/(/1>1800取+丿4<180"取-3.2、高斯平均引数正算计算公式(S<200km)Cl)3捉a二鸟一场AL二厶一£]C2)tz=Sskyim三厂皿SE十也十F二5cos比二+兀ASZiZ?+咕2^3AA=如A5+f^L*^*AZ4如丄£?式中各系数咖=A・co5広14巾厂气黔(Ff駅F)甩=-想?"”民Q十环十2处)2"*01=嘉y叭5=方戸亡出月詁启+7球+9心;)注:这里对教材公式中相应系数进行了修正与改进口JWarctsu(4)『=」—-arctan4■■J加—r丸一FX-TIjt/JSsinX,5匚05片旺1-C17cpk£|>|A£A5|<|A£SC05心£sii£当当AB<0,当AB<0,当卫沁当A^=a2£>0A£>0Ai<0iZ<0⑸血£sinA^Seas血U或S-COS-4^COSZ机/]■——A.4fj4r■/展+—i4士/7四、程序代码4.1、角度转换类的头文件:#pragmaonceconstdoublePi=3.1493;classAngleTranspublic:AngleTrans(void);~AngleTrans(void);doubledoubleD,F,M,DFM,Rad,Ten;trans1(doubleDFM),//度分秒形式的角度转换为弧度形式trans2(doubleRad),//弧度形式的角度转换为度分秒形式trans3(doubleD);//十进转化为弧度};4.2、角度转换类的源文件:#include"StdAfx.h"#include"AngleTrans.h"#includeAngleTrans::AngleTrans(void)AngleTrans::~AngleTrans(void)double//度分秒转换为弧度AngleTrans::trans1(doubleDFM)D=floor(DFM);F=floor((DFM-D)*100);M=(DFM-D-F/100)*10000;Ten=D+F/60+M/3600;Rad=Ten/180*Pi;returnRad;//弧度转换为度分秒doubleAngleTrans::trans2(doubleRad)Ten=Rad/Pi*180;D=floor(Ten);F=(Ten-D)*60;M=(F-floor(F))*60;F=floor(F);DFM=D+F/100+M/10000;returnDFM;double//十进制度转化为弧度AngleTrans::trans3(doubleD)Rad=D/180*Pi;returnRad;4.3、正反算类的头文件:#pragmaonceclassZhengFanSuan{public:doubleZhengFanSuan(void);~ZhengFanSuan(void);zB1,zL1,zA12,zS,fB1,fL1,fB2,fL2;doubleZhengSuanB(doublezB1,doublezL1,doublezA12,doublezS),doubleZhengSuanL(doubleZhengSuanA(doublezB1,doublezB1,doublezL1,doublezA12,doublezS),zL1,doublezA12,doublezS);FanSuanA12(doublefB1,doublefL1,doublefB2,doublefL2),FanSuanS(doublefB1,doublefL1,doublefB2,doublefL2),FanSuanA21(doublefB1,doublefL1,doublefB2,doublefL2);};4.3、正反算类的源文件:#include"StdAfx.h"#include#include#include"ZhengFanSuan.h""AngleTrans.h"ZhengFanSuan::ZhengFanSuan(void){void)ZhengFanSuan::~ZhengFanSuan(AngleTrans_AngleTrans;constdoublee1=0.22966,e2=0.4683,a=6378245.0000,b=6356863.01877,//计算Mmtemp=pow(10.0,-10);//精度要求doubleCalc_M(doublez){doublex=a*(1-pow(e1,2))/sqrt(pow(1-pow(e1,2)*pow(sin(z),2),3));returnx;doubleCalc_N(doublez)//计算Nm{doublex=a/sqrt(1-pow(e1,2)*pow(sin(z),2));returnx;doubleCalc_t(doublez){doublex=tan(z);//计算tmreturnx;doubleCalc_yita(doublez)//计算yitamdoublex=pow(e2,2)*pow(cos(z),2);returnx;//正算纬度doubleZhengFanSuan::ZhengSuanB(doublezB1,doublezL1,doublezA12,doublezS){doubleM[10000],N[10000],t[10000],B[10000],Bm[10000],L[10000],Lm[10000],A[10000],Am[10000],doubleyita[10000];_zB1=_AngleTrans.trans1(zB1),_zL1=_AngleTrans.trans1(zL1),_zA12=_AngleTrans.trans1(zA12),final;t[1]=tan(_zB1);yita[1]=pow(e2,2)*pow(cos(_zB1),2);N[1]=a/sqrt(1-pow(e1,2)*pow(sin(_zB1),2));M[1]=a*(1-pow(e1,2))/sqrt(pow(1-pow(e1,2)*pow(sin(_zB1),2),3));B[0]=_AngleTrans.trans3(206265/M[1]*zS*cos(_zA12)/3600),L[0]=_AngleTrans.trans3(206265*zS*sin(_zA12)/(N[1]*cos(_zB1))/3600),A[0]=L[0]*sin(_zB1);Bm[1]=_zB1+1/2*B[0];Lm[1]=_zL1+1/2*L[0];Am[1]=_zA12+1/2*A[0];inti=1;B[1]=_AngleTrans.trans3((206265/M[1]*zS*cos(Am[1])*(1+pow(zS,2)/(24*pow(N[1],2))*(pow(sin(Am[1]),2))(2+3*pow(t[1],2)+2*pow(yita[1],2))+3*pow(cos(Am[1]),2)*pow(yita[1],2)*(pow(t[1],2)-1-pow(yita[1],2)-4*pow(yita[1],2)*pow(t[1],2))))/3600);L[i]=_AngleTrans.trans3((206265/(N[1]*cos(Bm[1]))*zS*sin(Am[i])*(1+pow(zS,2)/(24*pow(N[i],2))*(pow(t[i],2)*pow(sin(Am[i]),2)-pow(cos(Am[i]),2)*(1+pow(yita[i],2)-9*pow(yita[i],2)*pow(t[i],2)))))/3600);A[i]=_AngleTrans.trans3((206265/N[i]*zS*sin(Am[i])*t[i]*(1+pow(zS,2)/(24*pow(N[i],2))*(pow(cos(Am[i]),2)*(2+7*pow(yita[i],2)+9*pow(yita[i],2)*pow(t[i],2)+5*pow(yita[i],4))+pow(sin(Am[i]),2)*(2+pow(t[i],2)+2*pow(yita[i],2)))))/3600);while(B[i]-B[i-1]>=temp)B[i+1]=_AngleTrans.trans3((206265/M[i]*zS*cos(Am[i])*(1+pow(zS,2)/(24*pow(N[i],2))*(pow(sin(Am[i]),2))*(2+3*pow(t[i],2)+2*pow(yita[i],2))+3*pow(cos(Am[i]),2)*pow(yita[i],2)*(pow(t[i],2)-1-pow(yita[i],2)-4*pow(yita[i],2)*pow(t[i],2))))/3600);L[i+1]=_AngleTrans.trans3((206265/(N[i]*cos(Bm[i]))*zS*sin(Am[i])*(1+pow(zS,2)/(24*pow(N[i],2))*(pow(t[i],2)*pow(sin(Am[i]),2)-pow(cos(Am[i]),2)*(1+pow(yita[i],2)-9*pow(yita[i],2)*pow(t[i],2)))))/3600);A[i+1]=_AngleTrans.trans3((206265/N[i]*zS*sin(Am[i])*t[i]*(1+pow(zS,2)/(24*pow(N[i],2))*(pow(cos(Am[i]),2)*(2+7*pow(yita[i],2)+9*pow(yita[i],2)*pow(t[i],2)+5*pow(yita[i],4))+pow(sin(Am[i]),2)*(2+pow(t[i],2)+2*pow(yita[i],2)))))/3600);Bm[i+1]=_zB1+1/2*B[i];Lm[i+1]=_zL1+1/2*L[i];Am[i+1]=_zA12+1/2*A[i];M[i+1]=Calc_M(B[i]);N[i+1]=Calc_N(N[i]);yita[i+1]=Calc_yita(yita[i]);t[i+1]=Calc_t(t[i]);final=B[i];i++;doubleFinal=final+_zB1;return_AngleTrans.trans2(Final);//正算经度doubleZhengFanSuan::ZhengSuanL(doublezB1,doublezL1,doublezA12,doublezS){doubleM[10000],N[10000],t[10000],B[10000],Bm[10000],L[10000],Lm[10000],A[10000],Am[10000],doubleyita[10000];_zB1=_AngleTrans.trans1(zB1),_zL1=_AngleTrans.trans1(zL1),_zA12=_AngleTrans.trans1(zA12),final;t[1]=tan(_zB1);yita[1]=pow(e2,2)*pow(cos(_zB1),2);N[1]=a/sqrt(1-pow(e1,2)*pow(sin(_zB1),2));M[1]=a*(1-pow(e1,2))/sqrt(pow(1-pow(e1,2)*pow(sin(_zB1),2),3));B[0]=_AngleTrans.trans3(206265/M[1]*zS*cos(_zA12)/3600),L[0]=_AngleTrans.trans3(206265*zS*sin(_zA12)/(N[1]*cos(_zB1))/3600),A[0]=L[0]*sin(_zB1);Bm[1]=_zB1+1/2*B[0];Lm[1]=_zL1+1/2*L[0];Am[1]=_zA12+1/2*A[0];inti=1;B[1]=_AngleTrans.trans3((206265/M[1]*zS*cos(Am[1])*(1+pow(zS,2)/(24*pow(N[1],2))*(pow(sin(Am[1]),2))(2+3*pow(t[1],2)+2*pow(yita[1],2))+3*pow(cos(Am[1]),2)*pow(yita[1],2)*(pow(t[1],2)-1-pow(yita[1],2)-4*pow(yita[1],2)*pow(t[1],2))))/3600);i++;L[i]=_AngleTrans.trans3((206265/(N[1]*cos(Bm[1]))*zS*sin(Am[i])*(1+pow(zS,2)/(24*pow(N[i],2))*(pow(t[i],2)*pow(sin(Am[i]),2)-pow(cos(Am[i]),2)*(1+pow(yita[i],2)-9*pow(yita[i],2)*pow(t[i],2)))))/3600);A[i]=_AngleTrans.trans3((206265/N[i]*zS*sin(Am[i])*t[i]*(1+pow(zS,2)/(24*pow(N[i],2))*(pow(cos(Am[i]),2)*(2+7*pow(yita[i],2)+9*pow(yita[i],2)*pow(t[i],2)+5*pow(yita[i],4))+pow(sin(Am[i]),2)*(2+pow(t[i],2)+2*pow(yita[i],2)))))/3600);if(L[i]-L[i-1]>=temp)while(L[i]-L[i-1]>=temp){B[i+1]=_AngleTrans.trans3((206265/M[i]*zS*cos(Am[i])*(1+pow(zS,2)/(24*pow(N[i],2))*(pow(sin(Am[i]),2))*(2+3*pow(t[i],2)+2*pow(yita[i],2))+3*pow(cos(Am[i]),2)*pow(yita[i],2)*(pow(t[i],2)-1-pow(yita[i],2)-4*pow(yita[i],2)*pow(t[i],2))))/3600);L[i+1]=_AngleTrans.trans3((206265/(N[i]*cos(Bm[i]))*zS*sin(Am[i])*(1+pow(zS,2)/(24*pow(N[i],2))*(pow(t[i],2)*pow(sin(Am[i]),2)-pow(cos(Am[i]),2)*(1+pow(yita[i],2)-9*pow(yita[i],2)*pow(t[i],2)))))/3600);A[i+1]=_AngleTrans.trans3((206265/N[i]*zS*sin(Am[i])*t[i]*(1+pow(zS,2)/(24*pow(N[i],2))*(pow(cos(Am[i]),2)*(2+7*pow(yita[i],2)+9*pow(yita[i],2)*pow(t[i],2)+5*pow(yita[i],4))+pow(sin(Am[i]),2)*(2+pow(t[i],2)+2*pow(yita[i],2)))))/3600);Bm[i+1]=_zB1+1/2*B[i];Lm[i+1]=_zL1+1/2*L[i];Am[i+1]=_zA12+1/2*A[i];M[i+1]=Calc_M(B[i]);N[i+1]=Calc_N(N[i]);yita[i+1]=Calc_yita(yita[i]);t[i+1]=Calc_t(t[i]);final=L[i];elsefinal=L[i];doubleFinal=final+_zL1;return_AngleTrans.trans2(Final);,2))*//正算大地方位角doubleZhengFanSuan::ZhengSuanA(doublezB1,doublezL1,doublezA12,doublezS){doubleM[100],N[100],t[100],B[100],Bm[100],L[100],Lm[100],doubleA[100],Am[100],yita[10000];_zB1=_AngleTrans.trans1(zB1),_zL1=_AngleTrans.trans1(zL1),_zA12=_AngleTrans.trans1(zA12),final;t[1]=tan(_zB1);yita[1]=pow(e2,2)*pow(cos(_zB1),2);N[1]=a/sqrt(1-pow(e1,2)*pow(sin(_zB1),2));M[1]=a*(1-pow(e1,2))/sqrt(pow(1-pow(e1,2)*pow(sin(_zB1),2),3));B[0]=_AngleTrans.trans3(206265/M[1]*zS*cos(_zA12)/3600),L[0]=_AngleTrans.trans3(206265*zS*sin(_zA12)/(N[1]*cos(_zB1))/3600),A[0]=L[0]*sin(_zB1);Bm[1]=_zB1+1/2*B[0];Lm[1]=_zL1+1/2*L[0];Am[1]=_zA12+1/2*A[0];inti=1;B[1]=_AngleTrans.trans3((206265/M[1]*zS*cos(Am[1])*(1+pow(zS,2)/(24*pow(N[1],2))*(pow(sin(Am[1]),2))(2+3*pow(t[1],2)+2*pow(yita[1],2))+3*pow(cos(Am[1]),2)*pow(yita[1],2)*(pow(t[1],2)-1-pow(yita[1],2)-4*pow(yita[1],2)*pow(t[1],2))))/3600);L[i]=_AngleTrans.trans3((206265/(N[1]*cos(Bm[1]))*zS*sin(Am[i])*(1+pow(zS,2)/(24*pow(N[i],2))*(pow(t[i],2)*pow(sin(Am[i]),2)-pow(cos(Am[i]),2)*(1+pow(yita[i],2)-9*pow(yita[i],2)*pow(t[i],2)))))/3600);A[i]=_AngleTrans.trans3((206265/N[i]*zS*sin(Am[i])*t[i]*(1+pow(zS,2)/(24*pow(N[i],2))*(pow(cos(Am[i]),2)*(2+7*pow(yita[i],2)+9*pow(yita[i],2)*pow(t[i],2)+5*pow(yita[i],4))+pow(sin(Am[i]),2)*(2+pow(t[i],2)+2*pow(yita[i],2)))))/3600);while(A[i]-A[i-1]>=temp){B[i+1]=_AngleTrans.trans3((206265/M[i]*zS*cos(Am[i])*(1+pow(zS,2)/(24*pow(N[i],2))*(pow(sin(Am[i])(2+3*pow(t[i],2)+2*pow(yita[i],2))+3*pow(cos(Am[i]),2)*pow(yita[i],2)*(pow(t[i],2)-1-pow(yita[i],2)-4*pow(yita[i],2)*pow(t[i],2))))/3600);L[i+1]=_AngleTrans.trans3((206265/(N[i]*cos(Bm[i]))*zS*sin(Am[i])*(1+pow(zS,2)/(24*pow(N[i],2))*(pow(t[i],2)*pow(sin(Am[i]),2)-pow(cos(Am[i]),2)*(1+pow(yita[i],2)-9*pow(yita[i],2)*pow(t[i],2)))))/3600);A[i+1]=_AngleTrans.trans3((206265/N[i]*zS*sin(Am[i])*t[i]*(1+pow(zS,2)/(24*pow(N[i],2))*(pow(cos(Am[i]),2)*(2+7*pow(yita[i],2)+9*pow(yita[i],2)*pow(t[i],2)+5*pow(yita[i],4))+pow(sin(Am[i]),2)*(2+pow(t[i],2)+2*pow(yita[i],2)))))/3600);Bm[i+1]=_zB1+1/2*B[i];Lm[i+1]=_zL1+1/2*L[i];Am[i+1]=_zA12+1/2*A[i];M[i+1]=Calc_M(B[i]);N[i+1]=Calc_N(N[i]);yita[i+1]=Calc_yita(yita[i]);t[i+1]=Calc_t(t[i]);final=A[i];i++;doubleFinal;if(_zA12>Pi){Final=final+_zA12-Pi;elseFinal=final+_zA12+Pi;return_AngleTrans.trans2(Final);//反算SdoubleZhengFanSuan::FanSuanS(doublefB1,doublefL1,doublefB2,doublefL2){doubleA12,A21,S;double_fB1=_AngleTrans.trans1(fB1),_fL1=_AngleTrans.trans1(fL1),_fB2=_AngleTrans.trans1(fB2),_fL2=_AngleTrans.trans1(fL2);doubleBm=(_fB1+_fB2)/2,_B=_fB2-_fB1,_L=_fL2-_fL1;doubleNm=Calc_N(Bm),tm=Calc_t(Bm),yitam=Calc_yita(Bm);doubleVm=sqrt(1+pow(e2,2)*pow(cos(Bm),2)),r01=Nm*cos(Bm),r03=(-Nm*pow(cos(Bm),3)*pow(tm,2))/24,r21=(Nm*cos(Bm)*(1+pow(yitam,2)-9*pow(yitam,2)*pow(tm,2)*pow(yitam,4))/pow(Vm,4))/24,s10=Nm/pow(Vm,2),s12=(Nm/pow(Vm,2)*pow(cos(Bm),2)*(2+3*pow(tm,2)+2*pow(yitam,2)))/24,s30=(Nm/pow(Vm,6)*(pow(yitam,2)-pow(yitam,2)*pow(tm,2)))/8,t01=tm*cos(Bm),t21=cos(Bm)*tm/(24*pow(Vm,4))*(2+7*pow(yitam,2)+9*pow(yitam,2)*pow(tm,2)+5*pow(yitam,4)),t03=(tm*pow(cos(Bm),3)*(2+pow(tm,2)+2*pow(yitam,2)))/24;doubleU=r01*_L+r21*pow(_B,2)*_L+r03*pow(_L,3),V=s10*_B+s12*_B*pow(_L,2)+s30*pow(_B,3),_A=t01*_L+t21*pow(_B,2)*_L+t03*pow(_L,3);doubleAm=atan(U/V);S=V/cos(Am);returnS;//反算A12doubleZhengFanSuan::FanSuanA12(doublefB1,doublefL1,doublefB2,doublefL2)cos(Bm)*tm/(24*pow(Vm,4))*(2+7*pow(yitam,2)+9*pow(yitam,2)*pow(tm,2)+5*pow(yitam,4)),doubleT,A12,A21,S;double_fB1=_AngleTrans.trans1(fB1),_fL1=_AngleTrans.trans1(fL1),_fB2=_AngleTrans.trans1(fB2),double_fL2=_AngleTrans.trans1(fL2);Bm=(_fB1+_fB2)/2,_B=_fB2-_fB1,double_L=_fL2-_fL1;Nm=Calc_N(Bm),tm=Calc_t(Bm),doubleyitam=Calc_yita(Bm);Vm=sqrt(1+pow(e2,2)*pow(cos(Bm),2)),r01=Nm*cos(Bm),r03=(-Nm*pow(cos(Bm),3)*pow(tm,2))/24,r21=(Nm*cos(Bm)*(1+pow(yitam,2)-9*pow(yitam,2)*pow(tm,2)*pow(yitam,4))/pow(Vm,4))/24,s10=Nm/pow(Vm,2),s12=(Nm/pow(Vm,2)*pow(cos(Bm),2)*(2+3*pow(tm,2)+2*pow(yitam,2)))/24,s30=(Nm/pow(Vm,6)*(pow(yitam,2)-pow(yitam,2)*pow(tm,2)))/8,t01=tm*cos(Bm),t21=t03=(tm*pow(cos(Bm),3)*(2+pow(tm,2)+2*pow(yitam,2)))/24;doubleU=r01*_L+r21*pow(_B,2)*_L+r03*pow(_L,3),V=s10*_B+s12*_B*pow(_L,2)+s30*pow(_B,3),_A=t01*_L+t21*pow(_B,2)*_L+t03*pow(_L,3);doubleAm=atan(U/V);A12=Am-0.5*_A;return_AngleTrans.trans2(A12);//反算A21doubleZhengFanSuan::FanSuanA21(doublefB1,doublefL1,doublefB2,doublefL2)doubleT,A12,A21,S;double_fB1=_AngleTrans.trans1(fB1),_fL1=_AngleTrans.trans1(fL1),_fB2=_AngleTrans.trans1(fB2),double_fL2=_AngleTrans.trans1(fL2);Bm=(_fB1+_fB2)/2,_B=_fB2-_fB1,_L=_fL2-_fL1;doubleNm=Calc_N(Bm),tm=Calc_t(Bm),yitam=Calc_yita(Bm);doubleVm=sqrt(1+pow(e2,2)*pow(cos(Bm),2)),r01=Nm*cos(Bm),r03=(-Nm*pow(cos(Bm),3)*pow(tm,2))/24,r21=(Nm*cos(Bm)*(1+pow(yitam,2)-9*pow(yitam,2)*pow(tm,2)*pow(yitam,4))/pow(Vm,4))/24,s10=Nm/pow(Vm,2),s12=(Nm/pow(Vm,2)*pow(cos(Bm),2)*(2+3*pow(tm,2)+2*pow(yitam,2)))/24,s30=(Nm/pow(Vm,6)*(pow(yitam,2)-pow(yitam,2)*pow(tm,2)))/8,t01=tm*cos(Bm),t21=cos(Bm)*tm/(24*pow(Vm,4))*(2+7*pow(yitam,2)+9*pow(yitam,2)*pow(tm,2)+5*pow(yitam,4)),t03=(tm*pow(cos(Bm),3)*(2+pow(tm,2)+2*pow(yitam,2)))/24;doubleU=r01*_L+r21*pow(_B,2)*_L+r03*pow(_L,3),V=s10*_B+s12*_B*pow(_L,2)+s30*pow(_B,3),_A=t01*_L+t21*pow(_B,2)*_L+t03*pow(_L,3);doubleAm=atan(U/V);A12=Am-0.5*_A;if(A12>Pi){A21=Am+0.5*_A-Pi;}else{A21=Am+0.5*_A+Pi;}return_AngleTrans.trans2(A21);void4.4、正算的计算按钮代码:C大地主题高斯引数正反算Dlg::OnBnClickedButton2()UpdateData(true);ZhengFanSuan_ZhengFanSuan;doubleB1=_wtof(zB1),L1=_wtof(zL1),A12=_wtof(zA12),S=_wtof(zS),B2=_ZhengFanSuan.ZhengSuanB(B1,L1,A12,S),L2=_ZhengFanSuan.ZhengSuanL(B1,L1,A12,S),A21=_ZhengFanSuan.ZhengSuanA(B1,L1,A12,S);zB2.Format(_T("%.7f"),B2);zL2.Format(_T("%.7f"),L2),zA21.Format(_T("%.7f"),A21);UpdateData(false);4.5、反算的计算按钮代码:voidC大地主题高斯引数正反算Dlg::OnBnClickedButton1()UpdateData(true);ZhengFanSuan_ZhengFanSuan;doubleB1=_wtof(fB1),L1=_wtof(fL1),B2=_wtof(fB2),L2=_wtof(fL2),S=_ZhengFanSuan.FanSuanS(B1,L1,B2,L2),A12=_ZhengFanSuan.FanSuanA12(B1,L1,B2,L2),A21=_ZhengFanSuan.FanSuanA21(B1,L1,B2,L2);fS.Format(_T("%.7f"),S);fA12.Format(_T("%.7f"),A12);fA21.Format(_T("%.7f"),A21);UpdateData(false);4.6、清零按钮代码:voidC大地主题高斯引数正反算Dlg::OnBnClickedButton3()UpdateData(true);fB1.Format(_T(fL1.Format(_T("%.0f"),0);fB2.Format(_T(%0f"),0);fL2.Format(_T("%.0f"),0);fA12.Format(_T("%.0f"),0);fA21.Format(_T("%.0f"),0);fS.Format(_T("%.0f"),0);UpdateData(false);voidC大地主题高斯引数正反算Dlg::OnBnClickedButton4()UpdateData(true);zB1.Format(_T(%0f"),0);zL1.Format(_T(%0f"),0);zB2.Format(_T(%0f"),0);zL2.Format(_T(%0f"),0);zA12.Format(_T("%.0f"),0);zA21.Format(_T("%.0f"),0);zS.Format(_T("%.0f"),0);UpdateData(false);五、计算结果数据组号:18高斯引数反算(苹程序采用克拉事夫斯基脚球卷数】高斯引数正算□I:41.1S356B7441.10356704L11130,10122676L1:130.10122627A12:41.45479027E:114000L2:131.3201104濟零B2:42,200049-1A12:56.2744606口:LJL},124&&77Kilt247,^143321A21:LS1.51263fi7S:123630.6372526六、实习体会实验一开始本来考虑用控制台做,后来发现用控制台做出来可视化效果不好,而且程序中要用MFC做。很多cin和cout,写代码十分麻烦,所以最后选择了用其实技术上的难题并不多,主要在于公式上面:大量的乘法、开方和乘方,一不小心就会出错,而且在检查的过程中也不容易发现;在显示计算结果时出现了几次奇奇怪怪的数据,后来在检查代if判断时漏掉情况等)导码时发现是由于某些原因(没经历循环,而目标值必须从循环过程中获得、致要显示的变量没有被赋值,才会无法显示出需要的结果;最初没有加上清零按钮,在调试的过程中发现经常改数值会使得输入数据很麻烦,于是最后加上了清零按钮,以便使用。总的来讲在实验过程中没有遇到什么大的问题,小的问题却是接二连三地来,好在最后都能够解决,也知道了一些C++中的一些报错是什么原因引起的,感觉收获不小。
/
本文档为【(VC++-MFC)高斯平均引数大地主题正反算】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索