MATLAB: Does the SEMILOGY function fail to produce a plot in MATLAB 7.0 (R14) when the range of data is small

MATLABsemilogy

I use the following code to generate a plot with a logarithmic Y-axis in MATLAB 7.0 (R14):
z=[5.725868264305767e-06 5.725868264305767e-06 5.725868264527811e-06 5.725868264749856e-06 5.725868264749856e-06 5.725868263861678e-06]';
semilogy(z)
However, the resulting figure does not contain any axes or plots.
In MATLAB 6.5 (R13), the above code generates a plot successfully. However, the Y-axis tick marks are missing. I also receive the following warning:
Warning: Requested axes limit range too small; rendering with minimum range allowed by machine precision.

Best Answer

This bug has been fixed in Release 14 Service Pack 3 (R14SP3). For previous product releases, read below for any possible workarounds:
There is a bug in MATLAB 7.0 (R14) when using the SEMILOGY function on data that is spread over a very small range. To work around this issue, you can create a blank figure, use the HOLD ON function, and then use the SEMILOGY function. For example:
z=[5.725868264305767e-06 5.725868264305767e-06 5.725868264527811e-06 5.725868264749856e-06 5.725868264749856e-06 5.725868263861678e-06];
zz=z';
figure
hold on;
semilogy(zz);