• 大小: 235KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-10-17
  • 语言: 其他
  • 标签:

资源简介

这是军测的老师写的平差的程序的基础函数,包括求逆,矩阵传播,矩阵输出等功能的实现,比较有用。

资源截图

代码片段和文件信息

// MyCpp.cpp: implementation of the CMyCpp class.
//
//////////////////////////////////////////////////////////////////////

#include “stdafx.h“
#include “stdio.h“

#include 
#include 
#include “math.h“
#include “public.h“


//////////////////////////////////////////////////////////////////////////
//   显示提示信息
void MyBreak(char* fmt ...)
{
char buffer[256];
va_list argptr;
va_start(argptr fmt);
vsprintf(buffer fmt argptr);
va_end(argptr);

#ifdef VC_EXTRALEAN
AfxMessageBox(buffer);
#else
printf(buffer);
getchar();
#endif // VC_EXTRALEAN

}



//////////////////////////////////////////////////////////////////////////
//       对称矩阵下标计算函数
int ij(int iint j)
{
return (i>=j)? i*(i+1)/2+j :j*(j+1)/2+i;
}


//////////////////////////////////////////////////////////////////////////
//  权倒数计算函数
double Calculate_q(double *Qdouble *Fint t)
{
double q=0.0;
for(int i=0;i for(int j=0;j q+=Q[ij(ij)]*F[i]*F[j];

return q;

}



//////////////////////////////////////////////////////////////////////////
//  权倒数计算函数(系数系列进行了压缩)
double Calculate_q(double Q[]double F[]int Fin[]int n)
{
double q=0.0;
for(int k=0;k {
int i=Fin[k];
for(int s=0;s {
int j=Fin[s];
q+=Q[ij(ij)]*F[k]*F[s];
}
}
return q;

}




//////////////////////////////////////////////////////////////////////////
//  将度分秒连写的(double型)角度化为弧度值
double dms_rad(double a)
{
//提取角度值的符号
double sign=(a<0.0) ? -1.0 : 1.0;
a=fabs(a);

//提取角度值的整度
int d=(int)((a+0.00001)/10000.0);
a=a-d*10000.0;
if(a<0.0){ d=d-1; a=a+10000;}

//提取角度值的整分及秒值
int m=(int)((a+0.00001)/100.0);
a=a-m*100;
if(a<0.0){ m=m-1; a=a+100.0;}

a=sign*(d*3600.0+m*60.0+a)/206264.806247096363;

return a;
}


//////////////////////////////////////////////////////////////////////////
//  将角度的弧度值化为度分秒连写的角度(double 型) 
double rad_dms(double a)
{
a=a*206264.806247096363;

double sign=(a<0.0) ? -1.0 : 1.0;
a=fabs(a);

int d=(int)(a/3600.0+0.0000001);
a=a-d*3600.0;

if(a<0.0){ d=d-1; a=a+3600.0; }

int m=(int)(a/60.0+0.0001);
a=a-m*60.0;
if(a<0.0){ m=m-1; a=a+60.0; }

a=d*10000.0+m*100.0+a;

return a*sign;
}



//////////////////////////////////////////////////////////////////////////
//    权逆阵传播计算
void Calculate_BQBT(double B[]double Q[]int rint ndouble N[])
{
for(int i=0;i for(int j=0;j<=i;j++)
{
double nij=0.0;
for(int k=0;k for(int s=0;s nij+=B[i*n+k]*Q[ij(ks)]*B[j*n+s];
N[ij(ij)]+=nij;
}
}




//////////////////////////////////////////////////////////////////////////
//    向文件输出数组
void PrintM(FILE *fpdouble A[]int size int tchar* fmt
char* titlebool IsLabel)
{
if(title)fprintf(fp“\n %s: “title);
int j=0;
for(int i=0;i {
if(i%t==0)
{
j++;
if(IsLabel)fprintf(fp“\n%3d “j);
els

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      17727  2008-12-25 09:39  平差辅助函数\Debug\public.obj

     文件          0  2008-12-25 09:39  平差辅助函数\Debug\public.sbr

     文件       2200  2008-12-25 08:03  平差辅助函数\Debug\StdAfx.obj

     文件        263  2008-12-25 08:03  平差辅助函数\Debug\StdAfx.sbr

     文件      41984  2008-12-25 09:39  平差辅助函数\Debug\vc60.idb

     文件      61440  2008-12-25 09:39  平差辅助函数\Debug\vc60.pdb

     文件      91136  2008-12-25 09:39  平差辅助函数\Debug\平差辅助函数.bsc

     文件     196701  2008-12-25 09:39  平差辅助函数\Debug\平差辅助函数.exe

     文件     291288  2008-12-25 09:39  平差辅助函数\Debug\平差辅助函数.ilk

     文件      18328  2008-12-25 08:24  平差辅助函数\Debug\平差辅助函数.obj

     文件     187268  2008-12-25 08:03  平差辅助函数\Debug\平差辅助函数.pch

     文件     508928  2008-12-25 09:39  平差辅助函数\Debug\平差辅助函数.pdb

     文件          0  2008-12-25 08:24  平差辅助函数\Debug\平差辅助函数.sbr

     文件       5915  2008-12-25 09:39  平差辅助函数\public.cpp

     文件       1720  2008-12-23 14:17  平差辅助函数\public.h

     文件       1244  2008-12-25 07:40  平差辅助函数\ReadMe.txt

     文件        299  2008-12-25 07:40  平差辅助函数\StdAfx.cpp

     文件        667  2008-12-25 07:40  平差辅助函数\StdAfx.h

     文件       4234  2008-12-25 08:24  平差辅助函数\平差辅助函数.cpp

     文件       4732  2008-12-25 08:24  平差辅助函数\平差辅助函数.dsp

     文件        549  2008-12-25 07:40  平差辅助函数\平差辅助函数.dsw

     文件      41984  2009-04-13 09:53  平差辅助函数\平差辅助函数.ncb

     文件      49664  2008-12-25 09:39  平差辅助函数\平差辅助函数.opt

     文件       1578  2008-12-25 09:39  平差辅助函数\平差辅助函数.plg

     文件        188  2008-07-12 17:32  平差辅助函数\算例\Result.txt

     文件         84  2008-12-25 08:12  平差辅助函数\算例\对称矩阵输出\Result.txt

     文件        188  2008-12-25 08:15  平差辅助函数\算例\权逆阵传播\Result.txt

     文件         80  2007-06-08 15:38  平差辅助函数\算例\求逆计算\Data.txt

     文件        360  2007-06-12 14:33  平差辅助函数\算例\求逆计算\Result.txt

     文件        131  2008-12-25 08:24  平差辅助函数\算例\矩阵输出\Result.txt

............此处省略12个文件信息

评论

共有 条评论

相关资源