MATLAB Major Bug Fixes

This document describes major bug fixes in this release. Click on a problem area listed below to read how it has been fixed.

'Checked' Property Ignored for Top Level and Parent Menus
copyobj No Longer Reverse the Order of Copied Objects
eig Now Returns Eigenvalues in Sorted Order
fminbnd Now Handles End Points Correctly
ginput Now Returns Correct Mouse Button Values
triplequad Now Respects User-Defined Quadrature Routines
Array Editor Problem When Editing Selection Within Cell Now Fixed
Blank Lines Disappear from HG Text in Edit Mode
Breakpoints Now Work in Files That Are Run From GUIs
Cannot Specify the Figure Pointer When Creating Figure
casting can sometimes return a complex variable with zero imaginary part.
Clear Functions After Enabling or Disabling Integer Math Warnings
Comma separated lists not displaying correctly
Command Window Now Prints Colored or Styled Text Correctly
Command Window Parentheses Matching Now Works
Crashes When Running P-File After Debugging Corresponding M-File No Longer Occur
Datatips Do Not Work with Scatter Plots
dec2hex No Longer Errors Out When Called for Matrices
depfun Fails If Function Name Matches Directory Name
Deselecting List Item No Longer Results in Warning
Editor Cell Mode Problems With Commas as Decimal Separators Now Fixed
Editor File -> Open Problems Now Fixed
Editor Syntax Highlighting Colors Maintained After Copy and Paste To Another Application
Editor: Symbols (Extended Characters) Now Display As Expected
Ellipsis Now Appended to Clipped Text
Empty date strings as input to datevec may become deprecated
Exceptions or Hangs When Saving Files on Windows Platforms No Longer Occur
exist and which Functions Do Not Find Files with Two Extensions
External Editor Now Opens for File -> New M-File
fclose on glnx86 random assert
Figure Windows and input or keyboard Mode Now Interact Without Problems
For a Slider, Can Now Set Max to a Large Value
For Loops with Index Variable NaN Now Work Correctly
GUIDE: For Windows NT, Layout Editor Menus Now Labeled Correctly
GUIDE: Specifying Location at Which to Paste Objects
GUIDE: Uicontrols Now Retain Nondefault Background Color
Help: Problems When Adding Your Own Toolboxes Now Fixed
How to specify path names with $ in classpath.txt
Import Wizard Performance Problems Fixed
Improved tic/toc on Windows and Linux
List Box Scroll Bars No Longer Obscure Content
List Box Selections Can Now Exceed 63 Items
Loading Function Handles From MATLAB 6.5 MAT-files
Loading MAT-Files Now Maintains Global Attributes
Loading V4 MAT-Files Containing Long Variable Names
lookfor Now Displays Results Immediately
Macintosh: Dragging Text No Longer Fails
Macintosh: Open and Save Dialog Boxes No Longer Cause Crash
Macintosh: Stack Overflow Errors, Crashing, and Hanging Problems Fixed
Make All Subplot Axes Have the Same Width and Height
Multi sheet Excel data will be read by importdata and returned in appropriate structure.
Notebook No Longer Closes Open Figures
Notebook: Autoinit Cells Now Execute Automatically Upon Opening M-Book in Word
Notebook: Figures No Longer Blank
Operations on Sparse Scalar Logicals Now Return Sparse Results
Performance No Longer Suffers After Changing To a Network Directory
Popupmenu Now Sets Value Property Correctly
PRINT Command Now Supports GCBF
Problems with depfun, depdir, and profile for Graphics Functions
Profile Report Hyperlinks for Function Reports Now Open Without Errors
Rare Case Problems Loading Compressed MAT-File
Right Clicking on HG Text in Edit Mode Produced No Context Menu
save -v6 -append Saves Characters in Unicode
Source Control Problem "No Project Open" When Adding File or Model Now Fixed
Source Control verctrl Syntax Corrected in Documentation
Starting MATLAB with /minimize Option Now Works
Text Now Wraps Correctly When Font Units Are Changed
Text Now Wraps Correctly When Font Weight Is Changed
Togglebutton Look and Feel Is Now Correct
Uicontrol Stacking Order Was Sometimes Incorrect
UNIX -mwvisual Startup Option Supported Without Warnings
Using the | Operator in REGEXP Expressions
Using Windows XP will afford the user addtional memory (virtual address space)
Waitbar Can Now Be Initiated in Invisible State

