A method for comparing odors comprises: sampling odor sources and detecting primary odorants, then for each odor source, storing each of the sampled odor sources in respective primary vectors of odor descriptors that describe the primary odorants. For each source a source vector is then constructed by summing the primary vectors of the respectively detected primary odorants. Comparison between the odors is achieved by determining an angle between the source vectors, which may then be output. The method may be used in electronic noses and like equipment.