在Mathematica中生成NxN矩阵时遇到一些麻烦。给定N的值,我需要构造如下所示的NxN矩阵:
N = Input["Enter value for N:"];
matrix = ConsantArray[0,{N,N}];
Do[matrix[[i,j]] = **"???"** ,{i,N}, {j,N}]
matrix // Matrix Form
不确定应该在Do-Loop中作为我的陈述。任何帮助都会很感激。
答案 0 :(得分:5)
您可以创建一维数组[1 ... n 2 ],然后将其重新整形或分割为矩阵。
matrix = ArrayReshape[Range[n^2], {n, n}]
(* also works: *)
matrix = Partition[Range[n^2], n]
答案 1 :(得分:3)
还有几种方法。
matrix=Table[j+(i-1) n,{i,n},{j,n}]
matrix=Array[#2+(#1-1) n &,{n,n}]
Table
表单应该提供如何修复Do
的线索,但这通常是表现不佳的方法。
不要使用大写N
作为保留符号的方式。