I'm going to guess it's complaining about the missing handle on the gray2 line. If so, then do this:
gray2 = flipud(gray(256));
While it's possible, there isn't any need to call colormap() on that line. Since all you need is the colormap (the actual table of colors), just call the desired map generation function (i.e. gray()) with the desired table length. The result will be a simple numeric array, and doesn't attempt to interact with any graphics objects in the process.