Based on the example, I would say you are trying to replace or modify
part of the existing array rather than insert an array.
You could use basic slicing to get a view of the part of the array you want to overwrite,
and assign the value of that slice to a new matrix of the same size
as the slice.
For example:
>>> x=np.matrix([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])
>>> x
matrix([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12],
[13, 14, 15, 16]])
>>> x[1:3,1:4]=np.matrix([[-1,-2,-3],[-4,-5,-6]])
>>> x
matrix([[ 1, 2, 3, 4],
[ 5, -1, -2, -3],
[ 9, -4, -5, -6],
[13, 14, 15, 16]])
In general, to describe a submatrix of m rows and n columns with its upper left corner at row r and column c of the original matrix,
index the slice as x[r:r+m,c:c+n].