全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Java实现的求逆矩阵算法示例

本文实例讲述了Java实现的求逆矩阵算法。分享给大家供大家参考,具体如下:

package demo;
public class MatrixInverse {
  public static double Det(double [][]Matrix,int N)//计算n阶行列式(N=n-1)
  {
    int T0;
    int T1;
    int T2;
    double Num;
    int Cha;
    double [][] B;
    if(N>0)
    {
      Cha=0;
      B=new double[N][N];
      Num=0;
      if(N==1)
      {
        return Matrix[0][0]*Matrix[1][1]-Matrix[0][1]*Matrix[1][0];
      }
      for (T0=0;T0<=N;T0++)//T0循环
      {
        for (T1=1;T1<=N;T1++)//T1循环
        {
          for (T2=0;T2<=N-1;T2++)//T2循环
          {
            if(T2==T0)
            {
              Cha=1;
            }
            B[T1-1][T2]=Matrix[T1][T2+Cha];
          }
          //T2循环
          Cha=0;
        }
        //T1循环
        Num=Num+Matrix[0][T0]*Det(B,N-1)*Math.pow((-1),T0);
      }
      //T0循环
      return Num;
    } else if(N==0)
        {
      return Matrix[0][0];
    }
    return 0;
  }
  public static double Inverse(double[][]Matrix,int N,double[][]MatrixC){
    int T0;
    int T1;
    int T2;
    int T3;
    double [][]B;
    double Num=0;
    int Chay=0;
    int Chax=0;
    B=new double[N][N];
    double add;
    add=1/Det(Matrix,N);
    for ( T0=0;T0<=N;T0++)
    {
      for (T3=0;T3<=N;T3++)
      {
        for (T1=0;T1<=N-1;T1++)
        {
          if(T1<T0)
          {
            Chax=0;
          } else
          {
            Chax=1;
          }
          for (T2=0;T2<=N-1;T2++)
          {
            if(T2<T3)
            {
              Chay=0;
            } else
            {
              Chay=1;
            }
            B[T1][T2]=Matrix[T1+Chax][T2+Chay];
          }
          //T2循环
        }//T1循环
        Det(B,N-1);
        MatrixC[T3][T0]=Det(B,N-1)*add*(Math.pow(-1, T0+T3));
      }
    }
    return 0;
  }
  public static void main(String[]args)//测试
  {
    double[][] TestMatrix = {
           {1, 22, 34,22},
           {1, 11,5,21} ,
           {0,1,5,11},
           {7,2,13,19}};
    double[][]InMatrix=new double[4][4];
    Inverse(TestMatrix,3,InMatrix);
    String str=new String("");
    for (int i=0;i<4;i++)
    {
      for (int j=0;j<4;j++)
      {
        String strr=String.valueOf(InMatrix[i][j]);
        str+=strr;
        str+=" ";
      }
      str+="\n";
    }
    System.out.println("测试结果:");
    System.out.println(str);
  }
}

运行结果:

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。


# Java  # 逆矩阵  # 算法  # java实现的n*n矩阵求值及求逆矩阵算法示例  # C#计算矩阵的逆矩阵方法实例分析  # C语言求逆矩阵案例详解  # 操作技巧  # 相关内容  # 感兴趣  # 数据结构  # 给大家  # 更多关于  # 所述  # 程序设计  # 讲述了  # int  # double  # Det  # Matrix  # gt  # return  # lt  # Num  # Cha  # pre  # class 


相关文章: 实惠建站价格推荐:2025年高性价比自助建站套餐解析  ,有什么在线背英语单词效率比较高的网站?  建站VPS配置与SEO优化指南:关键词排名提升策略  如何通过FTP服务器快速搭建网站?  制作营销网站公司,淘特是干什么用的?  网站制作模板下载什么软件,ppt模板免费下载网站?  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  实现虚拟支付需哪些建站技术支撑?  c# 在ASP.NET Core中管理和取消后台任务  建站之星代理平台如何选择最佳方案?  建站之星导航菜单设置与功能模块配置全攻略  MySQL查询结果复制到新表的方法(更新、插入)  如何通过wdcp面板快速创建网站?  网站制作软件有哪些,制图软件有哪些?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  装修招标网站设计制作流程,装修招标流程?  如何在万网主机上快速搭建网站?  如何通过可视化优化提升建站效果?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  如何快速登录WAP自助建站平台?  如何高效完成自助建站业务培训?  如何高效生成建站之星成品网站源码?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  如何快速查询网站的真实建站时间?  如何高效完成独享虚拟主机建站?  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  如何基于云服务器快速搭建网站及云盘系统?  免费网站制作appp,免费制作app哪个平台好?  如何通过二级域名建站提升品牌影响力?  如何快速打造个性化非模板自助建站?  ,想在网上投简历,哪几个网站比较好?  如何在局域网内绑定自建网站域名?  ,南京靠谱的征婚网站?  建站VPS选购需注意哪些关键参数?  Bpmn 2.0的XML文件怎么画流程图  Python多线程使用规范_线程安全解析【教程】  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  如何通过商城自助建站源码实现零基础高效建站?  c++怎么用jemalloc c++替换默认内存分配器【性能】  制作充值网站的软件,做人力招聘为什么要自己交端口钱?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  如何在腾讯云服务器快速搭建个人网站?  广州商城建站系统开发成本与周期如何控制?  如何将凡科建站内容保存为本地文件?  制作企业网站建设方案,怎样建设一个公司网站?  PHP正则匹配日期和时间(时间戳转换)的实例代码  香港服务器部署网站为何提示未备案?  个人网站制作流程图片大全,个人网站如何注销? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。