www.gusucode.com > globaloptim 案例源码程序 matlab代码 > globaloptim/terrain.m
function map = terrain(m) %TERRAIN Color map for displaying terrain relief. % private function to psoutputwashington. % Copyright 2004-2007 The MathWorks, Inc. if nargin == 0 m = size(get(gcf,'colormap'),1); end % The color map consists of two linear segments in HSV space. % The lower 2/3 follows a linear trajectory from [0.3 0.3 0.5] % to [0.1 0.8 0.8]. The upper 1/3 continues on to [0 0 0.95]. p1 = [0.3 0.3 0.5 ]; p2 = [0.1 0.8 0.8 ]; p3 = [0.0 0.0 0.95]; m1 = max(2,ceil((2/3)*m)); % First segment, including both p1 and p2 m2 = max(1,m - m1); % Upper segment, ending at p3 hsv1 = repmat(p1,[m1 1]) + ((0:m1-1)/(m1-1))' * (p2 - p1); hsv2 = repmat(p2,[m2 1]) + ((1:m2)/m2)' * (p3 - p2); map = hsv2rgb([hsv1; hsv2]);