5154982.rar

  • Seleaa
    了解作者
  • MultiPlatform
    开发工具
  • 5KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 0
    下载次数
  • 2018-09-05 15:00
    上传日期
The algorithm of inverse matrix written in c is suitable for matrix of order 2 and 3 by direct iteration.
5154982.rar
  • sfDebug
  • Matrixani.opt
    52.5KB
  • wMatrixani.dsw
    543B
  • 98k0Matrixani.dsp
    3.4KB
  • Matrixani.plg
    1.1KB
  • TGMatrixani.cpp
    4KB
  • Matrixani.ncb
    33KB
内容介绍
//用矩阵变换法求逆矩阵 #include<iostream> using namespace std; class Matrix { public: void SetSize( void ); void Initial( void ); void Assign( void ); void Display( void ); void converse( void ); void Show( void ); private: int Row; int Column; float MatrixA[100] [200]; }; //set matrix size void Matrix::SetSize( void ) { int n; cout << "Please input a n*n Matrix to be converse:" << endl << "n="; cin >> n; Row = Column = n; } //initilize matrix data void Matrix::Initial( void ) { int i( 0 ), j( 0 ); for ( i = 0; i < Row; i++ ) { for ( j = 0; j < Column; j++ ) { MatrixA[i] [j] = float( 0.0 ); MatrixA[i] [Column + j] = float( i == j ? 1.0 : 0.0 ); } } } //input matrix data void Matrix::Assign( void ) { int i( 0 ), j( 0 ); cout << "Please input Matrix data:" << endl; for ( i = 0; i < Row; i++ ) { for ( j = 0; j < Column; j++ ) { cout << "Row=" << i << "," << "Column=" << j << endl; cin >> MatrixA[i] [j]; } } } //show inverse process void Matrix::Show( void ) { int i( 0 ), j( 0 ); cout << endl; for ( i = 0; i < Row; i++ ) { for ( j = 0; j < 2 * Column; j++ ) { cout << MatrixA[i] [j] << " "; } cout << endl; } } //display matrix data void Matrix::Display() { int i( 0 ), j( 0 ); cout << "Matrix A:" << endl; for ( i = 0; i < Row; i++ ) { for ( j = 0; j < Column; j++ ) { cout << MatrixA[i] [j] << " "; } cout << endl; } cout << "converse Matrix:" << endl; for ( i = 0; i < Row; i++ ) { for ( j = Column; j < 2 * Column; j++ ) { cout << MatrixA[i] [j] << " "; } cout << endl; } } //converse matrix void Matrix::converse( void ) { int i( 0 ), j( 0 ), n( 0 ), i1( 0 ), i2( 0 ), j1( 0 ); static int i3( 0 ); float temp( 0.0 ); Show(); for ( i = 0; i < Row; i++ ) { if ( MatrixA[i] [i] == 0 ) //If the number on the cross of { //the current line is zero,swap the line with another one i3++; for ( j = 0; j < 2 * Column; j++ ) { temp = MatrixA[i] [j]; MatrixA[i] [j] = MatrixA[i3] [j]; MatrixA[i3] [j] = temp; } Show(); i--; continue; } Show(); //change the number on the cross to one if ( MatrixA[i] [i] != 1 ) { for ( j = 2 * Column - 1; j >= 0; j-- ) { MatrixA[i] [j] /= MatrixA[i] [i]; } Show(); //将矩阵变成上对角阵 for ( i1 = i + 1; i1 < Row; i1++ ) { for ( j1 = 2 * Column; j1 >= i; j1-- ) { MatrixA[i1] [j1] -= MatrixA[i] [j1] * MatrixA[i1] [i]; } Show(); } } } //将上对角阵变成单位阵 for ( i = 0; i < Row - 1; i++ ) { for ( i2 = i; i2 < Row - 1; i2++ ) { for ( j = 2 * Column - 1; j >= 0; j-- ) { MatrixA[i] [j] -= MatrixA[i] [i2 + 1] * MatrixA[i2 + 1] [j]; } } Show(); } } int main( void ) { Matrix Matrix1; cout << "converse Matrix!" << endl << "Program designed by Zang Junheng." << endl << endl; Matrix1.SetSize(); Matrix1.Initial(); Matrix1.Assign(); Matrix1.converse(); Matrix1.Display(); return 0; }
评论
    相关推荐
    • ACCESS2000源码-禁用SHIFT及其它特殊设置
      说 明: 〖ACCESS禁用SHIFT及其它特殊设置源码〗说明文件你是否有过ACCESS开发经验,你是不是发现当按住SHIFT进入ACCESS,可以跳过你的启动画面或窗体或宏,而直接进入你的数据库,如果你的程序没有加密或没有编绎成...
    • 其它others
      NULL 博文链接:https://darrenzhu.iteye.com/blog/1702719
    • Spring整合其他ORM框架
      Spring整合其他ORM框架:Spring整合其他ORM框架整合的时候所需要的jar包spring-orm-3.2.0.RELEASE.jar
    • awesome-linux-zh::penguin: 适用于 Linux 下的应用程序,软件,工具和其他材料
      Linux 资源大全 :penguin: 翻译自 ,此外整合补充了一些其他资源 ...K3b - 一个设计给 KDE在Linux或其它类Unix系统上的CD/DVD烧录的自由软件 Mixxx - 一个免费的开源版本的DJ混音软件,适用于专业级
    • 大学生网页作品作业制作+HTML+ASP-其它其他资源
      高质量网页设计制作大作业成品免费下载。本作品使用DIV布局粉红色边框,但是一点也不娘哦!免费dreamweaver/frontpage网页制作作业成品模板下载。学生原创课程设计网页设计制作大作业成品免费下载。...
    • 802.11n的吞吐率、强健性和可靠性-其它其他资源
      用来学习无线网络使用,是Cambridge.Next Generation Wireless LANs.802.11n这本书的翻译版
    • Lemmy仿Reddit社区-其他
      可设置站点管理员和社区管理员,可以指定其他管理员 可以锁定、删除和恢复帖子和评论 可以从社区和网站封禁和解禁用户 5、洁净的移动端友好界面 6、高性能 服务器采用Rust编写而成 前端 gzip 压缩到只有80kB
    • linux其它一些资料
      其它一些资料 其它一些资料 其它一些资料 其它一些资料 其它一些资料 其它一些资料
    • OPC C# 其它Dll
      其中包含二个dll ScaleOPClient.dll OPCdotNETLib.dll
    • TensorBoard及其它
      BAT算法工程师深入详细地讲解TensorBoard及其它,带你轻松入门机器学习!