NaN(Not a Number)

 在运行高斯消元函数是结果中多次出现了NaN.而不是正常的数字.这是由于运算时使用了数学上未定义的方法..我没看出来哪个方法数学上没有定义.但这给后面的求秩和求线性方程通解带来麻烦.判断的时候不能用是否为零来判断.还必须用 Double.isNaN()和   Double.isInfinite()来判断是否非数字和是否为无穷大,判断条件就判断无效条件是否成立而不是通常的有效条件.刚写了一个矩阵乘法.很简单东西竟然还出错.郁闷ing..调试半天才看出来 原来时运算符打错了.把 R[i][j]+=aa[i][k]*ma[k][j];的乘号写成家.汗..
 public int[][] matrixMultiply(int[][] ma)throws IllegalArgumentException{
  //this.displayMatrix(ma);
  if(aa[0].length!=ma.length)throw new IllegalArgumentException(“被乘矩阵的列数应等于要乘的矩阵的行数”);
  int[][] R=new int[aa.length][ma[0].length];
  for(int  i=0;i    for(int j=0;j     for(int k=0;k      R[i][j]+=aa[i][k]*ma[k][j];
  this.displayMatrix(R);
  return R;
 }
这两天偷懒了..后面是写线性方程通解.和使用Strassen的矩阵乘法.还有矩阵连乘.明天继续吧.

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据