資源簡介
這是軍測的老師寫的平差的程序的基礎函數,包括求逆,矩陣傳播,矩陣輸出等功能的實現,比較有用。

代碼片段和文件信息
//?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個文件信息
- 上一篇:病毒分析報告之關于機器狗病毒的分析資料
- 下一篇:牛頭刨完整課程設計,全面
評論
共有 條評論