title: Iterative array creation in matlab and python
body: <p>I am trying to convert a snippet of MATLAB code into python, the MATLAB code is as follows:</p>
  
  <pre><code>M = 0;
  for k=1:i
      M = [M,        M,      M;
      M, ones(3^(k-1)), M;
      M,        M,      M];
  end
  </code></pre>
  
  <p>which creates a 2d array that mimics a sierpinski carpet<br>
  my python implementation is as such:</p>
  
  <pre><code>M = 0   
  for x in range(1,count):
          square = np.array([[M, M, M], [M, np.ones([3**(x-1),3**(x-1)]), M], [M, M, M]])
  </code></pre>
  
  <p>I know I am missing something with the nature of how the arrays are concatenated, since my python output is coming up with more than two dimensions. How would I maintain a 2d array that creates the same output?</p>