Image classification using SIFT features and SVM
If you could implement an SVM, you can quantize the features. :)

Typically the features are quantized using k-means clustering.  First, you decide what your "vocabulary size" should be (say 200 "visual words"), and then you run k-means clustering for that number of clusters (200).  The SIFT descriptors are vectors of 128 elements, i. e. points in 128-dimensional space. So you can try to cluster them, like any other points. You extract SIFT descriptors from a large number of images, similar to those you wish classify using bag-of-features. (Ideally this should be a separate set of images, but in practice people often just get features from their training image set.) Then you run k-means clustering on this large set of SIFT descriptors to partition it into 200 (or whatever) clusters, i. e. to assign each descriptor to a cluster. k-means will give you 200 cluster centers, which you can use to assign any other SIFT descriptor to a particular cluster.

Then you take each SIFT descriptor in your image, and decide which of the 200 clusters it belongs to, by finding the center of the cluster closest to it.  Then you simply count how many features from each cluster you have.  Thus, for any image with any number of SIFT features you have a histogram of 200 bins.  That is your feature vector which you give to the SVM.  (Note, the term features is grossly overloaded).

As I recall, there was a lot of work done concerning how these histograms should be normalized.  I might be wrong, but I seem to recall a paper that claimed that a binary feature vector (i. e. 1 if at least 1 feature from this cluster is present, and 0 otherwise) worked better than a histogram.  You would have to check the literature for details, and the details are important.

Edit: The Computer Vision System Toolbox for MATLAB now provides the bag of features functionality.