2017-02-15 199 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的方式保留其符號。