<p>也许我误解了,但是你的问题似乎是关于<a href="http://docs.scipy.org/doc/numpy/user/basics.indexing.html#boolean-or-mask-index-arrays" rel="nofollow">boolean indexing and assignment</a>,而不是与使用<code>delsq</code>的特定示例有关,等等</p>
<p>为了扩展我的评论,听起来你只是想:(使用<code>x</code>而不是<code>u</code>来避免混淆大写)</p>
<pre><code>U = G.copy()
U[G > 0] = x
</code></pre>
<p>作为一个更具体的例子,假设您有一个数组(让我们使用这个例子中的一个,ipython的<code>%paste x</code>命令使这个过程更简单):</p>
^{pr2}$
<p>这就产生了:</p>
<pre><code>[[ 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 385 417 399 394 104 474 328 396 129 230 0]
[ 0 189 440 298 120 278 115 148 142 454 405 0]
[ 0 490 484 240 312 339 192 212 287 468 225 0]
[ 0 348 300 486 485 162 159 258 418 335 110 0]
[ 0 495 496 392 364 215 122 213 222 412 122 0]
[ 0 0 0 0 0 0 442 188 325 248 225 0]
[ 0 0 0 0 0 0 431 233 141 307 339 0]
[ 0 0 0 0 0 0 259 325 102 131 333 0]
[ 0 0 0 0 0 0 458 381 127 333 170 0]
[ 0 0 0 0 0 0 454 229 162 216 192 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0]]
</code></pre>
<p>另一方面,matlab示例处理的是稀疏数组。<code>scipy.sparse</code>提供了多种稀疏数组类型,但并非所有类型都支持这种类型的索引。但是,如果处理稀疏数组,只需<code>sparse_array.data[:] = newvals</code>来更改值,同时保持稀疏结构。在</p>