在矩阵中
0 1 0 0
1 0 1 0
1 1 0 0
0 0 0 0
我想通过将第四列和第四行剥离来 reshape 它
0 1 0
1 0 1
1 1 0
执行此操作的明智方法是什么?
最佳答案
给定一个矩阵,例如:
A←0 1 1 0 1⍀1 0 0 1 1\3 3⍴⍳9
这是:
0 0 0 0 0
1 0 0 2 3
4 0 0 5 6
0 0 0 0 0
7 0 0 8 9
空行和空列可以通过以下方式删除:
(0∨.≠B)/B←(A∨.≠0)⌿A
输出:
1 2 3
4 5 6
7 8 9
仅修剪外部:
修剪前导列和尾随列:
(∨\0∨.≠B)/B←(⌽∨\⌽0∨.≠A)/A
修剪前导行和尾随行:
(-2↑+/^\⌽B^.=0)↓B←(∨\A∨.≠0)⌿A
一起:
(-2↑+/^\⌽D^.=0)↓D←(∨\C∨.≠0)⌿C←(∨\0∨.≠B)/B←(⌽∨\⌽0∨.≠A)/A
关于matrix - APL:如何从矩阵中删除仅包含 0 的行和列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17626874/