'Checked' Property Ignored for Top Level and Parent Menus

In MATLAB 7.0, if you set the 'Checked' property of a top level or parent menu to 'On' the menu did not work correctly. In Version 7.0.1, the 'Checked' property is ignored for top level and parent menus.

copyobj No Longer Reverse the Order of Copied Objects

copyobj now ensures that the resulting new child list is in the same order as the original child list.

eig Now Returns Eigenvalues in Sorted Order

In Version 7.0, changes to eig caused it to return eigenvalues that might not be in increasing order of magnitude, for symmetric matrices. This has been fixed in Version 7.0.1, so that eig now returns eigenvalues in increasing order.

fminbnd Now Handles End Points Correctly

In previous releases, the function fminbnd returned one of the end points of the interval when the function value at that endpoint was the lowest the algorithm could find, even though that end point was not always a local minimizer. This has been fixed in Version 7.0.1, so that the algorithm explores only the interior of the interval. How close to the end points the algorithm is allowed to search is controlled by the option TolX.

ginput Now Returns Correct Mouse Button Values

In MATLAB 7.0, if a figure was closed as the result of a right mouse button down event and then reopened in that same session, the ginput function returned incorrect mouse button values. This has been corrected in MATLAB 7.0.1.

Note that a double click returns 1 irrespective of which mouse button is clicked.

triplequad Now Respects User-Defined Quadrature Routines

In Version 7.0, the command

triplequad(fun,xmin,xmax,ymin,ymax,tol,...
zmin,zmax,@myquadf)

did not call the user-defined quadrature function myquadf, as intended. This has been fixed in Version 7.0.1.

Array Editor Problem When Editing Selection Within Cell Now Fixed

In the previous version, when you selected a portion of the contents in a cell in the Array Editor, you could not use the Edit menu Cut and Copy items. They only acted on the entire cell. The problem has been fixed. For example, in a cell whose contents are 3.1416, you can now select the 16 and delete it using Edit -> Cut.

Blank Lines Disappear from HG Text in Edit Mode

In MATLAB 7.0, if HG text that contains blank lines is in editable mode, and you remove focus by clicking outside the text, the blank lines disappear. In Version 7.0.1, the blank lines are retained.

Breakpoints Now Work in Files That Are Run From GUIs

When you run a GUI created with GUIDE that calls an M-file containing breakpoints, MATLAB now stops at the breakpoints. In previous versions, MATLAB did not always stop.

Cannot Specify the Figure Pointer When Creating Figure

It is no longer necessary to call drawnow after creating a figure before specifying the figure Pointer property.

casting can sometimes return a complex variable with zero imaginary part.

uint8(2 - i) used to return a complex result with zero imaginary part. Now a real result is returned.

This was fixed in MATLAB 7.0.

Clear Functions After Enabling or Disabling Integer Math Warnings

After enabling or disabling the MATLAB:intMathOverflow warning, either explicitly, or using the INTWARNING function, it may be necessary to issue the command 'clear functions' in order for the warning to take effect.

Comma separated lists not displaying correctly

Here is an illustrative example:

>> a={1 2};a{:}

     1

ans =

     2

Notice that the first ans is missing.

This was fixed in MATLAB 7.0.

Command Window Now Prints Colored or Styled Text Correctly

In the previous version, when you selected File -> Page Setup -> Layout and set the Syntax highlighting option to Colored text or Styled text, the highlighting in the Command Window printout was incorrect. This problem has been fixed.

Command Window Parentheses Matching Now Works

When you type or move over a parenthesis or another delimiter in the Command Window, MATLAB now highlights the matched parenthesis or other delimiter in the pair. Use File -> Preferences -> Command Window -> Keyboard and Indenting to specify options for this feature. This feature was not working in MATLAB version 7.0.

Crashes When Running P-File After Debugging Corresponding M-File No Longer Occur

In previous versions, MATLAB sometimes terminated prematurely when you executed P-files if you had set a breakpoint in the corresponding M-file, producing a sementation violation (seg-v). For example, the following code caused the problem:

