2

在矩阵中

0 1 0 0
1 0 1 0
1 1 0 0
0 0 0 0

我想通过剥离第 4 列和第 4 行来重塑它

0 1 0
1 0 1
1 1 0

这样做的聪明方法是什么?

4

1 回答 1

5

给定一个矩阵,例如:

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
于 2013-07-13T07:08:20.660 回答