Based on hierarchical clustering and dynamic programming, an algorithm for segmenting the piecewise stationary signal is developed. With some merits, ‘dispersion’ is proposed as a feature vector, which will be used both in the clustering method and dynamic programming. A test method is designed to evaluate the sensitivity of the distance measure constructed by the dispersion coefficients. The whole segmentation algorithm which constitutes three main stages is developed. In the first stage, called the feature extraction stage, the input signal is partitioned into several frames and the dispersion coefficients of each frame are evaluated. The second one is the hierarchical clustering stage, which clusters those frames based on the features—dispersion coefficients. The last stage is the dynamic segmentation stage, which finds the optimal change points by dynamic programming. Several simulations and real data were conducted and the results showed the satisfactory performance of this algorithm.