dbstop in guide
guide

This problem has been fixed.

Datatips Do Not Work with Scatter Plots

You cannot display datatips on graphs created with scatter and scatter3.

dec2hex No Longer Errors Out When Called for Matrices

In an earlier version of MATLAB, dec2hex issued an error when called with a matrix argument:

   dec2hex([[2,3,4];[7,8,9]])
   ??? Operands to the || and && operators must be convertible
   to logical scalar values. Error in ==> dec2hex at 23
   if ~isreal(d) || any(d < 0) || any(d ~= fix(d))

This has been fixed in MATLAB 7.0.1.

depfun Fails If Function Name Matches Directory Name

The following bug is fixed in MATLAB 7.0.1.

The depfun function fails if it is passed a function name associated with a file in a directory with the same name.

For example, consider the demos function.

which demos
C:\MATLAB_R14 \toolbox\matlab\demos\demos.m

Here demos.m exists in the directory demos. depfun called with demos fails as follows:

depfun('demos')
??? Error using ==> depfun>next_arg_file
'demos' argument is a directory. Must be a file

Deselecting List Item No Longer Results in Warning

In MATLAB 7.0, deselecting an item in a list box that allowed only a single item to be selected, resulted in the following message:
Warning: single-selection listbox control requires a scalar Value.
Control will not be rendered until all of its parameter values are valid.
In Version 7.0.1, the item remains selected, and no warning message is produced.

Editor Cell Mode Problems With Commas as Decimal Separators Now Fixed

In the previous release, cell mode in the Editor (for rapid code iteration or publishing) produced incorrect results when the Windows regional settings specified a comma instead of a period as the decimal separator. This problem has been fixed.

Editor File -> Open Problems Now Fixed

In the Editor, in certain circumstances when there are no files open, you were not be able to open a new file using File -> Open. This problem has been fixed.

Editor Syntax Highlighting Colors Maintained After Copy and Paste To Another Application

When you copy a selection from the Editor and paste it into another application, the syntax highlighting colors are now maintained. For example, when you copy lines containing green comments from the Editor and paste them into Word, the comments are green in Word.

Editor: Symbols (Extended Characters) Now Display As Expected

In the previous version, some symbols you typed in the Editor using extended characters did not appear. For example, typing Alt+156 (using the numeric keypad with Num Lock off) did nothing, but in this version, it creates the British pound symbol, (£), as expected.

Ellipsis Now Appended to Clipped Text

In MATLAB 7.0.1, for UNIX and Windows platforms, when the text in a check box, push button, radio button, toggle button, or the selected item in a popup menu is clipped, an ellipsis (...) is appended to the clipped text in the active GUI to indicate that it has been clipped. In some cases, this may require that you reconfigure existing GUIs. Note that the ellipsis does not appear in the GUIDE Layout Editor.

This use of the ellipsis is not available on the Mac.

Empty date strings as input to datevec may become deprecated

Calling datevec('') now returns an empty vector and does not generate an error. This change was made for the sake of backward compatibility. This behavior was not intentional in the past, and is subject to change in future releases.

This fix was made in MATLAB 7.0.

Exceptions or Hangs When Saving Files on Windows Platforms No Longer Occur

In MATLAB 7.0, when saving M-files on Windows platforms, MATLAB sometimes generated an exception in the Command Window and prevented access to the Save dialog box. In some cases, MATLAB became unresponsive. Restarting MATLAB was one workaround. This problem has been fixed in MATLAB 7.0.1.

Another workaround for the problem (described in Technical Support Solution 1-1BT28 at http://www.mathworks.com/support/solutions/data/1-1BT28.html), instructed you to include the following line in your startup.m file

com.mathworks.mwswing.MJFileChooser.setUseAWTFileDialog(1)

If you used that workaround, you should now remove that line from your startup.m file.

exist and which Functions Do Not Find Files with Two Extensions

If you have a file with two extensions (such as abc.def.txt), then exist and which can't find it on the path. If you CD into its directory, then exist can find it, but not which (because exist does additional work). Note that such a file is not a callable function in any case, because its name includes a dot.

This has been fixed in MATLAB 7.0.1.

External Editor Now Opens for File -> New M-File

In the previous version, if you specified an external text editor in Editor/Debugger preferences and selected File -> New M-File, MATLAB opened a new file in its Editor/Debugger instead of the external editor. The problem has been fixed.

fclose on glnx86 random assert

The M function fclose could result in an assert on glnx86 that is not always reproducible. This has been fixed in MATLAB 7.0.1..

Figure Windows and input or keyboard Mode Now Interact Without Problems

In the previous version, when MATLAB ran an input or keyboard function and figures were open, there were problems accessing the figures. For example, figure tools became inaccessible. This problem has been fixed.

For a Slider, Can Now Set Max to a Large Value

In MATLAB 7.0, if the value of the uicontrol Max property for a slider was a large value, and you moved the slider to the far right, the returned value was incorrect. In 7.0.1, the correct value is returned.

For Loops with Index Variable NaN Now Work Correctly

In previous releases, a for loop with a colon operation, of the form

for i = a : d : b
...
end

where any of the colon operands a, b or d was NaN, resulted in an infinite loop. In Version 7.0.1, this loop executes exactly once with the index variable having value NaN, in the same way that the following loop does.

r = a : d : b; % r is now NaN
for i = r
...
end

GUIDE: For Windows NT, Layout Editor Menus Now Labeled Correctly

In MATLAB 7.0, on Windows NT platforms, the GUIDE Layout Editor menu names and menu items were mislabeled and the single-character mnemonics did not work. Version 7.0.1 fixes these problems.

GUIDE: Specifying Location at Which to Paste Objects

In the GUIDE Layout Editor, you can now click at the desired location to specify where you want the contents of the clipboard to be pasted. The upper left corner of the pasted item is positioned at the last mouse click. Prior to MATLAB 7.0.1, the contents of the clipboard were positioned in the upper left corner of the layout area, or variously depending on what components were selected.

GUIDE: Uicontrols Now Retain Nondefault Background Color

In MATLAB 6.5 and MATLAB 7.0, if you set the background color in GUIDE of uicontrols of style edit, popupmenu, slider, or listbox, to something other than the default, the background color sometimes reverted to the default in the resulting GUI. In Version 7.0.1, the uicontrols retain the background colors you set.

Help: Problems When Adding Your Own Toolboxes Now Fixed

In the previous release, you could not use a relative path when adding files to the Help browser for your own toolboxes. In addition, the name of the help subdirectory had to be unique, that is, two toolboxes could not use the same help subdirectory name. This version removes those restrictions.

How to specify path names with $ in classpath.txt

Because $ is used as an escape character for macros like $matlabroot, a literal $ must be specified in classpath.txt as a repeated dollar sign. For example, if one wished to add the directory hello$world to their classpath.txt file, they would specify it as hello$$world.

Import Wizard Performance Problems Fixed

When using the Import Wizard, MATLAB sometimes became very slow or nonresponsive, particularly for large files. This release fixes those problems.

Improved tic/toc on Windows and Linux

Using tic and toc to measure elapsed time is now more acurate and precise on Windows and Linux. The CPU counter on the processor chip is used for the clock.

List Box Scroll Bars No Longer Obscure Content

In MATLAB 7.0, the horizontal and vertical scroll bars of a list box sometimes obscured the items in the box. In Version 7.0.1, the horizontal scroll bar appears as needed only if the height of the list box is greater than or equal to 35 pixels. The vertical scroll bar always appears if the width of the list box is greater than or eqaul to 25 pixels. If either scroll bar does not appear, you can still scroll by placing the cursor in the box and using the arrow keys.

List Box Selections Can Now Exceed 63 Items

In MATLAB 7.0, you could select no more than 63 items in a list box. In Version 7.0.1, you can select any number of items.

Loading Function Handles From MATLAB 6.5 MAT-files

The following bug is fixed in MATLAB 7.0.1:
If you save a function handle that maps to a MATLAB built-in function in MATLAB 6.5 or earlier, and attempt to load from that .mat file using MATLAB 7.0, MATLAB generates a segmentation violation.
For example, if you execute these commands in MATLAB 6.5
      fh = @true;
      save r13.mat

Then the following command will cause a segmentation violation if executed using MATLAB version 7.0:

      load r13

Loading MAT-Files Now Maintains Global Attributes

In previous versions, when you opened a MAT-file from the Current Directory browser, variables having global attributes in the MAT-file did not maintain the global attributes in the workspace. The same problem occurred when calling the load function in a GUI or when loading a MAT-file using the Import Wizard. The problem has been fixed in this release.

Loading V4 MAT-Files Containing Long Variable Names

In MATLAB 6.5, you could save variables with names longer than 19 characters to a v4 MAT-file. However, these MAT-files could not be loaded in MATLAB 4.

To address this, MATLAB 7.0 reverted to loading and saving v4 MAT-files with variable names only 1 to 19 characters long. While this fixed the problem for newly-saved MAT-files, any v4 MAT-files that had been saved using MATLAB 6.5, and that had variable names longer than 19 characters, could not be loaded in version 7.0.

This has been fixed in version 7.0.1. MATLAB loads v4 MAT-files even if the variable names are longer than 19 characters. However, variable names longer than 19 characters are not saved in v4 MAT-files because they are not compatible with MATLAB 4.

lookfor Now Displays Results Immediately

When you run lookfor, results appear in the Command Window as they are found. Previously, you had to press Ctrl+C after running the function to make results appear.

Macintosh: Dragging Text No Longer Fails

On the Macintosh platform, when you selected the last line of text and another line of text in the Editor or Command Window, and then dragged the text to move it, the operation sometimes failed and caused an exception to be reported. This problem has been fixed

Macintosh: Open and Save Dialog Boxes No Longer Cause Crash

In the previous version, opening or saving files using dialog boxes in the MATLAB desktop tools sometimes caused MATLAB to terminate unexpectedly, often generating a bus error. For example, selecting File -> Open in the Editor, sometimes caused a crash. The problem has been fixed in this version.

As a result of the fix, dialog boxes for opening and saving files do not have the standard Macintosh look. The MathWorks is working on a better solution to this problem. For the latest information, search the Technical Support Solutions Web page at http://www.mathworks.com/support/ and use the keywords "Macintosh file dialog".

Macintosh: Stack Overflow Errors, Crashing, and Hanging Problems Fixed

In the previous version of MATLAB on the Macintosh platform, MATLAB would sometimes become nonresponsive, crash, or generate stack overflow errors. Macintosh screen menus cause these serious problems. The problem has been fixed in version 7.0.1 by not including MATLAB with Macintosh screen menus. MATLAB menus are now located within the MATLAB desktop and tool windows, instead of at the top of the screen.

See the Known Software and Documentation Problems in these release notes for more information about the screen menus problem.

Make All Subplot Axes Have the Same Width and Height

All of the axes in a figure produced with the subplot function now have the same width and height. This change fixes a bug in Version 7.0 that caused axes to change dimensions if they used titles or axis labels. Therefore, if some axes have labels and others do not, the size of the axes remains the same.

Multi sheet Excel data will be read by importdata and returned in appropriate structure.

For multi sheet Excel workbooks, importdata will now return a structure that looks like:


out.
    data.
         Sheet1
         Sheet2
     textdata.
         Sheet1
         Sheet2
     colheaders
         Sheet1
         Sheet2
     rowheaders
         Sheet1
         Sheet2

This was fixed in MATLAB 7.0.

Notebook No Longer Closes Open Figures

In previous versions, running notebook sometimes closed all open figure windows. The problem has been fixed.

Notebook: Autoinit Cells Now Execute Automatically Upon Opening M-Book in Word

In the previous release, autoinit cells in M-Books did not run automatically when you opened an M-Book. The problem has been fixed.

Notebook: Figures No Longer Blank

In the previous release, MATLAB figure windows in Notebook sometimes appeared blank. The problem has been fixed in this release. A new limitation was introduced with the fix: transparency properties are not supported in MATLAB figures in Notebook.

Operations on Sparse Scalar Logicals Now Return Sparse Results

In the previous release, when you performed arithmetic operations on two sparse logical scalars, such as

sparse(true) + sparse(false)

the result was a full double scalar. In Version 7.0.1, the same operation returns a sparse result.

Performance No Longer Suffers After Changing To a Network Directory

In previous releases, after changing to a directory on a network, MATLAB sometimes became less responsive. This was a result of the Current Directory auto-refresh feature. In MATLAB 7.0.1, the auto-refresh feature has less impact on MATLAB responsiveness.

If you experience slowness, increase the value for the new auto-refresh update time preference. Select File -> Preferences -> Current Directory. Change the value for the update time from the default of 2 seconds to a greater value, for example, 15 seconds, which should alleviate the problem. Try greater values if needed, or clear the check box to turn auto-refresh off.

You can manually refresh the view at any time by selecting Refresh from the context menu in the Current Directory browser. Refreshing causes the Current Directory browser to reflect changes to files and directories that were made outside of MATLAB.

Popupmenu Now Sets Value Property Correctly

In MATLAB 7.0, if you created a uicontrol of style popupmenu but without selecting a menu item using the Value property, such as:
h=uicontrol('Style','popupmenu',...
            'String','place-holder',...)                 
and then you later set Value to be any value except 1, for example:
                                 
set(h,'String',var-name,'Value',2) 
the correct menu item may not have been selected. In Version 7.0.1, the correct menu item is selected.

PRINT Command Now Supports GCBF

If the target figure is not specified, the PRINT command now will print the current callback figure (GCBF) if it exists and otherwise prints the current figure (GCF).

Problems with depfun, depdir, and profile for Graphics Functions

This problem, introduced in Version 6.5, still exists in Beta 2. When you run the depfun function for a file that uses graphics functions, such as legend, MATLAB might crash. You might also experience the problem when you run depdir or profile.

This has been fixed in MATLAB 7.0.

Profile Report Hyperlinks for Function Reports Now Open Without Errors

In the previous release, the Profiler sometimes produced this error when you clicked a function name in the profile report:

Error in ==> profview>makefilepage at 743
mlintLines = [mlintstrc.line];

Error in ==> profview at 67
s = makefilepage(profileInfo,idx);

This problem has been fixed.

Rare Case Problems Loading Compressed MAT-File

In very rare cases, the COMPRESSED variable tag for a compressed variable in a MAT-File may have the data length incorrectly set to zero, even though the compressed variable is saved correctly. Since MATLAB does not know the length of the compressed variable, it does not load the MAT-file and the load command errors out. The effect is that a MAT file is saved compressed but then it can not be loaded. This bug occurs in very rare cases, only for compressed MAT-files, and is fixed in MATLAB 7.0.1.

Right Clicking on HG Text in Edit Mode Produced No Context Menu

In MATLAB 7.0, if you double clicked on HG text, such as an axes title, to make it editable and then right clicked on the text, the context menu for editing did not appear. In Version 7.0.1, you get the context menu.

save -v6 -append Saves Characters in Unicode

In MATLAB 7.0, the command save -v6 -append behaves like save -nocompress -unicode -append, using Unicode encoding on characters appended to the MAT-file. Because of this, if a variable containing one or more characters is appended to a MAT-file, the file cannot be loaded in MATLAB 6.5. This does not affect MAT-Files that do not contain variables of the character class, regardless of whether the character is within a struct, cell array, or by itself. It also does not affect MAT-files containing characters that were saved using -v6 but without -append. This problem is fixed in MATLAB 7.0.1.

Source Control Problem "No Project Open" When Adding File or Model Now Fixed

In some cases, when adding a file or model to Source Control from the MATLAB Editor or Simulink, the error "No project is currently open" appeared. After that error, you could not use Source Control from MATLAB or Simulink. This release fixes that problem.

Source Control verctrl Syntax Corrected in Documentation

Documentation for the verctrl function has been corrected. In previous versions, the instructions referred to creating handles; the function actually requires the handle to be 0. Type doc verctrl for details.

Starting MATLAB with /minimize Option Now Works

On Windows platforms, the /minimize startup option for MATLAB now works. That is, MATLAB starts with the MATLAB desktop window minimized.

Text Now Wraps Correctly When Font Units Are Changed

In MATLAB 7.0, changing the default font units for uicontrol text sometimes caused the text to wrap incorrectly in dialog boxes created with the warndlg, errordlg, helpdlg, and inputdlg functions. In Version 7.0.1, the text wraps correctly.

Text Now Wraps Correctly When Font Weight Is Changed

In MATLAB 7.0, changing the default font weight of uicontrol text sometimes caused the text to wrap incorrectly in dialog boxes created with the warndlg, errordlg, helpdlg, and inputdlg functions. In Version 7.0.1, the text wraps correctly.

Togglebutton Look and Feel Is Now Correct

In MATLAB 7.0, the look and feel of uicontrols of style 'togglebutton' in the Windows XP scheme was incorrect. In Version 7.0.1, togglebuttons have the correct look and feel.

Uicontrol Stacking Order Was Sometimes Incorrect

In MATLAB 7.0, in certain cases, when uicontrols overlapped, they did not appear in their intended stacking order. For example, a frame might appear on top of the buttons it contained. In Version 7.0.1, this no longer happens.

UNIX -mwvisual Startup Option Supported Without Warnings

In previous releases, when you ran MATLAB with the -mwvisual startup option on UNIX platforms, MATLAB displayed a warning that mwvisual was unrecognized, but had actually used the option successfully. The problem has been fixed. MATLAB no longer displays this false warning.

Using the | Operator in REGEXP Expressions

Be careful about using the logical OR (|) operator within square brackets (e.g., [A|B]) in regular expressions in MATLAB. The recommended way to match "the letter A or the letter B" in a MATLAB regexp expression is to use '[AB]'. If you have used '[A|B]' for this purpose in earlier versions of MATLAB, you may get unexpected results when you run your code in version 7.0 or 7.0.1.

MATLAB versions 6.0 and 6.5 treat | as an ordinary character when it is used between square brackets. For example, these versions interpret the expression '[A|B]' as "match 'A', or match '|', or match 'B'." MATLAB 7.0 and 7.0.1 correctly give precedence to the logical OR functionality of the | operator. Because of this change, MATLAB now interprets '[A|B]' as "match '[A', or match 'B]'."

You can avoid the effects of this bug fix altogether by using the recommended syntax '[AB]' for this type of operation. This syntax returns the correct results in all MATLAB versions.

The following example attempts to find the word Jill or Bill in the string 'My name is Bill'. The syntax used in the expression is incorrect, but REGEXP in MATLAB 6.5 finds a match anyway because of the software bug. This syntax does not work in version 7.0 or 7.0.1 because MATLAB now interprets the expression as the logical OR of the two statements, '[J' and 'B]ill':

        – MATLAB 6.5 –                    – MATLAB 7.0 –
    str = 'My name is Bill';          str = 'My name is Bill';
    expr = '[J|B]ill';                expr = '[J|B]ill';
    [s e] = regexp(str, expr);        [s e] = regexp(str, expr);
    str(s:e)                          str(s:e)
    ans =                             ans =
       Bill                              Empty string: 1-by-0

Using the recommended syntax returns the correct results in all MATLAB versions:

    str = 'My name is Bill';
    expr = '[JB]ill';
    [s e] = regexp(str, expr);
    str(s:e)
    ans =
       Bill

If you want to use | in an expression as an ordinary character, precede it with a backslash:

    str = 'The | operator performs a logical OR';
    expr = 'The [\$ \| \#] operator';
    [s e] = regexp(str, expr);
    str(s:e)
    ans =
       The | operator

Using Windows XP will afford the user addtional memory (virtual address space)

Due to new features available in Windows XP, MATLAB is able to make more memory available for user data than in previous versions of Windows. When running with the MATLAB Desktop, Windows XP youu will see approximately 150MB of additional available address space when compared to earlier versions of Windows. Also, MATLAB now supports the use of more than 2GB of virtual memory.

To make use of this feature you can either boot Windows XP with the /3GB option


 [http://www.microsoft.com/whdc/hwdev/platform/server/pae/PAEmem.mspx] 

or use Windows XP 64-bit Edition


 [http://www.microsoft.com/windowsxp/64bit/downloads/upgrade.asp]

if you are running on an AMD64 compatible system.

Waitbar Can Now Be Initiated in Invisible State

In MATLAB 7.0, the waitbar function did not honor the property/value pair 'Visible','Off' at the waitbar's creation. As a result, the waitbar was displayed momentarily before it could be set to Off. In 7.0.1, the property/value pair 'Visible','Off' is honored and the waitbar is not displayed at its creation.