[x y]=meshgrid(-10:0.01:10);
z = exp(-(x.^2+y.^2)/20);
h=surf(x,y,z,'EdgeColor','none');
z0 = 0.3; %圆环位置(即变色边界)
rz = (z0-min(z(:)))/((max(z(:))-min(z(:))));
maprows = 20; %colormap 行数
mapz = fix(maprows*rz);
colorup = [0,1,0]; %上半部颜色
colordwn = [0,0,1]; %下半部颜色
myColormap1 = [ repmat(colordwn,mapz,1);repmat(colorup,(maprows-mapz),1)];
colormap(myColormap1);
colorbar;
结果: