MATLAB Release Notes    

Major Bug Fixes

MATLAB 6.1 includes several bug fixes made since MATLAB 6.0. This section describes the particularly important bug fixes.

Also, MATLAB 6.1 includes several important MATLAB 6.0 bug fixes.

Development Environment

Help Browser Supports Mouse Wheel

For Windows platforms, the wheel on your mouse will now work in the Help browser.

UNIX Help Browser Search Results Now Highlighted

On UNIX systems, when you perform a full text search using the Help browser, the search terms are highlighted when you view a page.

UNIX Paste Problems Fixed

On some UNIX systems, pasting after a cut or copy would sometimes cause the system to hang. That problem has been fixed. However, due to issues with UNIX itself, the paste does not always work and you might have to do it again.


Memory Leak Fixed in Matrix Multiply

Under certain conditions, matrix multiply (which includes matrix-vector multiply, vector-matrix multiply, and even vector inner products) leaked memory. For example, on a Pentium III under Linux or Windows, any vector inner product of length greater than 15,000 leaked memory. This was observed by MATLAB increasing its use of system resources that were never returned. MATLAB 6.1 uses new ATLAS BLAS libraries that no longer leak memory.

Improved Convergence for eigs(A,k,'sm') and eigs(A,k,0)

In MATLAB 6.0, eigs was reimplemented to use the ARPACK library of routines. Unfortunately, the smallest magnitude case, sigma = 'sm' and sigma = 0, chose the wrong algorithm. For MATLAB 6.1, the correct ARPACK algorithm is used and convergence is much quicker.

This bug fix introduces a backwards incompatibility. When A is a function Afun and sigma = 'sm', Afun must now return Y = A\x. Prior to MATLAB 6.1, eigs required Afun to return y = A*x for this case.

quad Sampling Improved

In MATLAB 6.0, quad('cos(4*n*x)',-pi,pi) returned 2*pi instead of 0. When quad initially sampled the function, it incorrectly assumed the function is the constant 1 over the interval [-pi,pi] and so returned 2*pi early. It now samples more carefully and returns 0.

griddata3 Inner Matrix Error Message

In MATLAB 6.0, an internal error sometimes caused griddata3 to display the error message, Inner matrix dimensions must agree. This error has been corrected.

Improved Handling of Degenerate Triangulation

In MATLAB 6.0, there were sometimes problems associated with degenerate triangulation. For example, convhull could produce a convex hull that did not cover all the original data. MATLAB 6.1 corrects this problem by replacing the utility function delaunayc with Qhull.

Error Message Display for Qhull-Related Functions

In MATLAB 6.0, Qhull-related functions (e.g., delaunayn) displayed error messages in standard error. For UNIX platforms, standard error is different from the command window. For MATLAB 6.1, error messages are displayed in the command window.

histc Computes First Two Bins Correctly

Prior to MATLAB 6.0, histc produced the wrong results for the first two bins for cases with extremely nonuniform bin edges. This problem was corrected in MATLAB 6.0.

The number in parentheses on the third line, in above example (21064), is the number you are interested in.

GLNX86.   Enter the following command

and look for the following fields in the output (values may vary from the example below)

Match up this information with the table in <MATLAB>\bin\glnx86\blas.spec.

HP700.   Start with the System Administration Manager (SAM) and work your way to the Processor tab, as shown below:

This provides information about the type of processor.

HPUX.   MATLAB only supports HPUX running on PA-RISC2.0.

IBM_RS.   Contact IBM Technical Support and request the document entitled "Determining CPU Speed in AIX." This is a table of machine types, processor types, and processor speeds.

SGI.   Enter the following command

which returns a lot of information. In the first few lines, look for information something like

The information starting with R is what you are interested in. MATLAB ships for the R5000, R8000, R10000 and R12000 (default).

SOL2.   Enter the following command

which returns either sun4u for UltraSPARC or sun4m for the older, non-Ultra machines (e.g., Hyper and SuperSPARCs).

WIN32.   Start with the My Computer icon, and work your way to the General tab, as shown below:

This should list the family and model number for your computer. On Windows NT and Windows 2000, the same information is on the Environment tab, under the System Variable PROCESSOR_IDENTIFIER. Match up this information with the table in <MATLAB>\bin\win32\blas.spec.

Using Another BLAS

You may also use BLAS from other sources than the ones shipped with MATLAB, provided they are in the correct format. This format is a shared library (as opposed to a static library) that exports all the double-precision (starting with d) and double-precision complex (starting with z) BLAS routines from dasum to zupmtr. On HP, IBM_RS, and WIN32, the symbols must be exported without trailing underscores, while for ALPHA, GLNX86, SGI, and SOL2, the symbols must be exported with trailing underscores (e.g., dgemm_ ).

If the shared library you provide also includes LAPACK symbols like dgefa (or dgefa_ ), then they will override the MATLAB default implementation, which is based on the Fortran LAPACK from Netlib at

  Creating Graphical User Interfaces -- GUIDE Upgrading from an Earlier Release