I have a DEM image which shows the elevation is from approx. 81 to 103. I expected the slope should be 0-22m. However, the result from DEM-Terrain Model-Slope is from 2.5 to 13.2. Anyone knows why?
The slope that is computed by most GIS software reflects how many meters you climb per meters travelled in the horizontal coordinates (slope percentage) or the angle above the horizontal line to follow the terrain (slope in degrees), both computed along the steepest gradiant. Otherwise said, the slope is the first derivative of the DEM. By pixels, slope is usually computed inside a window of three-by-three pixels in the direction of the largest gradient. In your case, your DEM show triangular patterns which probably come from a TIN (Triangular Irregular Network). For TINs, this gradient can be directly computed for the entire triangle based on the slope of the plane that goes through the three summits of the triangle.
The local slope does not depend on the maximum and minimum elevation values of your DEM. Your values of the slope look therefore OK to me, but with the information at hand I cannot tell if this slope is computed in degrees or in percentage (my guess is degrees, because 12 percents for the steepest slope would correspond to a relatively flat area and, in the case of a relatively flat area, you would probably have slopes of 0 in some places. However, it is not possible to be sure without knowing the scale of your area).
cosine(slope) * cell size- but you might need to use the aspect to decide whether to use the side length of the cell or the diagonal length....