Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I wrote a routine that cut your matrix in blocks. The example is very easy to understand. I wrote it in an easy form to display the result (only for checking purpose). If you are interested in it, you could include in the output the number of blocks or anything.</p> <pre><code>import matplotlib.pyplot as plt import numpy as np def cut_array2d(array, shape): arr_shape = np.shape(array) xcut = np.linspace(0,arr_shape[0],shape[0]+1).astype(np.int) ycut = np.linspace(0,arr_shape[1],shape[1]+1).astype(np.int) blocks = []; xextent = []; yextent = [] for i in range(shape[0]): for j in range(shape[1]): blocks.append(array[xcut[i]:xcut[i+1],ycut[j]:ycut[j+1]]) xextent.append([xcut[i],xcut[i+1]]) yextent.append([ycut[j],ycut[j+1]]) return xextent,yextent,blocks nx = 900; ny = 650 X, Y = np.meshgrid(np.linspace(-5,5,nx), np.linspace(-5,5,ny)) arr = X**2+Y**2 x,y,blocks = cut_array2d(arr,(10,10)) n = 0 for x,y,block in zip(x,y,blocks): n += 1 plt.imshow(block,extent=[y[0],y[1],x[0],x[1]], interpolation='nearest',origin='lower', vmin = arr.min(), vmax=arr.max(), cmap=plt.cm.Blues_r) plt.text(0.5*(y[0]+y[1]),0.5*(x[0]+x[1]),str(n), horizontalalignment='center', verticalalignment='center') plt.xlim([0,900]) plt.ylim([0,650]) plt.savefig("blocks.png",dpi=72) plt.show() </code></pre> <p>The output is:</p> <p><img src="https://i.stack.imgur.com/Sd0dj.png" alt="enter image description here"></p> <p>Regards</p> <p>Note: I think you could optimize this routine using np.meshgrid instead a lot of appends with the xextent &amp; yextent.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload