| Mathematics, MATLAB Version 7.4 (R2007a) Release Notes | ![]() |
New features and changes introduced in this version are:
| Function | Description |
|---|---|
| bsxfun | Applies an element-by-element binary operation to two full arrays with singleton expansion enabled |
| ilu | Performs the sparse incomplete LU factorization |
Matrix multiplication for A'*b now handles sparse matrices more efficiently.
The rand function now uses the Mersenne Twister algorithm as default generator algorithm. This method generates double precision values in the closed interval [2^(-53), 1-2^(-53)], with a period of (2^19937-1)/2. Prior to this release, MATLAB used an algorithm known as the Subtract-with-Borrow (SWB) algorithm.
The rand function now produces different results than in previous releases. However, the results returned are still pseudorandom values drawn from a standard uniform distribution. Because the values returned by rand are intended to be random, this change should not affect your code.
There are several things to keep in mind regarding this change:
If your code requires the exact values returned by rand in previous releases, you should use the statement
rand('state',0);
to reset rand to use the SWB algorithm. The new default algorithm's internal state at startup is equivalent to using the statement
rand('twister',5489);Note that the 'state' keyword corresponds specifically to the SWB algorithm; it cannot be used generally to refer to the internal state of the currently active algorithm.
Existing code that uses the 'state' keyword to reinitialize rand in a statement such as
rand('state',sum(100*clock))
causes rand to switch to using the SWB algorithm. You may want to use the 'twister' keyword, which resets rand but does not switch algorithms.
Existing code that uses the 'state' keyword to save and restore the internal state of rand in statements such as
savedState = rand('state');
... % code that uses rand
rand('state',savedState);may no longer work as intended. Specifically, the first line of code saves the state of the SWB generator algorithm (see the rand documentation for details). If the default Mersenne Twister algorithm was the active one at that time, then using the saved state in the last line does not restore the rand internal state to its original conditions. Instead, it switches the rand algorithm to SWB. To save and restore the internal state of the Mersenne Twister algorithm, use the 'twister' keyword.
MATLAB now uses new versions of the Basic Linear Algebra Subroutine (BLAS) libraries. For Windows, Intel Mac, and Intel processors on Linux platforms, MATLAB supports the Intel Math Kernel Library (MKL) version 9.0. For AMD processors on Linux platforms, MATLAB uses the AMD Core Math Library (ACML) version 3.5. For the Solaris platform, MATLAB uses the Sun Performance Library from Sun Studio 11.
MATLAB no longer displays Divide by zero and Log of zero warnings unless you explicitly enable them with the following commands:
warning on MATLAB:divideByZero warning on MATLAB:log:LogOfZero
This only affects the display of the warning message on the screen; the warning status is still updated as usual.
This change should not cause any incompatibility with your existing code in this release. In future releases, in which internal MATLAB code will not necessarily disable these warning messages, you may see messages displayed that are currently suppressed.
The mode function, when operating on an empty array ([]), returns a 1-by-0 array in previous releases, while related functions mean, median, std, and var return NaN when given the same input. In this release, mode returns NaN for an empty array input.
Existing program code that relies on mode of an empty array to return an empty array should be modified.
If you change the BLAS library used by MATLAB on Linux platforms, MATLAB now loads libraries in the left-to-right order specified in the syntax. For example, to load the Intel MKL BLAS, from a system prompt, run
setenv BLAS_VERSION mkl.so:mklcompat.so
MATLAB loads mkl.so first, and then loads mklcompat.so.
This also applies if you edit bin\$(ARCH)\blas.spec directly.
This syntax differs from that used for Linux platforms in prior versions.
![]() | Desktop Tools and Development Environment, MATLAB® Version 7.4 (R2007a) | Data Analysis, MATLAB® Version 7.4 (R2007a) | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |