- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 《测量程序设计》 第三讲 矩阵计算程序设计 成都理工大学地球科学学院测绘工程系测绘工程专业 主讲教师: 杨容浩 联系电话: 电子邮箱: yangronghao@cdut.cn 一、矩阵类的设计 二、矩阵类初始化(构造函数的设计) 三、矩阵数据的读写操作 四、矩阵的加、减运算 五、矩阵乘法 六、矩阵求逆 第三讲 矩阵计算程序设计 3.1 矩阵类的设计 类名:CMatrix 属性: private: double* pElement; //矩阵元素存储地址 unsigned int nRow; //矩阵的行数 unsigned nColumn; //矩阵的列数 short sCompress; //矩阵压缩存储方式: //0,无压缩;1,对称;2,稀疏 float ratio; //矩阵压缩比=压缩后 //的元素数目/压缩前的元素数目 3.1 矩阵类的设计 服务: (1)CMatrix(unsigned int r=0,unsigned int c=0) //构造函数1,由矩阵的行数和列数创建矩阵类对象,并为矩阵元素分配存储空间,将矩阵初始化为单位矩阵; (2) CMatrix(const CMatrix m) //复制构造函数,由已有矩阵类对象创建新的矩阵类对象; (3) CMatrix(char* pFileName) //构造函数2,由矩阵存储文件名创建矩阵类对象; (4) ~CMatrix() //析构函数,释放存储矩阵元素的空间 (5) int MatOut(char* pFileName) //将矩阵以pFileName为文件名进行文件输出 (6) void MatrixView(void) //矩阵屏幕输出 3.1 矩阵类的设计 服务: (7) int GetRowsNum() const //获取矩阵的行数 (8) int GetColumnsNum() const //获取矩阵的列数 (9) void Zeros() //矩阵归零化,将当前矩阵的所有元素归零 (10) void Unit() //矩阵单元化,将当前矩阵转换为单位矩阵 (11) CMatrix Invert() const //求矩阵的逆的函数 (12) int AddRow(double* pe, unsigned int nr) //在矩阵的 nr行位置插入一行,数据存放地址为pe,返回行标 (13) int AddColumn(double* pe, unsigned int nc) //在矩 阵的nc列位置插入一列,数据存放地址为pe,返回列标 (14) double* DeleteRow(unsigned int nr) //删除矩阵nr行,返回该行元素值(临时存储地址) (15) double* DeleteColumn(unsigned int nc) //删除矩阵nc列,返回该列元素值(临时存储地址) 3.1 矩阵类的设计 服务: (16) double operator ()(unsigned int r, unsigned int c) //重载运算符(),用于提取指定行(r)列(c)的元素值 (17) CMatrix operator =(const CMatrix m) //重载运算符=,用于矩阵之间相互赋值 (18) CMatrix operator +() const //重载一元运算符+,即取矩阵本身 (19) CMatrix operator –() const //重载一元运算符-,即矩阵元素取相反数 3.1 矩阵类的设计 服务: (20) CMatrix operator +(const CMatrix m) const //重载二元运算符+,即两个矩阵求和 (21) CMatrix operator -(const CMatrix m) const //重载二元运算符-,即两个矩阵求差 (22) CMatrix operator *(const CMatrix m) const //重载二元运算符*,即两个矩阵求积 (23) CMatrix operator *(const double x) cons
文档评论(0)