OK, I have something...
I changed....
% Initialize the "empty" panorama.
panorama = zeros([height width 3], 'like', I)
To...
panorama = zeros([height width], 'like', I)
I now get two stitched-together photos. I think this was because I have grayscale photos, not color photos as in the example.
Unfortunatley, matchFeatures() did a horrible job finding common features and so the splice is terrible, but I guess that is a different story entirely.