当前位置: 首页 > 知识库问答 >
问题:

随机数对称矩阵的java2d数组

唐修诚
2023-03-14

我正在尝试创建一个随机生成的2D symetrix矩阵,其大小为n。随机数也必须介于0和100之间。

这是我到目前为止得到的;

public static void randomArray(int n)
{
         Random random = new Random();

            double[][] array = new double[n][n];

            for( int i = 0 ; i < array.length ; i++ ) { 
               for ( int j = 0 ; j < array[i].length ; j++ ) { 
                  array[i][j] = random.nextInt(101);
               }
            }
            for( double[] a : array ) { 
                System.out.println( Arrays.toString( a ));
            }

    }//end of randomArray

这成功地生成了一个带有随机数的2D数组,但是矩阵不是对称的,我不知道如何使它成为对称的。

共有1个答案

赵越
2023-03-14

对于分配给数组[i][j]的随机值,您还将其分配给数组[j][i],当然矩阵对角线除外。

此外,您还将内部循环停止条件更改为j

for (int i = 0; i < array.length; i++) {
  for (int j = 0; j <= i; j++) {
    int x = random.nextInt(101);
    array[i][j] = x;
    if (i != j) {
      array[j][i] = x;
    }
  }
}

 类似资料:
  • 特殊矩阵——对称矩阵(Symmetric Matrix) 注:压缩存储的矩阵可以分为特殊矩阵和稀疏矩阵。对于那些具有相同元素或零元素在矩阵中分布具有一定规律的矩阵,被称之为特殊矩阵。对于那些零元素数据远远多于非零元素数目,并且非零元素的分布没有规律的矩阵称之为稀疏矩阵。 1. 对称矩阵的概念 元素以主对角线为对称轴对应相等的矩阵。 2. 对称矩阵的特性 对角矩阵都是对称矩阵,对称矩阵必须是方形矩阵

  • 我试图乘以两个块对称矩阵(矩阵大小矩阵大小)。我想执行块矩阵乘法(将一个矩阵分成多个块大小矩阵,并将相应的块相乘)。我已经写了一些代码,但想改进它,并存储主对角线以上的块,但我没有任何想法。如果可能的话,你们能帮忙吗?

  • 本文向大家介绍C++ 数据结构之对称矩阵及稀疏矩阵的压缩存储,包括了C++ 数据结构之对称矩阵及稀疏矩阵的压缩存储的使用技巧和注意事项,需要的朋友参考一下 对称矩阵及稀疏矩阵的压缩存储 1.稀疏矩阵  对于那些零元素数目远远多于非零元素数目,并且非零元素的分布没有规律的矩阵称为稀疏矩阵(sparse)。   人们无法给出稀疏矩阵的确切定义,一般都只是凭个人的直觉来理解这个概念,即矩阵中非零元素的个

  • 本文向大家介绍Python 生成 -1~1 之间的随机数矩阵方法,包括了Python 生成 -1~1 之间的随机数矩阵方法的使用技巧和注意事项,需要的朋友参考一下 1. 使用函数 np.random.random 由于 np.random.random() 默认生成 0~1 之间的小数,因此需要转换一下 如生成 3*3 的 -1~1 之间的随机数矩阵 -1 + 2*np.random.random

  • 问题内容: 允许从向量中进行加权选择,即 选择概率为0.2的1,概率为0.5的2和概率为0.3的3。 如果我们想对每个行都是概率向量的2D数组(矩阵)以向量化的方式快速进行操作,该怎么办?也就是说,我们想要一个来自随机矩阵的选择向量吗?这是超级慢的方式: : 这篇文章表明,并且可能是一种潜在的方法,而且很快。但是虽然可以沿numpy数组的一个轴执行此操作,但是该函数一次只能在单个数组上运行。同样,

  • 我有一个42行2列的矩阵[a]。然后,我有一个函数随机选择这些行中的12行,对随机选择的矩阵进行线性回归,并输出线性回归的系数(斜率和截距)。 在R中,我想从原始矩阵中得到其他30行,这些行在随机函数中没有被选中,然后使用这些数据和我新计算的系数,生成一个点(y值)。因此,我将有30个Y值,然后使用新的Y值和新的30行矩阵中的1列计算RMSE(http://upload.wikimedia.org