A systematic procedure that obtains matrix representation for non-uniform rational B-spline (NURB) curves and surfaces is presented. The coefficient matrix of a NURB curve of arbitrary degree can be obtained by transforming the B-spline curve into a sequence of curve segments defined on individual knot spans and then by symbolically evaluating Boehm's (multiple) knot insertion algorithm. Matrix representation for a NURB surface is given as a tensor product of NURB curves. A comparison is made with the computational efficiencies of the Cox-deBoor recursive function, Boehm's knot insertion algorithm and the proposed matrix representation. The matrix evaluations are found to be much faster than the recursive evaluations.