2017-02-15 8 views
1

MathematicaでNxN行列を生成するのに少し問題がある。 Nの値を考えると、私は次のように見えるのN×N行列を構築する必要があります。Doループの私の文のように行くべきで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 

わかりません。どんな助けでもそれを感謝します。

答えて

5

1Dアレイ[1 ... n ]を作成し、それをマトリックスに再形成または分割することができます。

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

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

さらに2つの方法。

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

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

Tableフォームは同様にあなたのDoを修正する方法の手掛かりを与える必要があり、それは通常、貧弱なアプローチのパフォーマンスが賢明です。

予約語の意味で、Nを大文字で使用しないでください。

関連する問題