Multiwavelets possess some nice features that uniwavelets do not. A consequence of this is that multiwavelets provide interesting applications in signal processing as well as in other fields. As is well known, there are perfect construction formulas for the orthogonal uniwavelet. However, a good formula with a similar structure for multiwavelets does not exist. In particular, there are no effective methods for the construction of multiwavelets with a dilation factor a (a ≥ 2, a ∈ Z). In this paper, a procedure for constructing compactly supported orthonormal multiscaling functions is first given. Based on the constructed multiscaling functions, we then propose a method of constructing multiwavelets, which is similar to that for constructing uniwavelets. In addition, a fast numerical algorithm for computing multiwavelets is given. Compared with traditional approaches, the algorithm is not only faster, but also computationally more efficient. In particular, the function values of several points are obtained simultaneously by using our algorithm once. Finally, we give three examples illustrating how to use our method to construct multiwavelets.