我有一个10乘10的矩阵。我想从这个主矩阵形成一个子矩阵,使用除第1,第2和第8列和第1列以外的所有行和列。
我知道Part可以用来形成子矩阵,但是这些例子主要是关于仅使用连续的行和列来形成子矩阵。
答案 0 :(得分:7)
如果这是你的矩阵:
tst = RandomInteger[10, {10, 10}];
这将解决手头的案例:
tst[[{3, 4, 5, 6, 7, 9, 10}, {3, 4, 5, 6, 7, 9, 10}]]
您可以使用Complement[Range[10],{1,2,8}]
。
答案 1 :(得分:6)
这是另一种方式。
调用矩阵
test = Array[m, {10, 10}]
然后您的子矩阵
subTest = Nest[Delete[Transpose[#], {{1}, {2}, {8}}] &, test, 2]
与Leonid的方法比较
subTest == test[[#, #]] &[Complement[Range[10], {1, 2, 8}]]
(* True *)