误差理论与测量平差
课程设计报告
? 课程名称:误差理论与测量平差 ? 课程题目: 平差计算器 ? 姓名: 江记洲 ? 专业: 测绘工程 ? 学号: 20104166 ? 学院: 土木与水利工程学院 ? 学校: 合肥工业大学 ? 指导老师: 陶庭叶
一、 实验目的与要求
1) 实验目的:此次的课程设计可以用任何一种计算机语言来编写,这
样给我们每个人很多的选择。同时这样也是为了练习同学们对于一
门语言的掌握和运用,大大的提高了我们的编程能力。同时,通过对测量数据的误差处理,增强学生对《误差理论与测量平差基础》课程的理解,使学生牢固掌握测量数据处理的基本原理和公式,熟悉测量数据处理的基本技能和计算方法。要求学生综合运用测绘知识、测量平差知识、数学知识和计算机知识,设计数学模型和程序算法,编制程序实现测量数据的自动化处理。
2) 实验要求:要求每位同学独立完成给定测量数据处理的数学模型和
算法的设计,编写程序,调测程序,并编写程序设计文档。要求数
学模型和算法正确、程序运行正确、设计文档完备。
二、 课程设计主要内容
课程设计的主要内容主要有:
1. 新建一个基于单文档的MFC应用程序。
这只是基本的框架结构,里面包含了几个已知的类,在这些类的基础上,可以增加对象和变量。
然后是增加一个操作矩阵的类 CMatrix 的实现文件,
Matrix.cpp和Matrix.h文件是从网上下载的,然后添加工程,
-1-
创建了一个类,进行矩阵的计算。通过运算符的重载,可以进行加减乘除计算,还可以进行矩阵的转置和求逆等运算。现将该程序的Matrix.cpp文件附录如下:
// Matrix.cpp
#include \#include \#ifdef _DEBUG #undef THIS_FILE
static char THIS_FILE[]=__FILE__; #define new DEBUG_NEW #endif
// Construction/Destruction // 基本构造函数 CMatrix::CMatrix() {
m_nNumColumns = 1; m_nNumRows = 1; m_pData = NULL;
BOOL bSuccess = Init(m_nNumRows, m_nNumColumns); ASSERT(bSuccess); }
// 指定行列构造函数 // 参数:
// 1. int nRows - 指定的矩阵行数 // 2. int nCols - 指定的矩阵列数
CMatrix::CMatrix(int nRows, int nCols) {
m_nNumRows = nRows; m_nNumColumns = nCols; m_pData = NULL;
BOOL bSuccess = Init(m_nNumRows, m_nNumColumns); ASSERT(bSuccess); }
// 初始化函数 // 参数:
// 1. int nRows - 指定的矩阵行数 // 2. int nCols - 指定的矩阵列数 //
// 返回值:BOOL 型,初始化是否成功
BOOL CMatrix::Init(int nRows, int nCols) {
if (m_pData) {
-2-