'''
Function: repmat_3d
Arguments: input_mat - a two-dimensional, NxM array
reps - number of times to duplicate mat along the 3rd axis
Output: A three-dimensional, size (N,M,reps) array for which each matrix output[:,:,i] is a copy of the matrix
mat.
Description: Similar to MATLAB's repmat function, but specialized to simply take an NxM matrix
Authors: James Trousdale - jamest212@gmail.com
'''
import numpy as np
def repmat_3d(input_mat,reps):
return np.reshape(np.tile(np.reshape(input_mat,(np.size(input_mat,0)*np.size(input_mat,1),1)),(1,reps)),(np.size(input_mat,0),np.size(input_mat,1),reps))