Sre*_*eya 5 wolfram-mathematica matrix
我有一个10乘10矩阵.我想从这个主矩阵形成一个子矩阵,使用除第1,第2和第8列和行之外的所有行和列.
我知道Part可以用来形成子矩阵,但是这些例子主要是关于仅使用连续的行和列来形成子矩阵.
如果这是你的矩阵:
tst = RandomInteger[10, {10, 10}];
Run Code Online (Sandbox Code Playgroud)
这将成为手头案例的诀窍:
tst[[{3, 4, 5, 6, 7, 9, 10}, {3, 4, 5, 6, 7, 9, 10}]]
Run Code Online (Sandbox Code Playgroud)
您可以使用而不是显式列表Complement[Range[10],{1,2,8}].
这是另一种方式.
打电话给你的矩阵
test = Array[m, {10, 10}]
Run Code Online (Sandbox Code Playgroud)
然后你的子矩阵是
subTest = Nest[Delete[Transpose[#], {{1}, {2}, {8}}] &, test, 2]
Run Code Online (Sandbox Code Playgroud)
与列昂尼德的方法比较
subTest == test[[#, #]] &[Complement[Range[10], {1, 2, 8}]]
(* True *)
Run Code Online (Sandbox Code Playgroud)