回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>问题是如何将矩阵分解成块。你知道吗</p>
<p>如果我有一个4x4矩阵看起来像这样。你知道吗</p>
<pre><code>[[a, b, c, d], [e, f, g, h], [h, i, j, k], [l, m, n, o]]
</code></pre>
<p>我想分成以下几个部分:</p>
<pre><code>[a, b]
[c, d]
[h, i]
[j, k]
[e, f]
[g, h]
[l, m]
[n, o]
</code></pre>
<p>但是<code>a</code>、<code>b</code>、<code>c</code>…<code>o</code>是嵌套元组,例如<code>a = [(x1,y1),(x2,y2),...(xn,yn)]</code>。对于矩阵中的每个元素,<code>n</code>不一定相等。你知道吗</p>
<p>是否有任何内置函数可以做到这一点,或者我必须操纵索引并逐个选取元素?我试图使用<code>np.vsplit()</code>和<code>np.hsplit()</code>,但它们对我的数据无效。你知道吗</p>
<p>更新:
<code>np.vsplit()</code>和<code>np.hsplit()</code>可能会解决我的问题,但还有一个问题。我得到的数据是16个坐标列表,但是这些列表的长度(每个列表中的2d坐标数)不相等。为了使用<code>np.vsplit()</code>和<code>np.hsplit()</code>,我必须将16个列表转换为numpy ndarray并对其进行重塑。这个数组的形状应该类似于<code>(4, 4, x, 2)</code>,这意味着它们被放置在<code>4</code>行<code>4</code>列中,每个元素都有<code>x=number_of_coordinates_in_that_list</code>和<code>2</code>列。我能用<code>np.reshape()</code>来实现我想要的吗?你知道吗</p>