2017-02-15 198 views
1

在Mathematica中生成NxN矩阵有点麻烦。鉴于N的值,我需要构造N×N的矩阵如下所示:创建NxN矩阵mathematica

NxN matrix

N = Input["Enter value for N:"]; 
matrix = ConsantArray[0,{N,N}]; 
Do[matrix[[i,j]] = **"???"** ,{i,N}, {j,N}] 
matrix // Matrix Form 

在什么应该去,因为我在DO循环语句不知道。任何帮助将不胜感激。

回答

5

您可以创建一维数组[1 ... n ],然后重新塑形或将其分区为矩阵。

matrix = ArrayReshape[Range[n^2], {n, n}] 

(* also works: *) 
matrix = Partition[Range[n^2], n] 
3

有更多的方法。

matrix=Table[j+(i-1) n,{i,n},{j,n}] 

matrix=Array[#2+(#1-1) n &,{n,n}] 

Table形式应该给一个线索如何解决您的Do为好,但是这通常是一个贫穷的方法的性能代价。

请不要使用大写N的方式保留其符号。