Then put together some code that, for every call, creates a random vector of characters that are valid in MATLAB statements (not much point in permitting anthing outside of space (char(32)) to ~ (char(126)).
Then loop. At each step, generate a character vector, add '@()' in front of it, and use str2func() on that. What that gives you is a function handle. Then try/catch/end on executing the function handle with a single output and assigning the result to a variable. If the result is a character vector or is a string object, then convert to lowercase and ismember() it against the large list of color names. If you get a match, then you have found your random function that returns a color name.
... this might take rather a lot of executions. Shorter color names are more probable, but it is certainly not impossible that the function will happen to generate 'ballet slipper' on its second run instead of several tens of thousand of runs before it accidentally emits 'red'