MATLAB® Release Notes
How to Contact MathWorks Latest news: www.mathworks.com Sales and services: www.mathworks.com/sales_and_services User community: www.mathworks.com/matlabcentral Technical support: www.mathworks.com/support/contact_us Phone: 508-647-7000 The MathWorks, Inc. 3 Apple Hill Drive Natick, MA 01760-2098 MATLAB® Release Notes © COPYRIGHT 2004–2015 by The MathWorks, Inc. The software described in this document is furnished under a license agreement.
Contents R2015a Desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Documentation: Integrate documentation for custom toolboxes into the MATLAB Help Browser . . . . . . . . . . . . . . . . . . . . Documentation: Determine when feature introduced . . . . . . . Array Size Limit: Limit maximum array size to prevent unintended creation of very large matrices . . . . . . . . . . . .
Unit Testing Framework: Share variables between tests in scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Unit Testing Framework: Use prebuilt test fixtures . . . . . . . Unit Testing Framework: Compare objects using isequaln . Unit Testing Framework: Use homogeneous expected causes with Throws constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . Git Source Control Integration: View branch details and delete branches . . . . . . . . . . . . . . . . . . . .
Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18 drawnow Function: Improve performance in animation loops with new option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Functionality being removed or changed . . . . . . . . . . . . . . . 1-18 1-18 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Copying and pasting variables in the Workspace browser . . . Self-paced eLearning available from within MATLAB . . . . . . New startup switch to opt out of automatically switching to software OpenGL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Color settings preferences in Comparison Tool . . . . . . . . . . . Automatic file saving when you click away from the Editor . . 2-3 2-3 Language and Programming . . . . . . . . . . . . . . . . . . . . . . . . . .
Option for interpolating to 'next' and 'previous' neighbors with the interp1 function and griddedInterpolant class . . Option for rounding numbers to a specified number of decimal or significant digits using the round function . . . . . . . . . boundary function and alphaShape class for creating a conforming boundary around a discrete set of points . . . . cummin and cummax functions for computing cumulative minimum and maximum of an array . . . . . . . . . . . . . . . .
New look of MATLAB graphics with improved clarity and aesthetics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Improved infrastructure based on MATLAB objects . . . . . . Rotatable axis tick labels . . . . . . . . . . . . . . . . . . . . . . . . . . Automatic update of datetime and duration tick labels with plot function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . histogram function for plotting histograms . . . . . . . . . . . .
Pop-up Command History for recalling, viewing, filtering, and searching recently used commands in the Command Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Merge option in MATLAB Comparison Tool for resolving differences between text files . . . . . . . . . . . . . . . . . . . . . . Saving workspace variables and their values to a MATLAB script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Changes to External Programming Language Interfaces documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Functionality being removed or changed . . . . . . . . . . . . . . . Mathematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . isdiag, isbanded, issymmetric, ishermitian, istril, istriu, and bandwidth functions for testing matrix structure . . . . . . sylvester function for solving the Sylvester equation . . . . . .
R2013b Language and Programming . . . . . . . . . . . . . . . . . . . . . . . . . . table data container for managing, sorting, and filtering mixed-type tabular data . . . . . . . . . . . . . . . . . . . . . . . . . . categorical array for ordered and unordered categorical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . timeit function for robust time estimates of function execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Java integration updated to version 7, providing access to new Java features and bug fixes . . . . . . . . . . . . . . . . . . . . . . . Bundling of Java on Mac, removing dependency on Apple supplied Java runtime . . . . . . . . . . . . . . . . . . . . . . . . . . . Enhanced print options on Mac operating systems . . . . . . . Option for following documentation links to uninstalled products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
R2013a Desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Option to add separators between controls on the quick access toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Additional icon choices, auto-scaled thumbnails, and textformatting options for customizing descriptions of MATLAB apps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Do not use classpath.txt file to modify Java static path . Functionality being removed or changed . . . . . . . . . . . . . . . 5-11 5-11 Mathematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12 scatteredInterpolant and griddedInterpolant support for extrapolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Syntax for ones, zeros, and other functions for creating arrays that match attributes of an existing variable . . . . . . . . . .
Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . fft function performance improvements on computers with new Intel and AMD processors . . . . . . . . . . . . . . . . . . . . permute function performance improvements for 3-D and higher dimensional arrays . . . . . . . . . . . . . . . . . . . . . . . . 5-30 5-30 5-30 R2012b Desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Diagnostic message improvements when attempting to create an instance of an abstract class . . . . . . . . . . . . . . . . . . . . Handle and dynamicprops do not support the empty static method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Switch uses eq to compare enumerations . . . . . . . . . . . . . . . Cannot specify property attributes multiple times . . . . . . . . Discontinued compiler support for building MEX-files . . . . . Jagged array support for .NET . . . . . .
Functionality being removed or changed . . . . . . . . . . . . . . . 6-19 R2012a Desktop Tools and Development Environment . . . . . . . . . . . 7-2 Transpose and Sort Variables in the Variable Editor . . . . . . . MATLAB Dock Menu on Mac Includes New Capabilities . . . . Improved Rendering in MATLAB Web Browser . . . . . . . . . . Technical Support Requests Use Proxy Settings . . . . . . . . . . Published Code Can Display Syntax Highlighted Sample Code . . . . . . . . . . . . . . . . . . . . . . . . .
Conversion of Error and Warning Message Identifiers . . . . . Specify a List of Allowed Subclasses in the Class Definition . Specify Which Classes Can Access Class Members . . . . . . . Method Declared as Abstract and Private Now Errors . . . . . New Capabilities for Writing Image Data to FITS Files . . . . Access Data on Remote Servers Using the OPeNDAP Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Upgrades to Scientific File Format Libraries . . . . . . . . . . . .
New Functionality for Grid-Based Interpolation . . . . . . . . . . Performance Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . Permutation Option for randperm . . . . . . . . . . . . . . . . . . . . . Return Permutation Information in Vector for qr . . . . . . . . . Changes to meshgrid and ndgrid . . . . . . . . . . . . . . . . . . . . . Functionality Being Removed or Changed . . . . . . . . . . . . . . . 8-6 8-6 8-6 8-6 8-6 8-7 Data Analysis . . . . . . . . . . . . . . . . . . . . . . . .
New Support for Features in Microsoft .NET Framework . . Support for Cell Arrays . . . . . . . . . . . . . . . . . . . . . . . . Support for Auto-Conversion of Multidimensional Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . COM Automation Server Error Message Formatting . . . . . . 8-18 8-18 8-18 8-19 R2011a Desktop Tools and Development Environment . . . . . . . . . . . 9-2 Desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
New Function rng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . New Function ichol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . New Option for gammainc . . . . . . . . . . . . . . . . . . . . . . . . . . Performance Enhancement . . . . . . . . . . . . . . . . . . . . . . . . . . Changes to qr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Functionality Being Removed . . . . . . . . . . . . . . . . . . . . . . . Programming . . . . . . . . . . .
Changes to Compiler Support . . . . . . . . . . . . . . . . . . . . . . . New Compiler Support . . . . . . . . . . . . . . . . . . . . . . . . Compiler Support To Be Phased Out . . . . . . . . . . . . . . Discontinued Compiler Support . . . . . . . . . . . . . . . . . . Changes to Shared Library Compiler Support . . . . . . . . . . . New Support for Features in Microsoft .NET Framework . . Support for .NET System.Enum Objects . . . . . . . . . . . Support for Asynchronous .NET Delegate Callback Handling . .
Managing Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ability to View Zip File Contents in Current Folder Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Details Panel of Current Folder Provides Preview of Graphic Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Current Folder Browser Indicates Whether File Is Modified in Editor . . . . . . . . . . . . . . . . . . . . . . . . . . Compare Zip Files and Folders . . . . . . . . . . . . .
New HDF4 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . New HDF5 Low-Level Functions . . . . . . . . . . . . . . . . . . . . New netCDF Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . Upgrades to Scientific File Format Libraries . . . . . . . . . . . New Examples in Command Line Help . . . . . . . . . . . . . . . imread and imwrite Can Now Handle N-channel J2C JPEG 2000 Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Desktop New Features Video for R2010a . . . . . . . . . . . . . . 13-2 Startup and Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-2 AUTOMOUNT_MAP Environment Variable No Longer Used by MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . 13-2 Desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-2 Enhancements for Managing Keyboard Shortcuts . . . . 13-2 Method for Accessing M-Lint Preferences and the M-Lint Report . . . . . . . . . . . . . . .
Math Libraries Not Available to Build MEX-Files with Compaq Visual Fortran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-15 Data Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-16 Operations on Timeseries Objects Sometimes Warn About the isTimeFirst Property . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-16 Time Series Time Vectors Can Now Contain Duplicate Sample Times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
R2009bSP1 Bug Fixes R2009b Desktop Tools and Development Environment . . . . . . . . . . Startup and Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changes to -nodisplay and -noFigureWindows Startup Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changes to Memory Manager Startup Options . . . . . . Desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ability to Customize Keyboard Shortcuts . . . . . . . . . .
Computational Geometry Functions Being Removed . . . . . New Sparse Matrix Functionality In qr and mldivide Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Support for Large-Sized Dimensions In fft . . . . . . . . . . . . Performance Improvement For Large Data Sets . . . . . . . . erfcore Being Removed . . . . . . . . . . . . . . . . . . . . . . . . . . . New Multithreading Capability . . . . . . . . . . . . . . . . . . . . . New Test Matrices in gallery Function . . . . .
The view Function No Longer Supports 4-by-4 Transformation Matrices as Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-27 Creating Graphical User Interfaces (GUIs) . . . . . . . . . . . . 15-28 Expanded Documentation on Techniques for Programmatic GUI Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Previous Change to How UI Components Set the Figure SelectionType Property . . . . . . . . . . . . . . . . . . . . . . . . . 15-28 15-28 External Interfaces/API .
docsearch Accepts Multiple Words Without Parentheses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View Your Platform (32-bit or 64-bit) and Architecture in the About Dialog Box . . . . . . . . . . . . . . . . . . . . . . . Workspace, Search Path, and File Operations . . . . . . . . . . . Enhancements to Current Directory Browser . . . . . . . Editing and Debugging MATLAB Code . . . . . . . . . . . . . . . . Many M-Lint Messages Now Extend to Provide an Explanation and Suggested Action . . .
Setting the Number of Threads Removed from Preferences Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Timer Objects Saved in New Format . . . . . . . . . . . . . . . . . mmreader Supports Linux Platforms . . . . . . . . . . . . . . . . Support of Microsoft Excel 2007 File Formats . . . . . . . . . . Anonymous Functions Support str2func . . . . . . . . . . . . . . size and range Implemented for validateattributes . . . . . . isempty Supported for Map Objects . . . . . . .
R2008b Desktop Tools and Development Environment . . . . . . . . . . 17-2 Desktop New Features Video . . . . . . . . . . . . . . . . . . . . . . . 17-2 Startup and Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-2 Macintosh Startup and Root Directory Enhancements and Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-2 Updated Version of JVM Software . . . . . . . . . . . . . . . 17-3 Specifying Address Space Protection During Startup on Windows Platforms .
Editing and Debugging MATLAB Code . . . . . . . . . . . . . . . Create New Function and Class Files Using Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View Syntax Hints, Find Function Names, and Get Quick Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Set Color and Width of Right-Hand Text Limit . . . . . Set Cursor to First Nonwhite Character on Line . . . . Suppress a Specific M-Lint Message Throughout a File . . . . . . . . . . . . . . . . . . . .
New Options for MException getReport . . . . . . . . . . . . . . . what Function Returns Package Information . . . . . . . . . . addtodate Accepts Hours, Minutes, Seconds, Milliseconds . Querying Options Added to pause . . . . . . . . . . . . . . . . . . . File Selection Restriction in Import Wizard . . . . . . . . . . . . Function Handle Array Warning Is Now An Error . . . . . . Two Types of issorted Warnings Are Now Errors . . . . . . . . Using issorted on a Complex Integer . . . . . . . . . . . . .
Windows (64-bit) platforms . . . . . . . . . . . . . . . . . . . . 17-39 Solaris SPARC (64-bit) platform . . . . . . . . . . . . . . . . 17-39 Use mxDestroyArray to Release Memory for mxArray . . . . 17-39 New Function Displays Information about MEX Compiler Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-40 New Functions to Catch Errors in MEX-Files Replace mexSetTrapFlag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Running Functions — Command Window and History . . . . 18-7 Command History Preference — Default Value Changed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-7 Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-8 Preferences for Help on Selection . . . . . . . . . . . . . . . . 18-8 Slight Reordering of Products in Help Browser . . . . . . 18-8 Workspace, Search Path, and File Operations . . . . . . . . . . .
Include Snapshot of M-file Output in Published Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Internationalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Locale Information Added to MATLAB Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . Changes to Locale Database . . . . . . . . . . . . . . . . . . . 18-26 18-26 Mathematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating Graphical User Interfaces (GUIs) . . . . . . . . . . . . 18-41 New GUI Table Component . . . . . . . . . . . . . . . . . . . . . . . Event Data Input to GUIDE Callbacks . . . . . . . . . . . . . . . uigetfile and uiputfile Support of '.', '..', and '/' . . . . . . . . . . hidegui Function Being Obsoleted . . . . . . . . . . . . . . . . . . . Changes to How uicontrols Set Figure SelectionType . . . . . 18-41 18-41 18-41 18-42 18-42 External Interfaces/API . . . . . . . . . . . . . . . . . . . .
Desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-3 Minimizing Tools in the Desktop Now Supported on Macintosh Platforms . . . . . . . . . . . . . . . . . . . . . . . . 19-3 Double-Click to Maximize or Restore Minimized Tools in Desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-3 New Desktop Layout — All but Command Window Minimized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
New Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . finite Function Deprecated . . . . . . . . . . . . . . . . . . . . . . . . dmperm Function Gives Coarse Decomposition . . . . . . . . . ldl Function Supports Real Sparse Symmetric Matrices . . . Upgrade to LAPACK Library . . . . . . . . . . . . . . . . . . . . . . Upgrade to BLAS Libraries . . . . . . . . . . . . . . . . . . . . . . . . Library for LAPACK and BLAS Symbols Separated . . . . .
Annotation Textboxes Can Automatically Resize to Fit their Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Property Inspector Now Has Context-Sensitive Help . . . . . The “v6” Option for Creating Plot Objects is Obsolete . . . . Creating Graphical User Interfaces (GUIs) . . . . . . . . . . . . 19-30 19-33 19-33 19-35 New Editors for Creating Custom Toolbars within GUIDE The Toolbar Editor . . . . . . . . . . . . . . . . . . . . . . . . . . The Icon Editor . . . . . . . . .
R2007a Desktop Tools and Development Environment . . . . . . . . . . Startup and Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . Double-Clicking Associated File Type in Explorer Now Opens File in Existing Session of MATLAB Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changes to Startup Directory (Folder) and Startup Options for MATLAB Application on Windows . . . . JVM for Windows Updated . . . . . . . . . . . . . . . . . . . . .
Delimiter Matching Extended to Include Language Keyword Pairs . . . . . . . . . . . . . . . . . . . . . . . . . . . . M-Lint Automatic Correction Feature . . . . . . . . . . . . M-Lint Detection of Missing End-of-Line Semicolons Enhanced . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Macintosh Platforms—Some Key Bindings in Editor/ Debugger Changed . . . . . . . . . . . . . . . . . . . . . . . . Other Changes in the Editor/Debugger . . . . . . . . . . . Tuning and Managing M-Files . . . . .
Technique to Conserve Memory on Windows Vista . . . . . . ispuma Function Deprecated . . . . . . . . . . . . . . . . . . . . . . . 20-31 20-31 Graphics and 3-D Visualization . . . . . . . . . . . . . . . . . . . . . . 20-33 Nudging Annotations with Arrow Keys . . . . . . . . . . . . . . . Movies No Longer Play During Loading . . . . . . . . . . . . . . Ghostscript Printing Software Upgraded . . . . . . . . . . . . . . Property Inspector Now Categorizes Graphic Object Properties . . . . . . . . . . . . .
Changes to MATLAB Version-Specific ProgID . . . . . . Changes to Handling Microsoft ActiveX Methods . . . . . . . 20-44 20-44 R2006b Desktop Tools and Development Environment . . . . . . . . . . Startup and Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . Associate Files from MATLAB Program with Windows Operating System Using New Utility . . . . . . . . . . . Redirect Output on UNIX Now Sends Errors to Shell . Desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
mlintrpt Option Added to Use Preference Settings File Toolbar Refresh Button Removed . . . . . . . . . . . . . . . Publishing Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . notebook Setup Arguments Removed . . . . . . . . . . . . . Mathematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . New Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . max and min Now Use Magnitudes and Phase Angle for Complex Input . . . . . . . . . . . .
Comma Separators Not Required in Function Declaration . Improved Performance on Certain Platforms and Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-28 Graphics and 3-D Visualization . . . . . . . . . . . . . . . . . . . . . . 21-29 Plotting Tools Are Now Modular Desktop Components . . . Version 6 Property Editor Has Been Removed . . . . . . . . . . New Desktop Printing GUI . . . . . . . . . . . . . . . . . . . . . . . . Zoom Mode Now Supports Mouse Scroll Wheel . .
JVM Software Updated for 64-Bit Linux Platforms . . . 22-3 Desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-3 Preferences Reorganized and New Keyboard Pane Added to Support Command Window and Editor/Debugger 22-3 Open All Desktop Tools from Desktop Menu . . . . . . . . 22-3 Access Login Renamed to MathWorks Account . . . . . . 22-3 Running Functions — Command Window and Command History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
New Library CHOLMOD for Sparse Cholesky Factorization New Solver for State-Dependent DDEs . . . . . . . . . . . . . . . Upgrade to BLAS Libraries . . . . . . . . . . . . . . . . . . . . . . . . New Function for Integer Division . . . . . . . . . . . . . . . . . . New Input to gallery Function . . . . . . . . . . . . . . . . . . . . . Improved Algorithm for expm . . . . . . . . . . . . . . . . . . . . . . More Efficient condest for Sparse Matrices . . . . . . . . . . . .
New Microsoft and Intel Compilers Supported . . . . . . . . . Environment Variables Needed for Intel Visual Fortran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MWPOINTER Macro for Platform-Independent Fortran Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Compaq Visual Fortran Engine and MAT Options File Renamed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Options Files Removed for Unsupported Compilers . . . . . .
Hyperlink Color Preference Moved . . . . . . . . . . . . . . . Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hyperlink Color in the Index Pane Preference Added . . New Look for Demos, Including Thumbnails and Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Demos Run in Command Window as Scripts and Their Variables Now Created in Base Workspace . . . . . . . echodemo Function Added to Replace playshow function . . . . . . . . . . . . . . .
svd Returns Economy Decomposition . . . . . . . . . . . . . . . . New Location for LAPACK Libraries . . . . . . . . . . . . . . . . . Documentation on Data Analysis . . . . . . . . . . . . . . . . . . . 23-17 23-17 23-17 Data Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-18 Data Analysis Documentation . . . . . . . . . . . . . . . . . . . . . . Time-Series Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-18 23-18 Programming . . . . . . . .
New Return Value for mexext on Windows Systems . New mexext Script to Obtain MEX-File Extension in Makefiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . New Preferences Directory and MEX Options . . . . . . . . . . Compiler Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Import Libraries Moved . . . . . . . . . . . . . . . . . . . . . . . . . . MEX Perl Script Moved . . . . . . . . . . . . . . . . . . . . . . . . . . . Linking to System Libraries . . . . . . . . . .
Source Control Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . Register Project Feature Added; Add to Source Control Behavior Changed . . . . . . . . . . . . . . . . . . . . . . . . . . Project Name Exact Match No Longer Required . . . . . Publishing Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cell Publishing: File Extension Changes . . . . . . . . . . . Cell Publishing: LaTeX Image File Type Changes . . . . Cell Publishing: Image Options More Restrictive . . . . .
External Interfaces/API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-17 New File Archiving Functions and Functionality . . . . . . . .
R2015a Version: 8.
R2015a Desktop Documentation: Integrate documentation for custom toolboxes into the MATLAB Help Browser When you create custom help and add it to the MathWorks® documentation, the help link appears on the Home Help page. For instance, if you add the sample Upslope Area Toolbox documentation, it appears as shown here. When you click the link for your custom help, that help displays in the current window.
Desktop Previously, to access custom help that you added to MathWorks help, you clicked a Supplemental Software link at the bottom of the help home page. Then that help opened in a separate window. For more information on the Upslope Area Toolbox sample and creating custom documentation, see builddocsearchdb and “ Display Custom Documentation”. Documentation: Determine when feature introduced New documentation reference pages for MathWorks products include an annotation at the bottom of the page.
R2015a Array Size Limit: Limit maximum array size to prevent unintended creation of very large matrices MATLAB® limits the amount of computer memory used to allocate memory for each mxArray. To adjust or remove this limit, use the MATLAB array size limit preference described in “Workspace Browser Preferences”.
Language and Programming Language and Programming repelem Function: Repeat copies of array elements to create a larger array The repelem function copies elements of an array into a new array according to a specified repetition scheme. sort Function: Now preserves shape of cell array of string inputs The sort function now preserves the shape of input cell arrays of strings and sorts each column independently.
R2015a fullfile Function: Maintain all double-dot symbols The fullfile function now maintains all double-dot symbols in the input file parts. This behavior is consistent with the treatment of double-dot symbols in R2012b and earlier. In R2013a through R2014b, fullfile collapsed inner relative directories indicated by double-dot (..) symbols and returned an equivalent full file path specification that did not display the symbols.
Language and Programming • “Index into Python String” • “Index into Python list” • “Index into Python tuple” • “Index into Python dict” Python Version 3.4: MATLAB Support MATLAB supports the following versions of CPython: • Version 2.7 • Version 3.3 • Version 3.4 For more information, see “Install Supported Python Implementation”. MATLAB Engine for Python: Support for startup options The engine function matlab.engine.start_matlab supports MATLAB startup options.
R2015a the WSDL import element. For more information, see “Limitations to WSDL Document Support”. Unit Testing Framework: Tag tests for categorization and selection You can use tags to group tests into categories, and then run tests with specified tags. Tag your tests using the class-level or method-level TestTags attribute on TestCase.
Language and Programming Unit Testing Framework: Compare objects using isequaln When the class of the expected value defines an isequaln method, the ObjectComparator uses that method for object comparison. In previous releases, ObjectComparator used isequal to compare all objects. The IsEqualTo constraint and the assertEqual, assumeEqual, fatalAssertEqual, and verifyEqual qualification methods leverage ObjectComparator and, therefore, inherit the same change in behavior.
R2015a or an array of meta.class instances, consider performing the qualification using two separate Throws constraints. Git Source Control Integration: View branch details and delete branches When using the Git™ source control integration, you can view branch details and delete branches in the Manage Branches dialog box. Use the Branch Browser to see which files changed for a particular commit in the branch or to view the author, date, and commit message.
Language and Programming Functionality Result Use This Instead Compatibility Considerations matlab.unittest.Warns matlab.unittest. Replace all instances of creating a TestCase object using the default TestCase TestCase. constructor forInteractiveUse constructor. Use the TestCase. forInteractiveUse static method for interactive, command line use. When you run tests in the unit testing framework, the test runner creates the instances.
R2015a Mathematics discretize Function: Group numeric data into bins or categories The discretize function groups numeric data into bins. By default the bins are numeric, and discretize returns indices describing the bin placement of each element. However, the bins also can be categories, in which case discretize returns a categorical array.
Mathematics Functionality being removed or changed Functionality Result Use This Instead Compatibility Considerations bitmax Errors flintmax Replace all instances of bitmax with flintmax.
R2015a Data Import and Export Datastore: Read one complete file with 'file' option for ReadSize property The ReadSize property for TabularTextDatastore objects now accepts the string value, 'file'. This option reads one complete text file at a time. For more information, see TabularTextDatastore Properties. Datastore: Read data in parallel from a datastore with partition function using Parallel Computing Toolbox The partition function partitions a datastore into a number of parts.
Data Import and Export textscan and readtable Functions: Return consistent results when reading quoted strings As of R2014b, using the %q format specifier with the textscan and readtable functions returns consistent results. When using %q to read strings that begin with a double quotation mark ("), textscan and readtable remove the leading double quotation mark and its accompanying closing mark. The closing mark is the second instance of a lone, unescaped double quotation mark.
R2015a Compatibility Considerations Code that relies on using the %q format specifier to read text enclosed in double quotation marks might return different results. Such code includes calls to readtable that do not specify a value for the Format name-value pair argument. However, there is no behavior change when reading strings with proper double quotation marks. Scientific File Format Libraries: Upgrades This table lists upgrades to scientific file format libraries used by MATLAB.
Data Import and Export Functionality Result Use This Instead Compatibility Considerations H5P.get_dxpl_multi Errors none Remove all instances of H5P.get_dxpl_multi. H5P.set_dxpl_multi Errors none Remove all instances of H5P.set_dxpl_multi.
R2015a Graphics drawnow Function: Improve performance in animation loops with new option drawnow now supports the limitrate option for limiting the number of figure updates to 20 frames per second. If you are updating graphics objects in a loop and do not need to see every update on the screen, you can use this option to skip some updates for a faster animation.
Performance Performance MapReduce: Run mapreduce algorithms on any computer cluster that supports parallel pools using MATLAB Distributed Computing Server The mapreduce function now runs on any cluster that supports a parallel pool. For more information about mapreduce execution environments, see “Speed Up and Deploy MapReduce Using Other Products”.
R2015a Hardware Support IP camera: Acquire video directly from Internet Protocol cameras You can use the MATLAB IP Camera support to bring live images into MATLAB Images can be from any IP Camera that supports Motion JPEG stream over HTTP or RTSP with basic authentication support. IP cameras, also referred to as netcams or network cameras, are increasingly popular in live image processing applications.
Hardware Support • Take photographs using a web camera • Issue Linux shell commands • Transfer files to or from your host computer • Control the onboard LED Using the command-line interface in MATLAB, you can: • Start programing without additional toolboxes. • Interactively develop and debug programs in MATLAB. • Acquire and process sensor data in MATLAB in a variety of ways, including creating plots. See . For more information, see “MATLAB Support Package for BeagleBone Black Hardware”.
R2015a Functionality being removed or changed Functionality Result Use This Instead Compatibility Considerations targetinstaller Warns supportPackageInstaller Replace all instances of targetinstaller with supportPackageInstaller. 1-22 configureAnalogPin Warns configurePin Replace all instances of configureAnalogPin with configurePin. configureDigitalPin Warns configurePin Replace all instances of configureDigitalPin with configurePin.
R2014b Version: 8.
R2014b Desktop Git and Subversion source control system integration through Current Folder browser, including syncing from Web-hosted repositories such as those on GitHub The MATLAB Current Folder browser includes a column with source code status for files that are contained in Git and Subversion® repositories. You can retrieve repositories and access source control functionality through the context menus. For more information, see Source Control Integration.
Desktop Copying and pasting variables in the Workspace browser You now can copy and paste the contents of workspace variables in the Workspace browser. Just right-click, select Copy, and then Paste. Alternatively, you can use the Ctrl+C and Ctrl+V keyboard shortcuts. Previously, this action opened the Import Tool for importing the variable name as a string. Self-paced eLearning available from within MATLAB MATLAB Academy is the entry point to self-paced eLearning from within MATLAB.
R2014b Automatic file saving when you click away from the Editor If you are editing a file in the MATLAB Editor that you have saved at least once, new changes are automatically saved if you click away from the Editor. This setting is on by default, and is accessible through MATLAB Editor/Debugger Preferences. On the Home tab, in the Environment section, click Preferences, and select Editor/Debugger.
Language and Programming Language and Programming datetime, duration, and calendarDuration arrays for efficient computation, comparison, and formatted display of dates and times datetime, duration and calendarDuration are new data types for representing dates and times. You can manipulate arrays of these types in the same way that you work with numeric arrays. For example, you can add, subtract, sort, compare, concatenate, and plot date and time values.
R2014b • Common assignment operators such as ++, +=, and -=, and mathematical operator idioms such as 2(x+1) • Python argument syntax and dictionary syntax Suggested MathWorks products for undefined functions MATLAB suggests which MathWorks product is required for an undefined function. This information includes links to documentation and product information.
Language and Programming RPC-encoded WSDL documents are not supported. For these documents, use createClassFromWsdl. The following WSDL documents are not supported: • Some documents with messages containing multiple parts. • Some documents with schemas containing anonymous complex types. • Documents that the Apache CXF program cannot compile into complete code. Compatibility Considerations createClassFromWsdl, createSoapMessage, callSoapService, and parseSoapResponse will be removed in a future release.
R2014b MATLAB errors attempting to define listener for nonobservable property In previous releases, you could define a listener for a nonobservable property. MATLAB silently ignored the listener and did not call the listener callback. With release MATLAB 2014b, attempting to create a listener using event.proplistener or addlistener for a nonobservable property causes an error.
Language and Programming LoggingPlugin or TestRunProgressPlugin, or a test runner constructed with the TestRunner.withTextOutput method. Constraint for scalar values in unit testing framework You can use the matlab.unittest.constraints.IsScalar constraint class to test that an actual value is a scalar. Test suites from packaged functions and scripts The unit testing framework recognizes function-based and script-based tests that are contained within a user-defined package.
R2014b Inf Compatibility Considerations Change any instances of test qualifications in which you compare an infinite expected value to a finite actual value using a relative tolerance, and expect the test to pass. rmdir treatment of asterisk as literal character on Linux and Mac On Linux and Mac platforms, the rmdir function treats the asterisk character (*) as a literal character if a file or folder named * exists in the current folder.
Language and Programming Functionality Result Use This Instead matlab.unittest. TestCase constructor Still runs matlab.unittest. TestCase. forInteractiveUse Compatibility Considerations Replace all instances of creating a TestCase object using the default constructor. Use the TestCase. forInteractiveUse static method for interactive, command line use. When tests are run in the unit testing framework, instances are created by the test runner. matlab.unittest. plugins.
R2014b Mathematics histcounts function for binning numeric data The histcounts function sorts data into bins with data-dependent bin picking and options for bin control and normalization.
Mathematics round(pi,2,'significant') ans = 3.1000 boundary function and alphaShape class for creating a conforming boundary around a discrete set of points The boundary function and alphaShape class create enveloping boundaries, polygons, or polyhedra around a discrete set of 2-D or 3-D points, including options for tightening or loosening the boundaries around the points.
R2014b 16 16 11 14 10 15 13 13 Reverse accumulation option for the cumsum, cummin, cummax, and cumprod functions The 'reverse' option for cumsum, cumprod, cummin, and cummax reverses the direction of cumulation, working from end to 1 in the active dimension. This option allows quick directional calculations without requiring a flip or reflection of the input array. Median and mode calculations of categorical data The median and mode functions now support categorical arrays as inputs.
Data Import and Export Data Import and Export Faster data import from text files using Import Tool, and readtable and textscan functions The performance of the Import Tool, the readtable function, and the textscan function improves for text files. Import of data as categorical and datetime arrays using the readtable and textscan functions The readtable and textscan functions can read data from text files a categorical or datetime arrays. Use the %C conversion specifier to read text as a category name.
R2014b object. When you use the get function to query a VideoReader object, the output structure array now has a CurrentTime field and no longer has a Type field or a NumberOfFrames field. You cannot query the NumberOfFrames property if you have invoked the readFrame or hasFrame methods, or if you have explicitly set the CurrentTime property. If VideoReader cannot determine the duration of the video file, then the Duration property is empty ([]). Previously the Duration property was set to zero.
Data Import and Export hdftool functionality will not be removed The R2013a Release Notes originally stated that hdftool would be removed in a future release. As of R2014b, there are no plans to remove this functionality. MATLAB no longer issues a warning when you call hdftool. Functionality being removed or changed Functionality What Happens When You Use This Functionality? Use This Instead Compatibility Considerations movie2avi Still Runs VideoWriter Remove all instances of movie2avi.
R2014b Functionality What Happens When You Use This Functionality? Use This Instead hdfgd Still runs http:// Replace all instances of hdfgd www.mathworks.com/ with the corresponding function help/releases/ in the matlab.io.hdfeos.gd R2014b/ package. matlab/ref/ matlab.io.hdfeos.gd.htmlmatlab.io. hdfeos.gd hdfsd Still runs http:// Replace all instances of hdfsd www.mathworks.com/ with the corresponding function help/releases/ in the matlab.io.hdf4.sd R2014b/ package. matlab/ref/ matlab.io.hdf4.sd.
Hardware Support Hardware Support Documentation installation with hardware support package Starting in R2014b, each hardware support package installs with its own documentation. See Supported Hardware for more information on support packages. Support package for Android sensors The MATLAB Support Package for Android™ Sensors allows you to collect sensor data from your mobile Android device and log it in MATLAB. You can then process the sensor data in MATLAB in a variety of ways, including creating plots.
R2014b including creating plots. You can collect data from the following sensors connected to your Arduino hardware: • I2C • SPI • Servo Motors The support package includes the command-line interface in MATLAB. For more information see MATLAB Support Package for Arduino Hardware. Support package for LEGO MINDSTORMS EV3 hardware You can use MATLAB Support Package for LEGO® MINDSTORMS® EV3 Hardware on 32-bit and 64-bit Microsoft Windows systems, Mac OS, and Linux systems.
Graphics Graphics Major update of MATLAB graphics system New MATLAB Graphics System Starting in R2014b, the MATLAB graphics system is built on an improved infrastructure with a new look and includes many new features for improved charts and customizations. For more information on the new features and for compatibility considerations, see the remaining graphics release notes.
R2014b • Graphics objects use object handles of various types instead of the numeric handles used in previous releases. • Graphics objects support dot notation for getting and setting properties. Property names are case-sensitive when using dot notation. Compatibility Considerations Most code written for numeric handles still works with object handles. However, you should not perform operations that assume or require handles to be numeric values.
Graphics Display of multilingual text and symbols Axis tick labels support TeX and LaTeX markup for special characters, such as superscripts, subscripts, and Greek letters. By default, the axes interprets tick label characters using TeX markup. For more information, see the TickLabelInterpreter property of the axes. You also can use Unicode characters in axis tick labels, as well as in user interface objects.
R2014b Compatibility considerations for graphics changes The graphics changes introduced in R2014b support most of the functionality from previous releases, although there are some differences. Some of the changes that you are most likely to encounter are listed here. • Plotting multiple lines with hold on uses the next color in the color order instead of starting from the first color with each plotting command.
Graphics Functionality Result Use Instead Compatibility Considerations hist function Still runs histogram function Use histogram instead of hist. colorbar('peer',ax) syntax Still runs colorbar(ax) Replace all instances of colorbar('peer',ax) with colorbar(ax). Using 0 to access the root object Still runs groot command Use the groot command to access the root object instead of 0. EraseMode property for all Warns graphics objects Not applicable Remove all instances of the EraseMode property.
R2014b 2-26 Functionality Result Use Instead Compatibility Considerations Passing complex inputs to charting functions that do not support complex data Warns or errors Real valued input arguments Charting functions that do not support complex data will warn or error if part of the data is ignored. Pass real valued inputs to these charting functions. 'symbol' option for FontName property Warns Use TeX or LaTex markup Remove all instances of setting the FontName property to 'symbol'.
Graphics Functionality Result Use Instead Compatibility Considerations 'phong' value for the Uses gouraud 'gouraud' lighting EdgeLighting and option FaceLighting properties instead for surface and patch objects Replace all instances of setting the EdgeColor or FaceColor property to 'phong' with the 'gouraud' value instead.
R2014b 2-28 Functionality Result Use Instead Compatibility Considerations FixedColors, MinColorMap, WVisual, WVisualMode, XVisual, and XVisualMode figure properties Errors Not applicable Remove all instances of figure properties that are no longer supported. Use supported figure properties. Selected and SelectionHighlight figure properties No effect Not applicable Remove all instances of the Selected and SelectionHighlight figure properties.
Graphics Functionality Result Use Instead Compatibility Considerations Specifying a single output argument for the voronoi function Returns a vector of two chart line objects Not applicable Specifying a single output argument the voronoi function returns a vector of two chart lines. Remove instances of code that rely on voronoi returning more than two chart lines.
R2014b Functionality 2-30 Result Use Instead Compatibility Considerations a file, use hgsave with the .fig extension. printdmfile function and Errors print -dmfile syntax savefig function or the figure menu Remove all instances of printdmfile and print dmfile. To save a figure to a file, use the hgsave function with the .fig extension, or use File > Generate Code on the figure menu instead.
GUI Building GUI Building uitab and uitabgroup components for creating user interfaces with tabbed panels The uitab function creates a tabbed panel in which you can group related components together with a clickable tab label. The uitabgroup function creates the container that manages user selection of uitabs. Changes introduced with new graphics system The new MATLAB graphics system introduces these changes to the GUI building tools: • All UI components behave like MATLAB objects.
R2014b (or out of) the uipanel boundaries. Now, these items clip at the uipanel boundary. Annotations and child objects of uibuttongroups behave the same way when they encounter a uibuttongroup boundary. • The waitforbuttonpress function is now figure-specific. The figure that is current when you call the waitforbuttonpress function is the only area in which users can press a key or click a mouse button to resume program execution.
GUI Building Functionality Result Use Instead Compatibility Considerations See “Properties and syntaxes being removed or changed” on page 2-24 for more information about all the changes to figure properties. The SelectionChangeFcn Still runs property of uibuttongroup SelectionChangedFcn Use of the property SelectionChangeFcn property is not recommended. Use the SelectionChangedFcn property instead.
R2014b Performance and Big Data Big data analysis on your desktop that can scale to Hadoop with mapreduce The mapreduce function enables analysis of data sets that do not fit in your computer’s memory. It is used to process large data sets on your desktop, and can also be extended to run on Hadoop® to process big data. MapReduce is a powerful technique for applying data processing methods to very large data sets, from simple statistics to complex machine learning algorithms.
R2014a Version: 8.
R2014a Desktop Pop-up Command History for recalling, viewing, filtering, and searching recently used commands in the Command Window Pop-up Command History (2 min, 41 sec) The Command History now displays in response to the up arrow (↑) in the Command Window, by default. Previously, the Command History window occupied a designated space on the MATLAB desktop. The following are additional features enhancing the Command History.
Desktop Merge option in MATLAB Comparison Tool for resolving differences between text files When comparing text files in the MATLAB Comparison Tool you can now merge changes from one file to the other. Merging changes can be useful when resolving conflicts between different versions of files. For details, see Comparing Text Files. Saving workspace variables and their values to a MATLAB script MATLAB now provides the ability to save workspace variables to a MATLAB script.
R2014a Language and Programming Suggested corrections for mistyped, user-defined functions in the Command Window MATLAB suggests corrections for function names mistyped in the command window. This functionality now includes suggestions for custom, or user-defined, functions on the MATLAB path. Streamlined MEX compiler setup and improved troubleshooting mex -setup is no longer necessary in most situations Setting up mex compilers has been simplified.
Language and Programming Compatibility Considerations • Do not use the -f option to build engine and MAT-file applications. Use the -client engine option instead. • The format of the mex configuration files has changed. If there is a .bat or .sh options file in the current or prefdir folder, MATLAB displays a warning. In a future release, these warnings will become errors. • Informational messages from mex have changed. The mex command displays the selected compiler and success status.
R2014a V = validatestring('',{'Cantor','','Koch'}) V = '' In versions of MATLAB prior to R2014a, the call to validatestring results in an error. Compatibility Considerations Change code that relies expects an error when testing the validity of an empty string. matlab.lang.makeValidName and matlab.lang.makeUniqueStrings functions for constructing unique MATLAB identifiers The matlab.lang.makeValidName function returns valid MATLAB identifiers from input strings.
Language and Programming 'Item_' 'Item__1' 'Price_Unit' 'x1stOrder' 'Contact' details function displays details about arrays For more information, see details. Changes to passing empty object to isprop Calls to isprop with empty objects now return an empty logical array instead of false. Compatibility Considerations Change code that relies on isprop retuning false for empty objects.
R2014a \\folder4\. In R2012b and earlier, the same commands returned: f = C:\foo\folder1\..\folder2 g = C:\foo\folder1\\\folder3\\ h = \\folder4\. Compatibility Considerations Change code that relies on locating exact strings containing repeated file separators or dot and double-dot symbols in a full file path.
Language and Programming matlab.unittest plugin for Test Anything Protocol (TAP) output The matlab.unittest testing framework provides a plugin that produces a Test Anything Protocol (TAP) stream. This plugin allows integration of MATLAB unit test results into third-party systems that recognize the Test Anything Protocol such as continuous integration systems. For more information, see the matlab.unittest.plugins.TAPPlugin documentation. Output stream direction for matlab.unittest plugins The matlab.
R2014a • Calling External Functions—How to use functionality from other languages, such as Java, .NET, and C, in MATLAB. • MATLAB API for Other Languages—How to interact with MATLAB and MATLAB data types from other language applications. How to write and call MEX-functions. Functionality being removed or changed Functionality What Happens When You Use This Functionality? Use This Instead Compatibility Considerations circshift(A,K) for scalar K.
Language and Programming Functionality What Happens When You Use This Functionality? Use This Instead Compatibility Considerations tscollection, openvar, or plot. To create a time series object, use timeseries. To create a time series collection with one or more timeseries objects, use tscollection. To open a time series object or collection in the Variables editor, use openvar. To plot a time series object, use plot. genvarname Still runs matlab.lang.
R2014a Functionality What Happens When You Use This Functionality? Use This Instead depdir Warns matlab.codetools.requiredFilesAndProducts Replace all instances of depdir with matlab.codetools.requiredFilesAnd However, matlab.codetools.requiredFi returns the full path of a required file, including the file name. depfun Warns matlab.codetools.requiredFilesAndProducts Replace all instances of depfun with matlab.codetools.requiredFilesAnd However, matlab.codetools.
Language and Programming Functionality What Happens When You Use This Functionality? mexIsGlobal in the Always returns false C/C++ and Fortran MEX API Library Use This Instead Compatibility Considerations mxIsFromGlobalWS in the C/C++ Matrix Library API and Fortran Matrix Library API Replace all instances of mexIsGlobal with mxIsFromGlobalWS in MEX-files.
R2014a Mathematics isdiag, isbanded, issymmetric, ishermitian, istril, istriu, and bandwidth functions for testing matrix structure The following functions test various aspects of matrix structure and are useful in simplifying numerical algorithms. • ishermitian determines if a matrix is Hermitian or skew-Hermitian. • issymmetric determines if a matrix is symmetric or skew-symmetric. • istriu determines if a matrix is upper-triangular. • istril determines if a matrix is lower-triangular.
Mathematics 0 0 4.8990 0 0 -4.8990 -0.5774 -0.5774 -0.5774 -0.7416 0.6667 0.0749 -0.0749 -0.6667 0.7416 W = This produces a full matrix, W, whose columns are the left eigenvectors of A such that W'*A = D*W'. Option for rand, randi, and randn functions for creating arrays of random numbers that match data type of an existing variable The functions rand, randi, and randn can now return output that matches the data type of an existing variable.
R2014a Compatibility Considerations In previous releases, the output class of these functions was dependent on the input class. To obtain nondouble output, cast the output into the required class, such as int8(sub2ind(size,i,j)).
Data Import and Export Data Import and Export Webcam support for previewing and acquiring live images and video Webcam Support (2 min, 54 sec) You can use the MATLAB Webcam support to bring live images from any USB Video Class (UVC) Webcam into MATLAB. This includes Webcams that might be built into laptops or other devices, as well as Webcams that plug into your computer via a USB port.
R2014a Raspberry Pi hardware support for controlling devices such as motors and actuators, and for capturing live data from sensors and cameras directly from MATLAB You can use MATLAB commands to connect to a Raspberry Pi™ board over a network and perform the following operations: • Exchange data with sensors and actuators that are connected to the GPIO, serial port, I2C, and SPI interfaces • Record video and take photographs using the Camera Board • Issue Linux shell commands • Transfer files to or from y
Data Import and Export To read from a file with a .txt extension when an identically named file without an extension also exists, specify both the file name and extension in the call to readtable. Functionality being removed or changed Functionality What Happens When You Use This Functionality? Use This Instead Compatibility Considerations aufinfo Warns audioinfo Replace all instances of aufinfo with audioinfo. auread Warns audioread Replace all instances of auread with audioread.
R2014a GUI Building Panel Display in GUIDE Layout Area While designing a GUI with GUIDE, if you place a panel on top of controls, the layout remains as you specify in the layout area. However, in the running GUI, the panel displays under the controls. Compatibility Considerations Previously, if you placed a panel on top of controls in the layout area, the panel automatically moved under the controls in the design area and appeared under the controls in the running GUI.
Performance Performance conv2 function performance improvements with three inputs The performance of the conv2 function improves when using the conv2(h1,h2,A) syntax.
R2013b Version: 8.
R2013b Language and Programming table data container for managing, sorting, and filtering mixed-type tabular data Tables and Categorical Arrays (6 min, 9 sec) table is a new data type to collect mixed-type data and metadata properties, such as variable names, row names, descriptions, and variable units, in a single container. Tables are suitable for column-oriented or tabular data that is often stored as columns in a text file or in a spreadsheet.
Language and Programming medium large small small medium categories(myCategorical) ans = 'small' 'medium' 'large' You can use categorical arrays in a table to select groups of rows. For more information, see Categorical Arrays. timeit function for robust time estimates of function execution The timeit function measures the time required to run a function. It provides a more robustly computed time estimate than tic/toc.
R2013b flip function, a faster and more memory efficient alternative to flipdim for flipping arrays and vectors The flip function provides a faster and more memory efficient alternative to flipdim for flipping arrays and vectors. Partial name matching in inputParser The inputParser now includes the PartialMatching property, which allows partial matching of parameter names. This property is true by default. For more information, see the inputParser reference page.
Language and Programming Conversion changes of out-of-range numbers passed to Java methods that take integers MATLAB R2013b changes the way it converts out-of-range values for the following Java integer types: • Signed 32-bit integer (Java int, short or byte parameters) • Signed 64-bit integer (Java long parameters) For a description of the conversion, see Converting Numbers to Integer Arguments.
R2013b Changes to compiler support for building MEX-files MATLAB no longer supports the following compilers on Microsoft Windows platforms: • Intel® C++ Version 11 • Intel Visual Fortran Version 11 • Open Watcom C/C++ Compatibility Considerations To ensure continued support for building your MEX-files, consider upgrading to another supported compiler. For an up-to-date list of supported compilers, see the Supported and Compatible Compilers website.
Language and Programming To preserve the number of dimensions of a 3-D or higher dimensional data array, use permute to reorder the data array, such that the size of the last data dimension aligns with the time vector. Furthermore, you receive a warning when loading a time series object from a prior release with 3-D or higher dimensional data and with time alignment along the first dimension. In this case, MATLAB preserves the time alignment with the first dimension and reshapes the data to 2-D.
R2013b MATLAB:InputParser:ParamMustBeChar. If your code checks for MATLAB:InputParser:MustBeChar, you might need to update it to check for MATLAB:InputParser:ParamMustBeChar instead. For a mapping of the new identifiers to the original identifiers, see Technical Support solution 1-ERAFNC.
Language and Programming Functionality and time aligned with the first dimension cat(0,A,B) What Happens When You Use This Functionality? Use This Instead Compatibility Considerations the first dimension or a time series object with 3-D or higher dimensional data and time aligned with the last dimension code and assessing the impact of this change, see “Changes to time alignment for time series objects” on page 4-6.
R2013b Desktop Improved viewing and editing of one-dimensional structure arrays in the Variables editor One-dimensional (n-by-1 or 1-by-n) structure arrays in the Variables editor now display field contents arranged in columns, in a single pane. You can reorder fields by dragging a column. The new display allows you to work with one-dimensional structure arrays as you would with other workspace variables.
Desktop A drop-down list provides quick access to tabs that do not fit in the window when a large number of files, figures, or documents are open. When viewing multiple documents in a tiled layout, you can drag tabs to create new tiles or move documents between existing tiles. The tabs replace the document bar that was shared across tiles in earlier versions of MATLAB.
R2013b Enhanced print options on Mac operating systems On Macintosh systems, the Print dialog box now provides more print options. You can access all print options provided by the native Macintosh print dialog. For example, you can select the number of pages to print per sheet, add a border or watermark, and print to a PDF file. To access the Print options, press Command+P from the Command Window or the MATLAB Editor.
Desktop click Print and then select Page Setup. Alternatively, from the Command Window or Editor, use the keyboard shortcut, Command+Shift+P. The Page Setup dialog box opens. In the Settings menu, ensure that Page Attributes is selected. To access the options previously available from the Page Setup dialog box (such as Layout, Header, and Fonts options), select MATLAB in the Settings menu.
R2013b Preferences dialog box improvements for easier navigation Options in the left pane of the Preferences dialog box are arranged by product, and alphabetized within each product for simpler navigation. This change does not affect code that calls preferences. To access the Preferences dialog box, click Preferences on the Home tab. Auto-adjust capability in Variables editor You now can auto-adjust the column width for elements of numeric, cell, structure, and table arrays in the Variables editor.
Mathematics Mathematics Functionality being removed or changed Functionality What Happens When Use This Instead You Use This Functionality Compatibility Considerations interp1(X, Y, Xq, [], ...) where [] specifies the default interpolation method Still Runs interp1(X, Y, Xq, 'linear', ...) Replace all instances of interp1(X, Y, Xq, [], ...) with interp1(X, Y, Xq, 'linear', ...). Passing mixedorientation vectors to interp2: Still Runs Construct the full grid with meshgrid first.
R2013b Functionality What Happens When Use This Instead You Use This Functionality Compatibility Considerations Passing mixedorientation vectors to interp3: Still Runs Modify all instances that pass mixedorientation vectors to interp3. You can modify your code in one of two ways: interp3(x, y, z, V, xq, yq, zq) Specifically, if one or both of the following are true: • x, y, and z are a combination of row and column vectors. • xq, yq, and zq are a combination of row and column vectors.
Mathematics Functionality What Happens When Use This Instead You Use This Functionality Compatibility Considerations Passing mixedorientation vectors to interpn: Still Runs Modify all instances that pass mixedorientation vectors to interpn. You can modify your code in one of two ways: interpn(x1,x2,...,xn, V, x1q,x2q,...,xnq) Construct the full grid with ndgrid first. Alternatively, use griddedInterpolant if you have a large data set. • Call ndgrid to construct the full grid first. [X1,X2,...
R2013b Functionality What Happens When Use This Instead You Use This Functionality Passing the 'pp' Warns flag to interp1. For example: pp = interp1(x, v, 'linear', 'pp'); vq = ppval(pp, xq); Compatibility Considerations Use griddedInterpolant to create an interpolating function that is efficient to evaluate in a repeated manner. Replace all instances of interp1(..., 'pp') with griddedInterpolant.
Mathematics Functionality What Happens When Use This Instead You Use This Functionality Compatibility Considerations repmat(A,empt,n), where empt is an empty array Errors repmat(A,[n 1]) Replace all instances of repmat(A,empt,n) with repmat(A,[n 1]). repmat(A,col), where col is a column vector Errors repmat(A,col.') Replace all instances of repmat(A,col) with repmat(A,col.').
R2013b Graphics Mac support for copying figures in vector formats to other applications MATLAB for Mac now supports copying figures to other applications in a high-resolution PDF format. If the figure contains uicontrols, then MATLAB uses a TIFF format instead. savefig for saving figures to FIG-files savefig saves one or more figures to a FIG-file.
Graphics Functionality What Happens Use This Instead Compatibility Considerations When You Use This Functionality? printdlg('-setup',fig) Warns Use the Remove all instances of operating using printdlg with the system printer setup option management utilities to set up a new printer 4-21
R2013b GUI Building Custom icons for MATLAB apps you create You can now package a custom icon in an app that you create. When selecting an icon, click Use your own icon... . A second dialog box opens. Click Select icon to browse for a custom icon. The dialog box also displays three icon sizes. MATLAB automatically scales your icon for use in the Install dialog, App gallery, and quick access toolbar. For more information, see Package Apps.
Performance Performance repmat with numeric, char, and logical types The performance of the repmat function improves when the input array contains numeric, char, or logical values. Linear algebra functions on computers with new AMD processors The performance of the linear algebra functions improves on computers with AMD® processors supporting the Intel AVX instruction set.
R2013b Data Import and Export fprintf function prints Unicode characters to the screen The fprintf function now displays Unicode® characters on the screen. Previously, text was displayed with the user default character encoding, which is dependent on the user locale. Compatibility Considerations When displaying non-ASCII text on the screen, the fprintf function might return a different output value for the number of displayed bytes, compared to previous versions of MATLAB.
Data Import and Export Functionality What Happens When You Use This Functionality? Use This Instead Compatibility Considerations level functions in the matlab.io.hdf4.sd, matlab.io.hdfeos.gd, and matlab.io.hdfeos.sw packages.
R2013a Version: 8.
R2013a Desktop Option to add separators between controls on the quick access toolbar You can now insert and move separators bars on the quick access toolbar. This helps to organize icons into groups. For information on how to customize and organize icons on the quick access toolbar, see Access Frequently Used Features.
Desktop Left-aligned table of contents for navigating in the Help browser and online Documentation Center The documentation now includes a table of contents that can remain open and that does not overlap the content. View the table of contents by clicking the Contents icon on the left edge of the window. Search term highlighting and content expansion in the Help browser In the Help browser, search terms now appear highlighted when you view pages linked from the search results.
R2013a Removal of Handle Graphics support under -nojvm startup option When you start MATLAB with the -nojvm startup option, Handle Graphics® functionality is not supported. (The -nojvm option is available for UNIX® platforms; see background information on the matlab (UNIX) reference page.) Some aspects of MATLAB and related products use Handle Graphics in a way that might not be obvious. This includes anything that is based on or works using figures in MATLAB.
Desktop No default keyboard shortcut for overwrite mode There is no longer a default keyboard shortcut for Overwrite mode, and OVR no longer appears at the bottom right corner of the MATLAB status bar. Previously, the Insert key by default toggled between Insert and Overwrite modes in the Command Window and in the MATLAB Editor. Compatibility Considerations To enable Overwrite mode, assign a keyboard shortcut to this action.
R2013a Language and Programming matlab.unittest package, an xUnit-style testing framework for the MATLAB language that allows writing and running unit tests, and analyzing test results New MATLAB Unit Testing Framework (9 min, 24 sec) For information about the matlab.unittest package, see Unit Testing Framework. strsplit and strjoin functions for splitting and joining strings The strsplit function splits a string into a cell array of strings.
Language and Programming For more information, see Display Custom Documentation. Changes to Microsoft .NET Framework support As of R2013a, the MATLAB .NET interface requires the Microsoft .NET Framework Version 4.0 and above. The interface continues to support assemblies built on Framework 2.0 and above. Compatibility Considerations You must have the .NET Framework Version 4.0 or above installed on your system. If you enter any NET. or System. commands on a machine without Framework 4.
R2013a Changes to subclasses of built-in classes Subclasses of built-in classes no longer inherit the following methods: • ones • zeros • true • false • cast As a result of this change, you cannot call these methods with an object of a built-in subclass. For example, given a class, mySubclassOfDouble, that derives from double, the following attempt to call cast results in an error: a = mySubclassOfDouble(1); b = a.
Language and Programming For example, the MATLAB:addtodate:Nargin identifier has changed to MATLAB:addtodatemx:Nargin. If your code checks for MATLAB:addtodate:Nargin, you must update it to check for MATLAB:addtodatemx:Nargin instead. For a mapping of the new identifiers to the original identifiers, see Technical Support solution 1ERAFNC.
R2013a mydates = {'11-Oct-2012','11-10-2012'}; datevec(mydates,'dd-mmm-yyyy') ans = 2012 2012 10 10 11 11 0 0 0 0 0 0 In R2013a, both dates are silently interpreted as October 11, 2012 although you might have intended '11-10-2012' to be in month-day-year format, representing November 10, 2012. Date functions error on out-of-range quarter values Valid values for quarter formats are Q1 through Q4 when converting date strings using the datenum or datevec functions.
Language and Programming Compatibility Considerations To obtain a string representation of large integers that uses decimal notation, call int2str(x) instead of num2str(x). Do not use classpath.txt file to modify Java static path As of R2012b, the file classpath.txt is no longer used to add custom paths to the static Java class path. A new MathWorks product installation rewrites the static class path (found in the classpath.txt file).
R2013a Mathematics scatteredInterpolant and griddedInterpolant support for extrapolation • scatteredInterpolant is a new class for interpolating scattered data, and it returns extrapolated values by default when you evaluate at query points outside the convex hull. • griddedInterpolant now returns extrapolated values by default when you evaluate at query points outside the domain of your sample grid. Compatibility Considerations scatteredInterpolant supports extrapolation by default.
Mathematics ans = uint8 Integer type support for prod, cumsum, cumprod, median, mode, and number theory functions The following functions now support inputs of any integer data type: median, mode, prod, cumprod, cumsum, isprime, primes, factor, gcd, lcm, perms, factorial, nextpow2, and nchoosek. flintmax function for largest consecutive integer in floating-point format Largest consecutive integer in floating-point format.
R2013a at query points outside the convex hull using the 'linear' or 'natural' methods. To preserve the TriScatteredInterp behavior, set the ExtrapolationMethod property to 'none'. See the scatteredInterpolant reference page for more information. • scatteredInterpolant does not accept input of type DelaunayTri. Use nearestNeighbor or pointLocation to interpolate using a specific Delaunay triangulation. See Interpolation Using a Specific Delaunay Triangulation for more information.
Mathematics TriRep Method Replacement triangulation Method Name Change cartToBary cartesianToBarycentric ✓ circumcenters circumcenter ✓ edgeAttachments edgeAttachments edges edges faceNormals faceNormal featureEdges featureEdges freeBoundary freeBoundary incenters incenter ✓ isEdge isConnected ✓ neighbors neighbors size size vertexAttachments vertexAttachments ✓ delaunayTriangulation class to replace DelaunayTri DelaunayTri will be removed in a future release.
R2013a DelaunayTri Property Replacement delaunayTriangulation Property Name Change Triangulation ConnectivityList ✓ DelaunayTri Method Replacement delaunayTriangulation Method Name Change convexHull convexHull inOutStatus isInterior nearestNeighbor nearestNeighbor pointLocation pointLocation voronoiDiagram voronoiDiagram Replacements for DelaunayTri Methods ✓ Set functions behavior change The behavior of unique, union, intersect, setdiff, setxor, and ismember has changed.
Mathematics • Cell arrays of strings can combine with char arrays. • ismember treats trailing white space in cell arrays of strings as distinct characters. For example, 'word' is different from 'word '. If the 'legacy' flag is specified, ismember ignores trailing white space and treats 'word' the same as 'word '. Compatibility Considerations If the changes adversely affect your code, you can specify 'legacy' to preserve the behavior from R2012b and prior releases.
R2013a Functionality being removed or changed Functionality What Happens Use This Instead When You Use This Functionality Compatibility Considerations quad Still runs Replace all instances of quad with integral. integral For example, replace q = quad('x.*cos(x)',0,1) with q = integral(@(x)x.*cos(x),0,1). If quad uses an absolute error tolerance, tol, replace all instances of the tolerance argument with the 'AbsTol' or 'RelTol' name-value pair arguments.
Mathematics Functionality What Happens Use This Instead When You Use This Functionality Compatibility Considerations 'RelTol' name-value pair arguments. For example, replace q = quadl(fun,a,b,tol) with q = integral(fun, a, b, 'AbsTol', tol, 'RelTol', tol). quadv Still runs integral with the 'ArrayValued',true name-value pair argument Replace all instances of quadv with integral using the 'ArrayValued',true name-value pair argument.
R2013a Functionality What Happens Use This Instead When You Use This Functionality Compatibility Considerations bitmax Still runs flintmax Replace all instances of bitmax with flintmax. TriRep Still runs triangulation Replace all instances of TriRep with triangulation. Most of the triangulation properties and methods are the same as those in TriRep, but there are a few exceptions. See “triangulation class to replace TriRep” on page 5-14 for details.
Mathematics Functionality What Happens Use This Instead When You Use This Functionality Compatibility Considerations TriScatteredInterp Still runs scatteredInterpolant Replace all instances of TriScatteredInterp with scatteredInterpolant. See “scatteredInterpolant class that replaces TriScatteredInterp” on page 5-13 for compatibility details. Still runs Anonymous function Replace all instances of inline with an anonymous function. See Anonymous Functions for more information.
R2013a Functionality What Happens Use This Instead When You Use This Functionality Noninteger valued Warns size inputs for zeros, ones, eye, Inf, NaN, true, false, rand, randi, randn, and cell Compatibility Considerations Integer valued size inputs Replace all instances of noninteger valued size inputs with integer valued size inputs for zeros, ones, eye, Inf, NaN, true, false, rand, randi, randn, and cell. You can use floor for this conversion.
Mathematics Functionality What Happens Use This Instead When You Use This Functionality getDefaultStream Errors method of RandStream class getGlobalStream method of RandStream class Compatibility Considerations Replace all existing instances of RandStream.getDefaultStream with RandStream.getGlobalStream.
R2013a Graphics gobjects function for preallocating graphics handle array The gobjects function creates an array of graphics handles. Use this function instead of the ones or zeros function when preallocating an array to store graphics handles.
Data Import and Export Data Import and Export Reading and writing indexed and grayscale AVI files with VideoReader and VideoWriter objects The VideoReader.read method now returns an array of grayscale data when reading grayscale AVI files. The read method also reads AVI files with indexed video and a colormap using the new 'native' input argument. The VideoWriter.writeVideo method now writes grayscale AVI files, and AVI files with indexed video and a colormap.
R2013a Importing non-ASCII encoded files with textscan function The textscan function now reads text files with non-ASCII encodings. For a complete list of supported encoding schemes and the syntax for specifying the encoding, see the fopen reference page. Multichannel JP2 support in imread function By default, when reading JP2 files, the imread function now returns all image channels in the order in which they exist in the codestream. In R2012b and earlier releases, imread read up to 3 channels only.
Data Import and Export num = 1 2 3 4 5 txt = 'A' 'B' 'C' 'D' 'E' 1 2 3 4 5 1 2 3 4 5 'A' 'B' 'C' 'D' 'E' In R2011b and earlier, the command returned: num = 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 '' '' '' '' '' '' '' '' '' '' txt = '' '' '' '' '' 'A' 'B' 'C' 'D' 'E' 'A' 'B' 'C' 'D' 'E' When reading XLS files, you can use the 'basic' flag to reproduce the pre-R2012a output: [num,txt] = xlsread('filename.
R2013a Attribute Value Authentication HTTP authentication mechanism. Currently, only basic authentication is supported. Username User identifier. Password User authentication string.
Data Import and Export Functionality What Happens When You Use This Functionality? Use This Instead Compatibility Considerations auread Still runs audioread Replace all instances of auread with audioread. auwrite Still runs wavfinfo Still runs audioinfo Replace all instances of wavfinfo with audioinfo. wavread Still runs audioread Replace all instances of wavread with audioread. wavwrite Still runs audiowrite Replace all instances of wavwrite with audiowrite.
R2013a Performance fft function performance improvements on computers with new Intel and AMD processors The fft function performance improves on computers with Intel and AMD processors supporting the AVX instruction set. permute function performance improvements for 3-D and higher dimensional arrays The permute function performance improves for 3-D and higher dimensional arrays.
R2012b Version: 8.
R2012b Desktop Toolstrip that replaces menus and toolbars in MATLAB Desktop New MATLAB Desktop (5 min, 3 sec) • The Toolstrip contains components that were previously available in menus, toolbars, and the Start button. Tabs such as Home, Plots, Apps, Editor, and Variable, group functionality to support common tasks. • The Apps tab contains a gallery of apps from the MATLAB family of products. You also can install your own apps, which appear in the apps gallery.
Desktop Apps gallery that presents apps from the MATLAB product family The MATLAB desktop contains a gallery of apps from the MATLAB family of products. You can also install your own apps, which appear in the apps gallery. • To access the apps gallery, on the desktop Toolstrip, click the Apps tab, and then, on the far right of the Apps section, click the arrow . • To find and install apps written by others, click the Apps tab, and in the File section, click Get More Apps.
R2012b • The table of contents for each product is collapsed by default to maximize the space available for reading topics. Expand the table of contents from any page in the Help browser by clicking the Table of Contents button, . • Links to alphabetical lists of reference pages, such as functions or blocks, appear at the bottom of each product page.
Desktop • Custom documentation and documentation for downloadable or third-party products displays in a separate browser. To access this browser, open the Help browser and navigate to the documentation home page. Then, at the bottom of the page, click Supplemental Software. Font size in Help browser and Web browser The Help browser and Web browser now allow you to zoom in and out to adjust the font size by pressing Ctrl and + or –.
R2012b Compatibility Considerations • The Help system now requires that custom documentation files reside outside the matlabroot folder (but on the MATLAB search path). To view any installed custom documentation, open the Help browser and navigate to the documentation home page. Then, at the bottom of the page, click Supplemental Software. • The demo command no longer supports categories of MATLAB or Simulink examples.
Desktop Changes to -nojvm startup option on Mac When you start MATLAB on a Mac with the -nojvm startup option, Handle Graphics functionality is no longer supported. MATLAB will produce an error. Previous to this release, calls to Handle Graphics functionality would work but generate a warning. (For more information about the -nojvm option, see the matlab (UNIX) reference page.
R2012b Run configuration entries appear similar to this example: %% % % % @name foo @associatedFile C:\Documents\MATLAB\work\foo.m @mostRecentlyActioned true @uniqueId 695644b0:1355f0bb372:-7fb0 % Modify expression to add input arguments. % Example: % a = [1 2 3; 4 5 6]; % foo(a); foo(1,2) 2 Copy the MATLAB command in the run configuration. In the example configuration, the command is foo(1,2). 3 Open the MATLAB file associated with the run configuration that you want to keep.
Language and Programming Language and Programming Abstract attribute for declaring MATLAB classes as abstract Declare MATLAB classes as abstract by setting the class Abstract attribute. See Defining Abstract Classes for more information. Diagnostic message improvements when attempting to create an instance of an abstract class Attempting to instantiate an abstract class returns a list of abstract members and their defining classes in the error diagnostic message. The meta.
R2012b The new behavior is consistent with that of other conditional statements, such as if statements. Compatibility Considerations Code that uses enumerations in switch statements can behave differently in release R2012b than in a previous release. Cannot specify property attributes multiple times Classes can define a property attribute only once in a properties block. Defining the same attribute more than once in a properties block causes an error when the class is instantiated.
Language and Programming • To convert a .NET jagged array to a MATLAB array, see How MATLAB Handles Jagged Arrays. • To convert a MATLAB array to a .NET jagged array, see Pass MATLAB Arrays as Jagged Arrays. MATLAB does not support: • Autoconversion of char or cell arrays to jagged array arguments. For more information, see Call .NET Method with System.String Jagged Array Arguments. • Autoconversion of MATLAB arrays to multidimensional jagged array arguments. For more information, see Call .
R2012b Function Recommended Modification strread Replace all existing instances of strread with textscan. For example, replace [a,b,c] = strread(...) with C = textscan(...) [a,b,c] = deal(C{:}) Unlike strread, the textscan function converts numeric values to the specified data type, allowing preservation of integer types. strvcat Replace all existing instances of strvcat with char. Unlike strvcat, the char function does not ignore empty strings.
Mathematics Mathematics Performance improvements and multithreading for airy, psi, and Bessel functions The following functions show improved performance: besselh, besseli, besselj, besselk, bessely, airy, and psi. ddensd function that solves delay differential equations of neutral type with state-dependent delays The ddensd function solves neutral delay differential equations that involve both the solution and its first derivative evaluated in the past: y '(t) = f(t, y(t), y(dy1),...,y(dyj), y '(dyp1),..
R2012b Complex number support for trigonometry degree functions The sind, cosd, tand, asind, acosd, atand, cscd, cotd, secd, acscd, asecd, and acotd functions now support complex values. For example, sind(10+i) returns 0.1737 + 0.0172i. Likewise, asind(2) now returns the complex angle 90.0000 -75.4561i.
Mathematics Functionality What Happens Use This Instead When You Use This Functionality besseli, besselj, a function handle and the mixed-orientation vectors to besselk, and bsxfun. bessely. For example, passing a row vector followed by a column vector: J= besselj(rowNu, colZ) or passing a column vector followed by a row vector: J= besselj(colNu, rowZ) Compatibility Considerations your code in one of two ways: • Call meshgrid or ndgrid to construct the full grid first.
R2012b Functionality What Happens Use This Instead When You Use This Functionality Compatibility Considerations Y = psi(k0:k1,X) Errors Replace all instances of Y = psi(k0:k1,X) with Y = psi(k,X), where k is a scalar. To modify your code, loop through the values k0:k1. For example: Y = psi(k,X) where k is a scalar specifying the kth derivative of ψ at the elements of X. for k=k0:k1 Y(:,k) = psi(k,X); end In the future, size(Y) will be size(X). Modify any code that depends on size(Y).
Data Import and Export Data Import and Export Data import from delimited and fixed-width text files using Import Tool The Import Tool now allows you to preview data in delimited and fixed-width text files and select ranges of data to import. You also can define rules for handling nonnumeric values, and import data as column vectors, a matrix, a cell array, or a dataset array, in a single step. This tool opens instead of the Import Wizard for text files. For more information, watch this video.
R2012b Reading and writing of BigTIFF image files larger than 4 GB MATLAB now supports BigTIFF image files larger than 4 GB. You can use imread or the Tiff object. Reading of XLSM, XLTX, and XLTM files on all platforms with xlsread function The xlsread function now reads data from XLSM, XLTX, and XLTM files on all platforms. Previously, this functionality was available only on Microsoft Windows systems with Excel software.
Data Import and Export Attribute Value Charset Character encoding, determined from the headers of the file For example, to download Web content from a the MATLAB Central File Exchange while specifying a timeout duration of 5 seconds, type urlread(‘http://www.mathworks.
R2012a Version: 7.
R2012a Desktop Tools and Development Environment Transpose and Sort Variables in the Variable Editor To transpose or sort variables, use the right-click menu options in the Variable Editor. You can sort variables based on single or multiple column selections. The columns you select can be noncontiguous and should always include all the rows. Also, you can create variables from noncontiguous data selections. For more information see the New Variable Editor Features in Release 2012a demo.
Desktop Tools and Development Environment MATLAB Dock menu. Window associated withMATLAB. Document open in the MATLAB Editor. Start another MATLAB running on your computer. Improved Rendering in MATLAB Web Browser The MATLAB Web browser uses a new HTML rendering engine on Microsoft Windows systems. This new engine provides better rendering, particularly on 64-bit systems.
R2012a Technical Support Requests Use Proxy Settings You can submit Technical Support requests from MATLAB by selecting Help > Submit a MathWorks Support Request. In previous releases, if you were connected to the Internet via a proxy server, you had to save the request form to a text file, and then email it to MathWorks. Starting with R2012a, you can submit the request directly from the form.
Desktop Tools and Development Environment window containing these characters, you can type the characters, but if you display the contents of the variable, the characters are corrupted. Or if you share MATLAB text files with a user on a computer with different locale settings, they might see corrupted text. The characters are rendered in that user’s locale, not the language it was written in. MATLAB text files include scripts and user-defined functions and classes.
R2012a Technical Q&A QA1067 “Setting environment variables for user processes” at http:// developer.apple.com/library/mac/#qa/qa1067/_index.html. 2 Close MATLAB if it is currently running. 3 Start MATLAB by double-clicking the MATLAB icon in the Applications folder. How to Convert Text File Encoding to UTF-8 Before converting a file, copy the file to a new directory. Use the Mac OS X TextEdit application to convert the file encoding. For example: 1 Open a MATLAB text file with TextEdit.
Desktop Tools and Development Environment fclose(fpOut); end To use this function, you need to know the current encoding, from_encoding. • For MATLAB R2010b or later: ret = feature('locale'); from_encoding = ret.encoding; • For MATLAB R2008a through R2010a: ret = feature('locale'); [t,r] = strtok(ret.ctype,'.'); from_encoding = r(2:end); For example, a file, myFile.m, was created with MATLAB encoding set to ISO-8859-1. To convert the file to UTF-8, type: convert_file_encoding('myFile.m','myFileUTF8.
R2012a Mathematics New Integral Functions The new functions, integral, integral2, and integral3 perform numerical integration with additional support for nonrectangular and unbounded regions of integration. They are the recommended functions for performing quadrature. Performance Enhancements The following functions show improved performance: • Arithmetic and similar basic math functions for double, single, and integer data types. • The grid-based interpolation functions, interp2, interp3, and interpn.
Mathematics Specify 'sorted' if you want the elements in the output array to be in sorted order. For example: C = unique([9 2 2],'sorted') returns C = [2 9]. Set Functions Changing Behavior in a Future Release In a future release, the behavior of unique, union, intersect, setdiff, setxor, and ismember will change.
R2012a input argument to unique, union, intersect, setdiff, setxor, and ismember. For example: [C,IA,IC] = unique([9 9 1],'R2012a') C = 1 9 IA = 3 1 IC = 2 2 1 If the changes adversely affect your code, you can specify 'legacy' to preserve the current behavior.
Mathematics Interpolation and Computational Geometry Functionality Being Removed or Changed Functionality What Happens Use This Instead When You Use This Functionality Compatibility Considerations interp1q Still Runs interp1 Replace all instances of interp1q with interp1. interp1(..., 'cubic') Still Runs interp1(..., 'pchip') Replace all instances of interp1(..., 'cubic') with interp1(..., 'pchip'). Passing nonuniformly Warns spaced points or grid to: interp1(..., interp2(..., interp3(...
R2012a Functionality What Happens Use This Instead When You Use This Functionality Compatibility Considerations interp1(X, Y, Xq, [], ...) where [] specifies the default interpolation method Still Runs interp1(X, Y, Xq, 'linear', ...) Replace all instances of interp1(X, Y, Xq, [], ...) with interp1(X, Y, Xq, 'linear', ...). interp1(x,V,..) where x is a vector and V is an array representing multiple value sets.
Mathematics Functionality What Happens Use This Instead When You Use This Functionality Passing mixed Still Runs orientation vectors to interp2: Vq = interp2(x, y, V, xq, yq) Specifically, if one or both of the following are true: • One of x and y is a row vector and the other is a column vector. • One of xq and yq is a row vector and the other is a column vector. Construct the full grid with meshgrid first. Alternatively, use griddedInterpolant if you have a large data set.
R2012a Functionality What Happens Use This Instead When You Use This Functionality Compatibility Considerations Passing mixed orientation vectors to interp3: interp3(x, y, z, V, xq, yq, zq) Specifically, if one or both of the following are true: Still Runs Modify all instances that pass mixed orientation vectors to interp3. You can modify your code in one of two ways: • x, y, and z are a combination of row and column vectors. • xq, yq, and zq are a combination of row and column vectors.
Mathematics Functionality What Happens Use This Instead When You Use This Functionality Passing mixed Still Runs orientation vectors to interpn: interpn(x1,x2,...,xn, V, x1q,x2q,...,xnq) Specifically, if one or both of the following are true: • x1,x2,...,xn are a combination of row and column vectors. • x1q,x2q,...,xnq are a combination of row and column vectors. Construct the full grid with ndgrid first. Alternatively, use griddedInterpolant if you have a large data set.
R2012a Functionality interp1(..., interp2(..., interp3(..., interpn(..., What Happens Use This Instead When You Use This Functionality *METHOD) Still Runs *METHOD) *METHOD) Errors for *METHOD) invalid input interp1(..., interp2(..., interp3(..., interpn(..., Compatibility Considerations METHOD) METHOD) METHOD) METHOD) data vq= Still Runs griddata(x,y,v,xq,yq) where xq is a row vector and yq is a column vector.
Mathematics Functionality What Happens Use This Instead When You Use This Functionality Compatibility Considerations dsearch Errors DelaunayTri/ nearestNeighbor Replace all existing instances of dsearch with DelaunayTri/ nearestNeighbor. convhull(..., OPTIONS) Errors Omit the OPTIONS argument Remove the OPTIONS when you call convhull. argument from all instances that pass it to convhull. delaunay(..., OPTIONS) Errors Omit the OPTIONS argument Remove the OPTIONS when you call delaunay.
R2012a Functionality What Happens Use This Instead When You Use This Functionality Compatibility Considerations mimofr Still Runs Not Applicable Remove all instances of mimofr from your existing code. RandnAlg property of RandStream class Warns NormalTransform property of RandStream class Replace all existing instances of RandnAlg with NormalTransform. setDefaultStream Warns method of RandStream class setGlobalStream method of RandStream class Replace all existing instances of RandStream.
Mathematics Functionality What Happens Use This Instead When You Use This Functionality Passing mixed Warns orientation input vectors to besselh, besseli, besselj, besselk, and bessely. For example, passing a row vector followed by a column vector: J= besselj(rowNu, colZ) or passing a column vector followed by a row vector: J= besselj(colNu, rowZ) Construct the inputs with ndgrid or meshgrid first. Alternatively, you can pass a function handle and the mixed orientation vectors to bsxfun.
R2012a Functionality What Happens Use This Instead When You Use This Functionality Compatibility Considerations Y = psi(k0:k1,X) Warns Replace all instances of Y = psi(k0:k1,X) with Y = psi(k,X), where k is a scalar. To modify your code, loop through the values k0:k1. For example: Y = psi(k,X) where k is a scalar specifying the kth derivative of ψ at the elements of X. for k=k0:k1 Y(:,k) = psi(k,X); end In the future, size(Y) will be size(X). Modify any code that depends on size(Y).
Data Analysis Data Analysis 7-21
R2012a Programming xlsread Reads XLSX Files on All Platforms The xlsread function now reads data from XLSX files on all platforms, including support for specifying the range and worksheet number. Previously, this functionality was available only on Microsoft Windows systems with Excel software. VideoWriter Supports MPEG-4 Files on Windows 7 Systems VideoWriter now creates MPEG-4 files with the extension .mp4 or .m4v on Windows 7 systems. For more information, see the VideoWriter reference page.
Programming % Comment in file 1 2 3 4 5 6 In previous releases, t = importdata('test.txt',',') returned a numeric array: t = 1 4 2 5 3 6 In this release, the same code returns a cell array: t = '% Comment in file' '1 2 3' '4 5 6' If you remove the incorrect comma delimiter, t = importdata('test.
R2012a 3.141593e+00 Conversion of Error and Warning Message Identifiers For R2012a, error and warning message identifiers have changed in MATLAB. Compatibility Considerations If you have scripts or functions that use message identifiers that changed, you must update the code to use the new identifiers. Typically, message identifiers are used to turn off specific warning messages, or in code that uses a try/catch statement and performs an action based on a specific error identifier.
Programming • Events – ListenAccess and NotifyAccess With this release, you can specify values for these attributes only explicitly as either the appropriate character string or a meta.class object returned by the ? operator, or a cell array of character strings and/or meta.class objects. See Specify Access to Class Members for more information. Method Declared as Abstract and Private Now Errors In previously releases, declaring a method as both Abstract and Access = private did not cause an error.
R2012a • ncread • ncreadatt • ncdisp • ncinfo • netcdf.open To use these functions to access data on remote servers using OPeNDAP protocol, specify the URL instead of a file name. Upgrades to Scientific File Format Libraries The following table lists upgrades to scientific file format libraries used by MATLAB. Library Version NetCDF 4.1.3 (upgraded from 4.1.
Programming Functionality What Happens Use This Instead Compatibility Considerations When You Use This Functionality? helpdesk Still runs doc Replace all instances of helpdesk with doc. helpwin Still runs doc Replace all instances of helpwin with doc. info Warns Remove all instances of info. Find information about MathWorks at www.mathworks.com/ company/aboutus/ contact_us. mmreader Warns, creates VideoReader a VideoReader object Replace all instances of mmreader with VideoReader. mmreader.
R2012a Graphics and 3–D Visualization 7-28
Creating Graphical User Interfaces (GUIs) Creating Graphical User Interfaces (GUIs) 7-29
R2012a External Interfaces/API Changes to Compiler Support New Compiler Support MATLAB Version 7.14 (R2012a) supports these new compilers for building MEX-files on Linux 64- and 32-bit platforms: • GNU gcc Version 4.4.6 MATLAB supports these new compilers for building MEX-files on Windows 64- and 32bit platforms: • Intel Visual Fortran Composer XE 2011 SP1 (12.1) Discontinued Compiler Support MATLAB no longer supports the following compilers: Windows 64-Bit Platforms • Microsoft Visual Studio® 2010 (10.
External Interfaces/API Version Support for COM ProgID Values You can specify version-specific Programmatic Identifiers (ProgID) for MATLAB Version 7.14 (R2012a) and later. • MATLAB.Desktop.Application • MATLAB.Application • MATLAB.Application.Single, to specify a dedicated server.
R2011b Version: 7.
R2011b Desktop Tools and Development Environment Command Window Error Messages Reformatted for Improved Readability and Navigation Error messages in the Command Window no longer appear with question marks or arrows. In addition, error messages for each function now provide a link to that function’s documentation. The following images show examples of the differences in presentation: • Built-in functions: • MATLAB Version 7.13 (R2011b) • MATLAB Version 7.
Desktop Tools and Development Environment Editor New Desktop features and changes introduced in this version are: Automatically Renaming All Variables and Functions in File Under certain conditions, as you rename a variable or function, a tooltip opens. The tooltip indicates that MATLAB can rename all instances of the function or variable in the current file. This is helpful in preventing errors that result if you change names manually and overlook or mistype one or more instances of the name.
R2011b file, you may have to use a different encoding scheme. UTF-8 is often used to handle multilingual characters. In R2011b, to handle multilingual characters, you can change the default encoding scheme to UTF-8 by switching the MathWorks locale database. Note that changing the default encoding scheme might cause characters other than 7-bit ASCII characters in existing text files to be garbled. See How the MATLAB Process Uses Locale Settings for more information.
Desktop Tools and Development Environment fpOut = fopen(outfile, 'w', 'n', 'UTF-8'); while feof(fpIn) == 0 lineIn = fgets(fpIn); fwrite(fpOut, lineIn, 'char'); end fclose(fpIn); fclose(fpOut); end Compatibility Considerations In a future release, the UTF-8 version of the MathWorks locale database will be the default on Mac OS X systems.
R2011b Mathematics New Functionality for Grid-Based Interpolation MATLAB includes a new class, griddedInterpolant, for grid-based interpolation. griddedInterpolant works with grids in ndgrid format and complements the functionality provided by interpn to provide improved performance and memory efficiency.
Mathematics meshgrid(1:3,1:4,1:5) will now assume a missing third output argument and return 3-D output arrays x and y. Previously, the third input was ignored and the function returned 2-D arrays for x and y. • When a single argument is passed to ndgrid, the dimensionality of the output arrays is dictated by the number of output arguments. ndgrid has been revised to maintain consistency in the case of a single input and output. ndgrid will now degenerate naturally to support 1-D outputs.
R2011b Functionality 8-8 What Happens Use This Instead When You Use This Functionality property to a function that evaluates the matrix and set the MassStateDependency property to none. Compatibility Considerations For more information, check the supported settings of Mass and MassStateDependency in the odeset properties.
Data Analysis Data Analysis 8-9
R2011b Programming Load and Save Parts of Variables in V7.3 MAT-Files The new matfile function creates a matlab.io.MatFile object that can efficiently load or save to parts of variables in Version 7.3 MAT-Files. Loading part of a variable requires less memory than loading the entire contents of that variable. For example, these commands create a MAT-file and add data to part of variable X: new = matfile('newfile.mat','Writable',true); new.
Programming Compatibility Considerations If you have a program that calls another program with nonmatching letter case, the call to this function now throws an error. New narginchk Function Replaces nargchk narginchk is a new function that replaces and adds to the functionality of nargchk. The narginchk function differs from nargchk in the following ways: • narginchk accepts only 2 inputs: the minimum and maximum allowable number of arguments one can pass to the currently running function.
R2011b Two Functions Added to netCDF Low-Level Package To Aid Performance The NetCDF low-level package now includes two functions that you can use to improve performance: • netcdf.getChunkCache – Return default chunk cache settings. • netcdf.setChunkCache – Set the default chunk cache settings. Improved Performance for TIFF Input and Output Input and output performance for TIFF files has been improved, when using imread and imwrite.
Programming If you attempt to create a PreGet or PostGet listener for a property that is not declared as GetObservable, MATLAB issues a MATLAB:class:nonGetObservableProp warning. In previous releases, MATLAB did not warn in either case, but did not call the listener callback function when a set or get event occurred. In a future release, these warnings will become errors.
R2011b end end Then call the built-in version of disp: >> builtin('disp',TestClass.empty) 0x0 empty TestClass Properties: PropertyA Methods In previous releases, calling the built-in disp function did not display anything with empty objects. MATLAB Warns if Class Defines Property as Dependent and Constant MATLAB now issues a warning if a class defines properties as both Dependent and Constant. In a future release, this warning will become an error.
Graphics and 3-D Visualization Graphics and 3-D Visualization 8-15
R2011b Creating Graphical User Interfaces (GUIs) 8-16
External Interfaces/API External Interfaces/API Changes to Compiler Support New Compiler Support MATLAB Version 7.13 (R2011b) supports these new compilers for building MEX-files on Windows 64- and 32-bit platforms: • Microsoft Windows Software Development Kit for Windows 7 and .NET Framework 4, Version 7.1 • Intel C++ Composer XE 2011 • Intel Visual Fortran Composer XE 2011 MATLAB Version 7.13 (R2011b) supports the following new compiler for building MEXfiles on Mac OS X 64-bit platforms: • Apple Xcode 4.
R2011b Compatibility Considerations If your MEX-file uses the char16_t type, you must include the appropriate header file for your compiler in order to build the MEX-file. For example, the header file for Microsoft Visual Studio Version 10.0 is yvals.h. New Support for Features in Microsoft .NET Framework • “Support for Cell Arrays” on page 8-18 • “Support for Auto-Conversion of Multidimensional Arrays” on page 8-18 Support for Cell Arrays Creating Cell Arrays from .
External Interfaces/API • Different results for: NET.convertArray(rand(0,1,1)) As of R2011a, MATLAB creates a System.Double[,]. In R2011b, MATLAB creates a System.Double[]. COM Automation Server Error Message Formatting Although some MATLAB Command Window messages have been reformatted (see “Error Messages Reformatted for Improved Readability and Navigation” on page 8-2), error messages from the Execute function can still be identified with leading ??? characters.
R2011a Version: 7.
R2011a Desktop Tools and Development Environment Desktop New features and changes introduced in Version 7.12 (R2011a) are: MATLAB Menus Display at the Top of the Apple Mac Screen Previously when running on Apple Mac, menus displayed at the top of the MATLAB desktop. In addition, if a tool was undocked from the desktop, the menu displayed at the top of that tool. Now, to be consistent with the behavior of most Mac applications, MATLAB menus display at the top of the Mac screen.
Desktop Tools and Development Environment As of R2011a, the Help Browser View > Page Location dialog box (shown above) is available on Japanese language systems. Submit Support Requests Directly from MATLAB As of this release, if you need assistance from MathWorks product support, you can request it directly from the MATLAB desktop. Selecting the Submit a MathWorks Support Request option from the Help menu opens a login dialog for you to provide the e-mail address and password for your MathWorks account.
R2011a • “Options Names Changed for Locating and Opening Files and Folders Outside the MATLAB Desktop” on page 9-4 • “Comparison and Merging of MAT-file Variables” on page 9-5 • “Filter Results in Folder Comparisons” on page 9-5 • “Showing Differences Only in Text Comparisons” on page 9-5 Renaming Files and Folders in the Current Folder Browser Now Reflected in the Editor If a file is open in the Editor and you: • Rename that file in the Current Folder browser, then the file name updates in the Editor • Re
Desktop Tools and Development Environment Comparison and Merging of MAT-file Variables When comparing MAT-files, you now can view details of differences between variables to see which fields of a structure are different and to view differences in individual elements of an array. You can merge changes between files by copying variables from one file to another. For details, see Comparing MAT-Files.
R2011a Mouse pointer (I) Cursor Now, this phrase is removed from the M-Lint tooltip. You can still use the keyboard shortcut, Alt+Enter, to apply the autofix, but your cursor must be within the code to which the autofix will be applied. Compatibility Considerations When an M-Lint tooltip is open and you want to apply the autofix for that warning, click the Fix button.
Desktop Tools and Development Environment Shared Scope Color Preferences Apply to Persistent and Global Variables Previously, the preference for Variables with shared scope was labeled Nonlocal variables and it affected the color of variables within nested functions only. Now, the Editor also applies this color preference to variables you declare as global or persistent. This feature makes it easier to find reuses of a variable, which sometimes indicate variable scoping problems.
R2011a notebook -setup MathWorks recommends you run this command whenever you install a new version of MATLAB.
Mathematics Mathematics New Function rng The new rng function controls the random number generator used by rand, randi, and randn. For a demonstration, see this instructional video. rng is the recommended alternative to former rand and randn input syntaxes 'seed', 'state' and 'twister'. rng is a simpler alternative to the RandStream class. To use rng, see the documentation on Updating Your Random Number Generator Syntax.
R2011a Compatibility Considerations Since the QR factorization is not unique, these different results are still correct. Ensure that your code does not depend on the values of the elements of the factors Q and R. Functionality Being Removed Function Name What Happens When You Use This Function Use This Function Instead Compatibility Considerations bessel Errors besselj Replace all instances of bessel with besselj. intwarning Errors None Remove all instances of intwarning from your code.
Mathematics Function Name What Happens When You Use This Function Use This Function Instead Compatibility Considerations rand or randn with the 'seed', 'state' or 'twister' inputs Still runs rng See Updating Your Random Number Generator Syntax in the MATLAB Mathematics documentation.
R2011a Programming Regenerate P-code Files Built Before Version 7.5 To enable the MATLAB software to take advantage of significant performance improvements planned for a future release, MathWorks recommends that you begin to regenerate any P-code files you use that were generated prior to MATLAB 7.5 (release R2007b). P-code files generated in releases earlier than R2007b will not run in this future release with the new performance features enabled. Compatibility Considerations Using MATLAB 7.
Programming device ID (other than the default, -1), check whether you need to change the ID. To determine your device IDs, call audiodevinfo. • audioplayer does not support overlapping playback. For example, in this code, the second call to play returns an error: chirpData = load('chirp.mat'); chirpObj = audioplayer(chirpData.y, chirpData.Fs); gongData = load('gong.mat'); gongObj = audioplayer(gongData.y, gongData.
R2011a package. Using these functions, you can create a new NetCDF file based on the schema of an existing file, convert files between NetCDF formats, and create a new NetCDF file by merging together two existing NetCDF files. • nccreate — Create variable in NetCDF file • ncdisp — Display contents of netCDF file • ncinfo — Return information about netCDF file • ncread — Read data and attributes from netCDF file • ncreadatt — Read global attribute or attribute associated with variable from netCDF file.
Programming • hdf5info is not recommended. Use h5info instead. Two New Functions Added to CDFLIB Package The MATLAB interface to the CDF library now includes the following new functions. • cdflib.setFileBackward — Sets the backward compatibility mode. If the backward mode is set to on, files created can be read by clients using version 2.7 of the library • cdflib.getFileBackward — Return the current backward compatibility mode setting.
R2011a The following example shows such a statement case and part of the resulting warning: simulink.badname Warning: Direct access of structure fields returned by a function call (e.g., call to simulink) is not allowed. ... In addition to being misleading, handling this case with merely a warning also allows the function (simulink, in this case) to execute, regardless of the fact that the name to the right of the dot is invalid. In MATLAB version 7.12 (R2011a), this type of statement throws an error.
Programming Growing Arrays Is Faster This release improves the performance of growing an array in the trailing dimension if that array has not been preallocated. Error Checking Improved MATLAB provides more effective error checking and returns new error messages in the following cases. Nonstatic Method A reference to a class method using the class name is valid only in cases where the method is static. Therefore, code of the form: ClassName.
R2011a Functions and Function Elements Being Removed Function or Function Element Name What Happens When You Use the Function or Element? Use This Instead Compatibility Considerations audioplayer(BufferLength) No effect (no-op) Remove all instances of BufferLength. audioplayer(NumberOfBuffers) No effect (no-op) Remove all instances of NumberOfBuffers. hdf5read Still runs h5read Replace with preferred function. hdf5write Still runs h5write Replace with preferred function.
Graphics and 3-D Visualization Graphics and 3-D Visualization Plot Catalog with a New Look, More Plots, and Diagnostics The Plot Catalog GUI now offers a wider variety of plotting options. Its appearance and operation closely resemble the Plot Selector, with short descriptions of each graph type and a search box. It also categorizes graphs by type and by toolbox, and lets you designate personal Favorites (the top menu category).
R2011a sizes, and ordering. If validation fails, the Plot Selector provides a diagnostic message in its Help pane and does not let you run the plotting function. In addition to MATLAB plots, the Plot Catalog offers the same set of choices as the Plot Selector.
Creating Graphical User Interfaces (GUIs) Creating Graphical User Interfaces (GUIs) Do not Repopulate Menus on the Mac from Inside Their Callbacks In R2011a, figures display their menus on the Mac screen menubar instead of across the top of figure windows. Prior to R2011a, GUIs could create dynamic menus using callbacks that completely deleted, and then repopulated the contents of menus.
R2011a Functions and Function Elements Being Removed Function or Function Element Name What Happens When You Use the Function or Element? Use This Instead Compatibility Considerations pagesetupdlg Warns printpreview printpreview provides all functionality and more, except for some unit choices. Update any GUIs that call pagesetupdlg to do page setup.
External Interfaces/API External Interfaces/API Changes to Compiler Support New Compiler Support MATLAB Version 7.12 (R2011a) supports these new compilers for building MEX-files: Linux (64- and 32-Bit) Platforms • GNU gfortran 4.3.x Apple Mac 64-Bit Platforms • Apple Xcode 3.2 with gcc 4.2.x Compiler Support To Be Phased Out Support for the following compilers will be discontinued in a future release, at which time new versions will be supported.
R2011a Mac 64-Bit Platforms • Xcode 3.1 with gcc 4.0.1 Compatibility Considerations To ensure continued support for building your MEX-files, consider upgrading to another supported compiler. For an up-to-date list of supported compilers, see the Supported and Compatible Compilers Web page. Changes to Shared Library Compiler Support In MATLAB Version 7.12 (R2011a), you can use the loadlibrary command with any supported compiler.
External Interfaces/API Compatibility Considerations MATLAB displays an error when you use the enumeration command to return arrays of .NET enumeration objects. To read enumeration members into MATLAB arrays, see Refer to a .NET Enumeration Member. MATLAB enumerations no longer inherit from the MATLAB int32 class. You cannot create arrays of .NET enumeration objects. For example, if you type: a = [EnumTest.Colors.Red EnumTest.Colors.
R2010bSP2 Version: 7.11.
R2010bSP1 Version: 7.11.
R2010b Version: 7.
R2010b Desktop Tools and Development Environment Desktop New desktop features and changes introduced in Version 7.
Desktop Tools and Development Environment • MATLAB keyboard shortcuts available in Version 7.9 (R2009a) and earlier releases • Keyboard shortcuts sets created by other MATLAB users For details, see Download Keyboard Shortcut Settings Files from File Exchange . MATLAB Provides Enumeration Template MATLAB provides a template for classes that define enumerations. Enumeration classes enable you to define a fixed set of names representing a particular type of value. Choose File > New > Enumeration.
R2010b download the latest translated documentation on the Japanese documentation start page. Managing Files New features and changes introduced in Version 7.
Desktop Tools and Development Environment in the archive are saved and up-to-date. For details see, Viewing File Details Without Opening Files or watch the File Preview Enhancements video demo. Compare Zip Files and Folders You can now compare any combinations of zip files, folders, and Simulink Manifests with the Comparison Tool. Right-click files or folders in the Current Folder browser and choose Compare Selected Files/Folders, or Compare Against > Choose.
R2010b For information on other save options, see Save Files. Enhanced Comment Wrapping The enhanced ability to wrap MATLAB comments includes: • Wrapping an entire block of comments by selecting File > Wrap Comments. There is no need to select the block of comments first. For details see Wrap Comments Manually. • Specifying where you want column counting to begin.
Desktop Tools and Development Environment • Change Current Folder to folder-name • Add folder-name to Search Path or Remove folder-name from Search Path, respectively • Locate on Disk This option locates the document in your operating system file browser. It is not available on Linux platforms. • Copy Full Path to Clipboard Open As Text Option You can use the File > Open as Text option to open a file in the Editor as a text file, even if the file type is associated with another application or tool.
R2010b Mathematics 64-Bit Integer Arithmetic Core MATLAB arithmetic functions now support int64 and uint64 classes natively. Functions added are plus (+), minus (–), uminus (–), times (.*), rdivide (./), ldivide (.\), power (.^), rem, mod, bitcmp, any, all, sum, diff, colon (:), sign, accumarray, and bsxfun. New Utility Functions: isrow, iscolumn, ismatrix New functions isrow, iscolumn, and ismatrix provide basic information about inputs.
Mathematics All degree-based trigonometric functions (sind, cosd, tand, cotd, secd, cscd) and their inverses (asind, acosd, atand, acotd, asecd, acscd) display significantly enhanced performance. Functions Being Removed Function Name What Happens When You Use This Function Use This Function Instead Compatibility Considerations bessel Warns besselj Replace all instances of bessel with besselj.
R2010b Data Analysis Arrays of Time Series Objects Supported MATLAB now enables you to create arrays of timeseries objects. In Version 7.10 (R2010a) and before, timeseries objects behaved as arrays, but some array behavior was overridden. Compatibility Considerations Note: It is likely that this change is important to you only if you write code that uses timeseries objects. In Version 7.11 (R2010b), all of the overridden behaviors for the functions listed in the table that follows are removed.
Data Analysis Function or Function Element Name What Happens When You Use the Function or Element? Use This Instead Compatibility Considerations size (timeseries) No error or warning [timeseries.Length 1] Replace code such as: size(ts) with: [ts.
R2010b Programming arrayfun Accepts Array of Objects The arrayfun function now accepts an array of objects as an input. The output can also be a scalar object, as long as the UniformOutput flag is set to false. Comparing Object Arrays that Contain NaNs In previous versions of MATLAB, calling isequalwithequalnans to compare identical arrays of objects that contain one or more NaN (Not a Number) values incorrectly returned false.
Programming New Enumeration Classes MATLAB provides support for classes that define enumerations. Enumeration classes enable you to define a fixed set of names representing a particular type of value. See Enumerations for more information. Use this link to watch a video that introduces enumerations: Play demo New Functionality for Writing Video Files The new VideoWriter function allows you to create AVI files on all platforms.
R2010b • ij2ll • ll2ij • rs2ll To view the help for these functions, use the help command at the MATLAB prompt, as in the following example: help hdfgd New HDF5 Low-Level Functions The MATLAB interfaces to the HDF5 C library now include the following new functions. • H5A.open_by_idx • H5A.open_by_name • H5D.get_access_plist • H5I.is_valid • H5L.copy • H5L.get_name_by_idx • H5P.set_chunk_cache • H5P.get_chunk_cache • H5P.set_copy_object • H5P.
Programming • netcdf.defGrp • netcdf.inqNcid • netcdf.inqGrps • netcdf.inqVarIDs • netcdf.inqDimIDs • netcdf.inqGrpName • netcdf.inqGrpNameFull • netcdf.inqGrpParent • netcdf.defVarChunking • netcdf.defVarDeflate • netcdf.defVarFill • netcdf.defVarFletcher32 • netcdf.inqVarChunking • netcdf.inqVarDeflate • netcdf.inqVarFill • netcdf.inqVarFletcher32 To view the help for these functions, use the help command at the MATLAB prompt, as in the following example: help netcdf.
R2010b imread and imwrite Can Now Handle N-channel J2C JPEG 2000 Files You can now use the imread and imwrite functions with n-channel J2C JPEG 2000 files. J2C files are raw JPEG2000 codestreams that usually have the file extension .j2c or .j2k. J2C files don't contain color space, color palette, capture resolution, display resolution and vender specific information.
Programming Functions and Function Elements Being Removed Function or Function Element Name What Happens When You Use the Function or Element? Use This Instead Compatibility Considerations fileparts return argument 4 (file version) Warns, returns empty fourth argument No alternative; file versions are unsupported Call fileparts with three return arguments: [path_name file_name file_extension] mmreader Still runs, creates a VideoReader object VideoReader Replace all existing instances of mmreader
R2010b that the property was missing. In this case, MATLAB did not build a struct to pass to loadobj. MATLAB now returns a struct in this case.
Graphics and 3-D Visualization Graphics and 3-D Visualization Print –dmfile and printdmfile Issue Deprecation Warnings The –dmfile print command option and the printdmfile function now issue a deprecation warning. Both option and function will be removed in a subsequent release. The –dmfile option and the printdmfile function were used by GUIDE. Compatibility Considerations Remove any use of print –dmfile or printdmfile from your code.
R2010b Creating Graphical User Interfaces (GUIs) Functions and Function Elements Being Removed The uitabgroup and uitab GUI components are undocumented features that provide tabbed panels to GUIs that you create programmatically. The current method of calling these functions and some of their properties will change in a future release. MathWorks has never supported their use.
Creating Graphical User Interfaces (GUIs) uitab and uitabgroup Migration Document. Existing code for these functions is unlikely to work in R2010b going forward.
R2010b External Interfaces/API Changes to Compiler Support New Compiler Support MATLAB Version 7.11 (R2010b) supports these new compilers for building MEX-files: Microsoft Windows (64- and 32-Bit) Platforms • Microsoft Visual Studio 2010 (10.0) Professional • Microsoft Visual Studio 2010 (10.0) Express Linux (64- and 32-Bit) Platforms • GNU gcc Version 4.3.
External Interfaces/API Compatibility Considerations To ensure continued support for building your MEX-files, consider upgrading to another supported compiler. For an up-to-date list of supported compilers, see the Supported and Compatible Compilers Web page. -largeArrayDims Option to MEX Will Become Default in Next Release of MATLAB In the next release of MATLAB, the mex command will change to use the large-arrayhandling API by default. This means the -largeArrayDims option will become the default.
R2010b These types of programming errors are sometimes difficult to track down. Segmentation violations do not always occur at the same point as the logical errors that cause them. If a program writes data to an unintended section of memory, an error might not occur until the program reads and interprets the corrupted data. Consequently, a segmentation violation can occur after the MEX-file finishes executing. One cause of memory corruption is to pass a null pointer to a function.
External Interfaces/API • VT_I8 — signed int64 • VT_UI8 — unsigned int64 • Unsigned integer 12-25
R2010a Version: 7.
R2010a Desktop Tools and Development Environment Desktop New Features Video for R2010a For an overview of the major new features in the MATLAB Desktop Tools and Development Environment area, watch this video demo. Startup and Shutdown AUTOMOUNT_MAP Environment Variable No Longer Used by MATLAB On UNIX systems, MATLAB no longer uses the AUTOMOUNT_MAP environment variable, the path prefix map for automounting. Previously, MATLAB set the value of the variable in .matlab7.
Desktop Tools and Development Environment Ability to Compare Sets of Keyboard Shortcuts You can now compare one set of keyboard shortcuts to another. This enables you, for example, to see what is different between the current Windows default keyboard shortcuts and those that were the defaults in MATLAB Version 7.8 (R2009a) and earlier. For details, see Compare Sets of Keyboard Shortcuts.
R2010a Improved Instructions and Examples for Adding Help and Demos to the Help Browser The MATLAB documentation now includes more details about how to display your own HTML help and demos. In particular, the documentation clarifies procedures for setting up files and folders and provides three new XML file templates that you can inspect, copy, and modify. The documentation also adds a new complete working example, called the Upslope Area Toolbox.
Desktop Tools and Development Environment Search History Persists Between Sessions The Help browser can now recall searches you have made across MATLAB sessions. Your search history and search hints display as separate lists in a drop-down pane as you type in the search field. Select Show Search History from the pop-up menu to the right of the search field, or press the down arrow key in the search field when it is empty.
R2010a Hide Search Results Previews You can now choose not to see the one-line descriptions of search results called previews. To toggle all previews off, right-click in the Search Results pane of the Help Navigator and choose Hide Previews. The search results listing is smaller so you can scan it quickly when you hide previews. To see previews again, right-click in the Search Results pane, and choose Show Previews.
Desktop Tools and Development Environment Managing Files • “Create and Expand Zipped Archives from Current Folder Browser” on page 13-7 • “Visual Aids for Identifying Files Inaccessible to MATLAB” on page 13-7 • “Ability to Remove Folders and Subfolders from the Path Using the Current Folder Browser” on page 13-8 • “Enhancements for File and Folder Comparisons” on page 13-8 Create and Expand Zipped Archives from Current Folder Browser Effective this release, the capability to create and expand, and archive
R2010a You can also customize or disable this feature. For more information, see Preferences for the Current Folder Browser and Viewing Files and Folders on the Search Path. Ability to Remove Folders and Subfolders from the Path Using the Current Folder Browser You can now remove folders from the MATLAB path as follows: 1 In the Current Folder browser, right-click the folder you want to remove from the path.
Desktop Tools and Development Environment File comparisons now highlight changes within lines and provide new toolbar buttons for stepping through differences, as the following figure shows. Folder comparisons now provides results that are sortable by name, type, size, timestamp, or change summary. Click column headers to sort the table. Click compare links to explore differences between files and folders. The following example shows results sorted by Type.
R2010a • “Tab Completion for Local Variables and Functions” on page 13-10 • “Toolbar Buttons for Stepping Through Code Cells Without Evaluating Code” on page 13-10 Tab Completion for Local Variables and Functions The MATLAB Editor now supports tab completion for local variable and subfunction names within MATLAB program files. For more information, see Complete Names in the Editor Using the Tab Key.
Mathematics Mathematics New Multithreading Capability MATLAB's new multithreading capability now includes: • fft for long vectors • The two-input form of conv2 • Integer conversion and arithmetic Performance Improvements MATLAB features significant performance improvements for: • Sparse matrix indexed assignment and deletion • bvp4c and bvp5c for sparse problems • sortrows • mrdivide (/) • convn • histc Changes To qr The factorization routine in qr produces an upper triangular matrix, R.
R2010a Compatibility Considerations Scalars extricated from sparse matrices are no longer full. If you previously used the output with a function that does not support sparse input, you now need to update your code. For a list of the functions that do not support sparse matrices, see Functions That Do Not Support Sparse Matrices in the MATLAB Mathematics documentation.
Mathematics Function Name Use This Method Instead dsearch DelaunayTri/nearestNeighbor tsearch DelaunayTri/pointLocation delaunay3 DelaunayTri Compatibility Considerations Update your code to use the DelaunayTri and TriScatteredInterp computational geometry classes . lsqnonneg No Longer Uses Optional Starting Point Input The lsqnonneg solver no longer uses the optional input x0 as a starting point. Compatibility Considerations If you give a starting point x0, MATLAB issues a warning.
R2010a • MATLAB:intConvertNonIntVal • MATLAB:intConvertOverflow • MATLAB:intMathOverflow Compatibility Considerations The warning messages for integer math and conversion are no longer available. Remove these warning IDs from your code. Function intwarning Being Removed The intwarning function will be removed in a future release. Use of intwarning now throws a warning: Warning: All four integer warnings are removed. INTWARNING will be removed in a future release.
Mathematics Compatibility Considerations If you require the old behavior, replace instances of nextpow2 with nextpow2(length(v)). Math Libraries Not Available to Build MEX-Files with Compaq Visual Fortran MATLAB no longer provides the libdflapack.dll and libdfblas.dll math libraries for building Fortran MEX-files with a Compaq® Visual Fortran compiler.
R2010a Data Analysis Operations on Timeseries Objects Sometimes Warn About the isTimeFirst Property In a future release, the timeseries Boolean property isTimeFirst will behave differently. If the value is true, this property indicates that the time vector is the first dimension of a time series. If the value is false, the time vector is the last dimension of a time series. In this release, you receive a warning that certain settings of isTimeFirst will not be valid in a future release.
Data Analysis duplicated time values generated errors. This condition is now relaxed, such that time vectors must be nondecreasing. Interpolation of time series can produce duplicated times if the input to the interpolation method contained duplicate time samples. For more information, see the timeseries reference documentation.
R2010a Programming Subscripting Into Function Return Values If you have a function, such as the following, that returns a struct array: function structOut = getStruct structOut = struct('fieldA', 5, 'fieldB', 10); it is no longer valid to access fields of the structure by directly dot indexing the function's return value, as shown here: getStruct.fieldA Instead, you should first assign the returned structure to a variable, and then dot index the variable: s = getStruct; s.
Programming it does so using the permissions of the class. This gives MATLAB the same access as the locations where the function handle was created, including access to private and protected methods accessible to that class. See Obtaining Permissions from Class Methods for more information. Listing Video File Formats Supported by mmreader The new mmreader.getFileFormats method returns a list of the formats that mmreader supports.
R2010a Library Version Upgrade HDF-EOS2 2.8 to 2.16 PNG 1.2.8 to 1.2.39 Tiff Class Enhancements The Tiff class includes the following enhancements. Tiff Class Now Excludes Reading OJPEG Format Image Data You can no longer read YCbCr OJPEG ("old-style" JPEG compression) TIFF images. The Tiff object was not intended to work with OJPEG data but some TIFF files contain data in this format. Reading this data could cause LibTIFF to terminate.
Programming Functions and Function Elements Being Removed Function or Function Element Name What Happens When You Use the Function or Element? Use This Instead Compatibility Considerations aviread Warns mmreader and Replace all existing instances of aviread with read mmreader and read. aviinfo Warns mmreader and Replace all existing instances of aviinfo with get mmreader and get.
R2010a Function or Function Element Name What Happens When You Use the Function or Element? Use This Instead Compatibility Considerations strread Still runs textscan Replace all existing instances of strread with textscan. For example, replace [a,b,c] = strread(...) with C = textscan(...) [a,b,c] = deal(C{:}) Unlike strread, the textscan function converts numeric values to the specified data type, allowing preservation of integer types.
Programming Function or Function Element Name What Happens When You Use the Function or Element? wk1write Still runs Use This Instead Compatibility Considerations Remove all instances of wk1write. Write to Excel spreadsheets with xlswrite.
R2010a Graphics and 3-D Visualization Plot Selector Supports Additional Toolboxes The Plot Selector, which was upgraded in Version 7.9 (R2009b), now also generates plots for display functions in the following toolboxes: • Curve Fitting Toolbox • DSP System Toolbox • Image Processing Toolbox • Signal Processing Toolbox The Plot Selector continues to support display functions for Control System Toolbox, Financial Toolbox, and Statistics and Machine Learning Toolbox™.
External Interfaces/API External Interfaces/API Changes to Compiler Support New Compiler Support MATLAB Version 7.10 (R2010a) supports these new compilers for building MEX-files: Windows (32-Bit) Platforms • Intel C++ Version 11.1 • Intel Visual Fortran Compiler Professional Edition for Windows Version 11.1, installed with Microsoft Visual Studio 2008 Shell. This product is bundled. • Intel Visual Fortran Compiler Professional Edition for Windows Version 11.
R2010a Discontinued Compiler Support MATLAB no longer supports the following compilers: Windows (32-Bit) Platforms • Open Watcom Version 1.7 • Microsoft Visual Studio .NET 2003 Version 7.1 Solaris SPARC (64-Bit) Platforms • Sun™ Studio 11 cc / CC Version 5.8 • Sun Studio 11 f90 Version 8.2 Compatibility Considerations To ensure continued support for building your MEX-files, consider upgrading to another supported compiler.
External Interfaces/API Compatibility Considerations If you distribute MEX-files that call BLAS or LAPACK functions built on a Compaq Visual Fortran compiler, you must also distribute the libdflapack.dll and libdfblas.dll library files. If MATLAB displays errors when loading a MEX-file and the Dependency Walker indicates missing libdflapack.dll and/or libdfblas.dll libraries, contact the MEX-file vendor for copies of the libraries.
R2010a You do not need to make changes to build and run MEX-files with MATLAB Version 7.10 (R2010a). Compatibility Considerations Source for MEX-files built on 64-bit platforms must be updated in order to successfully build and run with the next release of MATLAB. Review your source MEX-files and mex build scripts. For information about migrating your MEX-files to use the large-arrayhandling API, Upgrading MEX-Files to Use 64-Bit API.
R2009bSP1 Version: 7.9.1 Bug Fixes New features and changes introduced in this version are as follows: The version number of the MATLAB Compiler Runtime (MCR) in release R2009bSP1 is different from the MCR version number in release R2009b. For details about MCR version numbers and corresponding MATLAB releases, see http://www.mathworks.com/ support/solutions/en/data/1-4GSNCF/?solution=1-4GSNCF.
R2009b Version: 7.
R2009b Desktop Tools and Development Environment Startup and Shutdown Changes to -nodisplay and -noFigureWindows Startup Options When you start MATLAB using -nodisplay (UNIX) or -noFigureWindows (Microsoft Windows) startup options, running a built-in GUI (predefined dialog boxes) generates this warning: This functionality is no longer supported under the –nodisplay and -noFigureWindows startup options.
Desktop Tools and Development Environment • “Ability to Customize Keyboard Shortcuts” on page 15-3 • “Ability to Set Fonts Preferences for Extended M-Lint Messages and Function Browser” on page 15-4 • “Save Files from MATLAB Web Browser” on page 15-4 Ability to Customize Keyboard Shortcuts MATLAB supports customizing keyboard shortcuts for desktop tools. Press combinations of keyboard keys to perform a desktop action, instead of using the mouse to select items from menus.
R2009b Command Window and Editor/Debugger only. For instance, on Windows, default keyboard shortcut preferences appeared as follows: To restore keyboard shortcuts that were the default before Version 7.9 (R2009b): 1 Choose File > Preferences > Keyboard > Shortcuts. 2 From the Active settings drop-down menu, choose R2009a Windows Default Set, R2009a Macintosh Default Set, or R2009a UNIX Default Set, depending on the platform on which MATLAB is installed.
Desktop Tools and Development Environment • Function and block names with brief descriptions — Expand Functions or Blocks, and then expand a category to see the list and descriptions. Select a function or block to view its reference page. If you provide your own HTML help files for use in the Help browser, you now can include Functions and Blocks entries for your toolbox. • Demos — Expand Demos, and then select a demo from the list to view or run it.
R2009b • Sort results by Relevance, in addition to sorting by Type and Product, which were available in previous versions. • After sorting by Type or Product, you now can collapse and expand results for each type or product. To expand or collapse all groups, right-click in the results pane and select the option you want from the context menu. The following example of Search Results in the Help browser illustrates grouping, previews, and the block reference page icon.
Desktop Tools and Development Environment • Use the new Actions button on the display pane toolbar to access features such as Refresh, which clears the search results highlighting for the current page. • Get links to reference pages for overloaded functions. When you run doc foo, if foo is an overloaded function, a message appears at the top of the display pane that provides links to the other foo reference pages. • To use the Help browser alongside other tools, dock it in the desktop.
R2009b Compatibility Considerations The Index and Demos tabs are no longer in the Help browser: • To find terms that were in the Index, use the search feature instead. • To access demos for a product, go to the Contents pane and expand the Demos entry for the product. The Actions button on the toolbar provides access to features for the displayed page. Previously, some of these features were available on individual toolbar buttons.
Desktop Tools and Development Environment For an overview of the enhancements, watch this video, Current Folder Browser Enhancements, or review the following summary: • Use the expandable tree structure to view the contents of the current folder. Doubleclick a subfolder to make it the current folder. • Display the file type in a column. • Distinguish types of MATLAB program files using new icons: • • • class function script • View file descriptions below file names.
R2009b Compatibility Considerations • With the new tree structure, you now see all files, including those in subfolders. You might not be able to run the files you see in the subfolders. To run a file from a subfolder, the subfolder must be on the search path or the subfolder must become the current folder. In previous versions, you could only see files in the current folder, so you could run every file you could see.
Desktop Tools and Development Environment • You now search for files by clicking the search button in the address bar. In previous versions, the search feature, referred to as the filter field, appeared if your preference was set to display it. • File descriptions now appear below the file name. In previous versions, they displayed in a column. For more information about the new features, see Managing Files in MATLAB.
R2009b If you have questions while you work, access the File Exchange FAQ by clicking the Help button . For full documentation, see File Exchange — Finding and Getting Files Created by Other Users. Editing and Debugging MATLAB Code Files New features and changes introduced in Version 7.
Desktop Tools and Development Environment • “File and Folders Comparison Tool Enhanced” on page 15-13 Syntax Highlighting for VHDL and Verilog Code The MATLAB Editor now supports syntax highlighting for VHDL and Verilog code. For details see, Highlight Syntax to Help Ensure Correct Entries in the Editor.
R2009b Mathematics Computational Geometry Functions Being Changed 2- and 3-D computational geometry functions (delaunay, convhull, griddata, voronoi, delaunay3, griddata3) no longer use QHULL or the QHULL options arguments. The N-D functions gridatan, delaunayn, convhulln, and voronoin still use QHULL. Compatibility Considerations The QHULL options arguments to delaunay, convhull, griddata, and voronoi are no longer required and are currently ignored.
Mathematics Support for Large-Sized Dimensions In fft MATLAB functions fft, fft2, and fftn (and their inverses ifft, ifft2, and ifftn) can now handle input arrays with a size in 1 dimension greater than 2 31 − 1 on 64-bit platforms. Performance Improvement For Large Data Sets • MATLAB includes improved sparse matrix performance for indexing, basic math, binary and relational operators, and exponential functions. • There are significant performance improvements to conv2.
R2009b New Test Matrices in gallery Function The gallery suite of test matrices includes new options integerdata, normaldata, and uniformdata.
Data Analysis Data Analysis Improved Plot Selector Makes Graphic Data Exploration Easier The Plot Selector button on the Workspace Browser and Variable Editor toolbars has a new look and added capabilities, options, and help. Now the Plot Selector button changes its appearance to reflect the variable or variables you select. Now it suggests a plot type and indicates its calling argument sequence.
R2009b Programming Ignore Selected Arguments on Function Calls This version of MATLAB introduces a new usage for the tilde (~) operator. As in earlier releases, tilde signifies a logical NOT. In the 9b release, you can also use the tilde operator to specify unused outputs in a function call, or unused inputs in a function definition. See Ignore Function Inputs in the Programming Fundamentals documentation for more information on this feature.
Programming Internal Packages Make Reserved Functions Easy to Identify The MathWorks® reserves the use of packages named internal for utility functions used by internal MATLAB code. Functions that belong to an internal package are intended for The MathWorks use only. Using functions that belong to an internal package is strongly discouraged. These functions are not guaranteed to work in a consistent manner from one release to the next.
R2009b rethrow(MException), introduced in version 7.5, accepts an MException object as input, and is the recommended form. Compatibility Considerations It is strongly recommended that you discontinue the use of lasterror and lasterr, and that you replace the use of these functions in your program code with the MException-based style of error handling described above.
Programming Compatibility Considerations Because mmreader imports Motion JPEG 2000 files, the function mmreader.isPlatformSupported always returns true on Windows, Macintosh, and Linux platforms. For a list of file formats that mmreader supports, and the requirements to read these formats on each platform, see the mmreader reference page.
R2009b obj(int).Prop(n) where int is a positive integer. Equality of Objects Using isequal Now Ignores Numeric Class Before MATLAB 7.9, an expression such as: isequal(a,b) returned false in cases where a and b are objects of the same class that have properties set to numeric values which are mathematically equivalent, but of different classes (for example, double and single), The behavior of isequal in MATLAB 7.9 is consistent with the documented behavior (see isequal).
Programming New Tiff Object Enables Writing of Tiled Data and Broader Metadata Support Using the new Tiff object, you can now write portions of a TIFF file and update the values of individual metadata tags in an image. MATLAB has long offered the capability of reading and writing TIFF files, using the imread and imwrite functions. However, if you wanted to update any part of the image, you had to write the entire image to the file.
R2009b Graphics and 3-D Visualization Enhanced Plot Selector Simplifies Data Display The Plot Selector workspace tool creates graphs of workspace variables. As this video demo shows, the tool lets you access more types of data display functions and provides help about each one. It also categorizes display functions and lets you organize them within its drop-down menu. The following illustration shows the old and new versions of the Plot Selector and calls out new features.
Graphics and 3-D Visualization Use the Plot Selector tool to instantly generate graphs of workspace variables. You can choose from more than 40 two-dimensional, three-dimensional, and volumetric MATLAB data display types. It also constructs graphs using Control System Toolbox, Financial Toolbox, and Statistics and Machine Learning Toolbox functions if your installation includes those products.
R2009b Compatibility Considerations • In previous versions, the Plot Selector automatically assigned variables named t and time to the x-axis. Now, the variable you select first always plots on the x- axis. Use the switch variable input order button before plotting them. to interchange the x and y variables • In previous versions, clicking Plot Selector > More Plots opened the Plot Catalog tool. Now, you click Catalog at the bottom of the Plot Selector GUI to open the Plot Catalog tool.
Graphics and 3-D Visualization The view Function No Longer Supports 4-by-4 Transformation Matrices as Input The view function. no longer supports 4-by-4 transformation matrices as input arguments. Previously, you could create a 4-by-4 transformation matrix and use it with view. Compatibility Considerations If you have code that calls view(T), explore using view([az el]) instead.
R2009b Creating Graphical User Interfaces (GUIs) Expanded Documentation on Techniques for Programmatic GUI Design The section Lay Out a Programmatic GUI of the Creating Graphic User Interfaces documentation has been expanded. The updated section, formerly called “Aligning Components,” now has the title Compose and Code GUIs with Interactive Tools.
External Interfaces/API External Interfaces/API Changes to Compiler Support Support for Apple Macintosh (64-bit) Platforms MATLAB Version 7.9 (R2009b) supports these new compilers for building MEX-files: • Apple Xcode 3.1 (gcc / g++ Version 4.0.1) • GNU gfortran Version 4.3 Compiler Support to Be Phased Out MATLAB Version 7.9 (R2009b) supports the following compilers but will not support them in a future version. Windows (32-bit) Platforms • Intel Visual Fortran Version 10.1 • Intel C/C++ Version 9.
R2009b Compatibility Considerations To ensure continued support for building your Fortran programs, consider upgrading to another supported compiler. For an up-to-date list of supported compilers, see the Supported and Compatible Compilers Web page.
External Interfaces/API • You can access elements of a .NET array using MATLAB one-based indexing, as described in Accessing .NET Array Elements in MATLAB. • To call a generic method, use the NET.invokeGenericMethod function. • You can change a static property or field name using the NET.setStaticProperty function. • You can use overloaded operators, such as + and *. For a complete list of supported operators, see How MATLAB Represents .NET Operators.
R2009a Version: 7.
R2009a Desktop Tools and Development Environment Desktop New Features Video For an overview of the major new features in the MATLAB Desktop Tools and Development Environment area, watch this video demo. Another way to access the demo is by selecting the Demos tab in the Help browser, and then selecting MATLAB > New Features in Version 7.8. Startup and Shutdown The matlab command to start MATLAB now supports the -singleCompThread option on all platforms.
Desktop Tools and Development Environment tries to use a system browser, it produces a warning. To correct the problem, use Web preferences to specify a system browser that is installed. In previous versions, if you wanted to use a different browser, you specified it in the docopt.m file. Starting in R2009a, MATLAB ignores the browser specified in docopt.m. If you have code that relies on docopt.m, your code still runs, but it produces a warning. Remove the calls from your code.
R2009a Help Browser No Longer Reopens at Startup When you start MATLAB, the Help browser no longer automatically opens if you had it open when you last quit MATLAB. Compatibility Considerations In previous versions, the Help browser opened at MATLAB startup if it had been open when you last quit MATLAB. If you want the Help browser to automatically open at startup, use a startup option. For example, you can include a helpbrowser statement in your startup.m file. For more information, see Startup Options.
Desktop Tools and Development Environment • You can use the new View menu to choose the columns to display, to specify the sort order for a column, and to apply grouping for any attribute. In the previous version, you performed these actions using the column header and its context menus, which you can still do (but only on Microsoft Windows platforms). For more information, see Sorting and Grouping Files and Folders.
R2009a When you click the link, the message window expands to display an explanation and suggested action.
Desktop Tools and Development Environment When you click a link within the extended message, the Help browser opens to provide more information. M-Lint Messages Now Searchable in Preferences You can now filter the list of M-Lint messages in the preferences panel (File > Preferences > M-Lint), to find a message of interest.
R2009a • Containing a string • Corresponding to a particular message ID • Within a given category • With a setting different from the default Filtering the list of messages can help you see, for example, why certain messages are suppressed, and which messages are disabled. It can be helpful when you want to see the explanation and suggested action for a message, as described in “Many M-Lint Messages Now Extend to Provide an Explanation and Suggested Action” on page 16-5.
Desktop Tools and Development Environment Block Indenting Option No Longer Provided The Block Indent option is no longer available. Previously, this option was available for MATLAB, Java, and C/C++ programming languages, when you selected File > Preferences > Editor/Debugger > Language.
R2009a Note: Do not confuse the Block Indent option with the Smart indenting option, which is still provided. Compatibility Considerations To attain the effect of block indenting, you can use the No indent option and indent lines manually using the Tab and space keys. Integrated Text Editor Option Removed from Editor/Debugger Preferences Panel The MATLAB Editor no longer supports EmacsLink.
Desktop Tools and Development Environment Tuning and Managing MATLAB Code Files Profile Summary Report Includes Information on Excluded Profiling Overhead The bottom of the Profile Summary Report now indicates the amount of time spent in profiling overhead, when possible. For details, see Profile Summary Report. Publishing MATLAB Code Files New features and changes introduced in Version 7.
R2009a Mathematics Upgrade to Computational Geometry MATLAB includes a new object-oriented suite of computational geometry tools, together with a new underlying library called CGAL. The new library provides improved robustness, performance, and memory efficiency. The new tools are presented in three classes: • New class TriRep provides topological and geometric queries for triangulations in 2-D and 3-D space.
Mathematics Changes To conv The conv function now accepts the shape parameter as input. Changes To conv2 and convn Use of the conv2 and convn functions with one empty input now returns the matrix of the correct size as described by the shape input. Compatibility Considerations Use of the conv2 and convn functions with one empty input no longer returns an empty matrix. Instead, it returns the matrix of size specified by the shape input.
R2009a New Multithreading Capability in MATLAB Functions The MATLAB functions for Fourier transforms fft, fft2, and fftn, and their inverses ifft, ifft2, and ifftn are now multithreaded. In addition, the MATLAB functions prod, sum, max, and min are multithreaded. 64-bit Support in LAPACK and BLAS MATLAB supports 64-bit integers for matrix dimensions in LAPACK, and BLAS. Linear algebra operations can now handle matrices of dimensions greater than 2 31 - 1 .
Data Analysis Data Analysis 16-15
R2009a Programming Fundamentals Setting the Number of Threads Removed from Preferences Panel The capability to adjust the number of computational threads in a single MATLAB session is no longer available as of this release. This change removes from the MATLAB preferences panel the ability to set the maximum number of computational threads. The primary reason for this change is that products that MATLAB is dependent upon have the ability to spawn threads from the currently-executing thread.
Programming Fundamentals mmreader Supports Linux Platforms The mmreader object now supports Linux platforms. For more information about using mmreader, see the mmreader reference page. Support of Microsoft Excel 2007 File Formats If you have installed Excel 2007 (or Excel 2003 with the Compatibility Pack) on your Windows system, the xlswrite function exports data to XLSX, XLSB, and XLSM formats. To write data to an Excel file, specify the name and extension of the output file in the call to xlswrite.
R2009a size and range Implemented for validateattributes The validateattributes function now enables you to check the size and range of the input value. The following commands validate the size and range of the values of x and y respectively: x = rand(4,2,6); y = uint8(50:10:200); validateattributes(x, {'numeric'}, {'size', [4,2,6]}); validateattributes(y, {'uint8'}, {'>=', 50, '<=', 200}) isempty Supported for Map Objects MATLAB now supports the isempty function for containers.Map objects.
Programming Fundamentals Now modify the function slightly so that the input variable is named java and run it on a version of MATLAB prior to Version 7.8: function y = dotindextwice_B(java) y = java.lang.String; Now when you run the function without arguments, MATLAB misinterprets the word java, treating it as if it were the stem of a Java class name: x = dotindextwice_B; % Deliberately called with no arguments Prior to Version 7.8, this function did not throw an error.
R2009a constructor for class C should not call the constructor for class A to initialize properties. The call to initialize class A properties should be made from class B. Compatibility Considerations If you define classes in which subclass constructors call indirect superclass constructors, MATLAB now issues an error when you attempt to create an instance of the subclass. Call Only Direct Superclass from Constructor for information on how to correctly code subsclass constructors.
Graphics and 3-D Visualization Graphics and 3-D Visualization Functions Previously Only Available in the Image Processing Toolbox Now Available in MATLAB The following functions have been added to MATLAB from the Image Processing Toolbox: • rgb2ind: Convert RGB image to indexed image. • dither: Convert image using dithering. • cmunique: Eliminate unneeded colors in colormap of indexed image. • cmpermute: Rearrange colors in colormap. • imapprox: Approximate indexed image by one with fewer colors.
R2009a Creating Graphical User Interfaces (GUIs) New Programmatic GUI Doc Example A new example in the documentation teaches you how to code a GUI that manages multiple lists, such as to-do and shopping lists, contact information, music or video catalogs, or any set of itemizations. Among other things, it illustrates how to write MATLAB code to: • Share callbacks among uicontrols. • Obtain component handles from their tags. • Create a new version of an existing GUI. • Import and export list data.
External Interfaces/API External Interfaces/API New Interface to Microsoft .NET Framework The interface to .NET allows you to bring .NET assemblies into the MATLAB environment, to construct objects from classes contained in the assemblies, and to call methods on these objects. For complete documentation of this feature, see Using .NET Libraries from MATLAB. For an overview of the .NET interface, watch this video demo.
R2009a Windows (32-bit) Platforms • Intel Visual Fortran Version 9.1 • Intel Visual Fortran Version 10.1 • Intel C/C++ Version 9.1 • Microsoft Visual Studio .NET Version 7.1 Windows (64-bit) Platforms • Intel Visual Fortran Version 9.1 • Intel Visual Fortran Version 10.1 • Intel C/C++ Version 9.1 Solaris SPARC (64-bit) Platforms • Sun Studio 11 cc / CC Version 5.8 • Sun Studio 11 f90 Version 8.
External Interfaces/API Do Not Use mxFree to Destroy mxArrays It is improper to call mxFree on an mxArray. Previously, to remedy misleading statements in older documentation, under limited circumstances, MATLAB issued a warning in code that made this error. MATLAB no longer issues the warning. Compatibility Considerations The correct function to use to release memory for an mxArray is mxDestroyArray.
R2009a Compatibility Considerations On 64-bit platforms, you must use 64-bit integers for all input and output variables when calling LAPACK and BLAS routines in C and Fortran source MEX-files. Use the mwSignedIndex type for platform-independent code. Object .o Files Saved on Macintosh Systems for Debugging MATLAB saves object .o files when compiling MEX-files on Apple Mac OS Version 10.5 systems so that you can use source-level debugging.
External Interfaces/API Improved Robustness of Web Services Functions The underlying technology used in the createClassFromWsdl and parseSoapResponse functions was modified to better ensure support for WSDL and SOAP standards. Compatibility Considerations There was no intended change to functionality or results of the createClassFromWsdl and parseSoapResponse functions, which MathWorks verified through testing. There are many variations among WSDL files and Web services and they cannot all be tested.
R2008b Version: 7.
R2008b Desktop Tools and Development Environment Desktop New Features Video For an overview of the major new features in the MATLAB Desktop Tools and Development Environment area, watch this video demo. Another way to access this and other video demos is to select the Demos tab in the Help browser, and then select MATLAB > New Features in Version 7.7. Startup and Shutdown New features and changes introduced in Version 7.
Desktop Tools and Development Environment Contents of MATLAB Root Directory When you use file browser GUIs to navigate in the MATLAB root directory, / Applications/MATLAB_R2008b, (known as the matlabroot directory), you cannot directly view or access its contents. For example, when you select File > Open and navigate to Applications/MATLAB_R2008b, no contents display.
R2008b Specifying Address Space Protection During Startup on Windows Platforms When you start MATLAB on Microsoft Windows 32-bit platforms, you can set a startup option to help ensure the largest available contiguous block of memory after startup, which is useful if you run memory-intensive operations, such as processing large data sets. You can use the new -shield startup option to specify different levels of protection of the address space during the MATLAB startup process.
Desktop Tools and Development Environment • If you have been using the -nojvm startup option because of memory or performance benefits, look for other ways to gain those improvements when you start MATLAB without the -nojvm option. See the Performance and Memory Usage topics in the MATLAB Programming Fundamentals documentation. • If you want to continue to use the -nojvm startup option, remove the code that is now producing the warnings.
R2008b Preferences Opens to Last Pane Used When you open the Preferences dialog box, it displays the last preference pane you viewed in the current session. In prior versions, the Preferences dialog box displayed the pane associated with the tool from which you accessed it. Changes to Desktop Text Font You now can specify that the desktop text font use the system default font. To do this, select File > Preferences > Fonts. Then, for Desktop text font, select Use system font.
Desktop Tools and Development Environment specify the products to look in, browse categories of functions, and search for words that appear in function reference pages. For more information, see Find Functions Using the Function Browser. 1. To open the Function Browser, click its button or press Shift+F1. 4. Select a function to view quick help for it in a pop-up window. 2. Find categories and functions whose help contains words you specify. 3.
R2008b 2 3 The arguments you can enter appear in bold. Enter your first argument and type a comma ( , ) after it. The syntax options in the pop-up window then change, based on the argument you just entered. Continue entering arguments, using the hints as needed. You can dismiss the function hints pop-up window at any time by pressing Esc. When you type the closing parenthesis, ), or when there are no more arguments to enter, the pop-up window automatically closes.
Desktop Tools and Development Environment • “Viewing an HTML Version of Help for Classes You Create” on page 17-9 • “Finding Text In Small Help Windows” on page 17-11 • “Changes to Search Field in Help Browser” on page 17-11 New Help Features — Function Browser and Function Hints There are two new features that provide help while you work: • Use the new Function Browser to find function names while you work. It is most useful in the Command Window and Editor, but you can access it from any tool.
R2008b 17-10
Desktop Tools and Development Environment Finding Text In Small Help Windows The Find dialog box is now available from the small help windows used for the Help on Selection feature and for context-sensitive help. The find feature is useful when you want to search for a specific word or phrase within one of these help windows. To access the Find dialog box: • In a window used for the Help on Selection feature, press Ctrl+F on Windows and UNIX platforms or Cmd+F on Macintosh platforms.
R2008b Current Directory Browser Enhanced, Including New Navigation and Grouping Features The Current Directory browser includes new ways to navigate and to view the directory contents. There are also new ways to find files, including a new filter field. • Use the new address bar to view the current directory and to view and navigate to subdirectories within the current directory path. • Access common features from the Actions button on the toolbar.
Desktop Tools and Development Environment To group files by type, select Group By from the Actions button. Use the - or + button to hide or show files within a group. Here, files are grouped by type, and files for all types except those with a .m extension are hidden. View elements in the selected file. Double-click an element to open the file, at the location of that element. For more information, see Managing Files in MATLAB.
R2008b Change What To Do Instead In Version 7.7 (R2008b) • Go up one level button — Instead, select a directory one level up by using the address bar. • Find files button — Instead, select Find Files from the Actions button on the toolbar, or use Ctrl+F. • New folder button — Instead, select New Folder from the Actions button on the toolbar. • Directory reports — Instead, select Reports from the Actions button on the toolbar.
Desktop Tools and Development Environment Change What To Do Instead In Version 7.7 (R2008b) The File Filter options, accessible from the context menu and the View menu, have been removed. Use the new filter field (use Preferences for the Current Directory browser to show the filter field), or sort by file type (click the document icon header), or group by file type using the new grouping feature (available from the Actions button). The View menu was removed.
R2008b With empty matrices returned, code you write to use the results of dir can be simpler and more robust. For more information, see the reference page for the dir function. Compatibility Considerations In previous versions, dir returned inappropriate values for files that could not be queried: r(n) = name: 'my_file' date: '18-Jan-2038 22:14:07' bytes: 0 isdir: 0 datenum: 7.
Desktop Tools and Development Environment You will experience a problem if you have any directories that contain a semicolon in their name. You will need to rename the directories to include them on the search path. Editing and Debugging MATLAB Code New features and changes introduced in Version 7.
R2008b Set Color and Width of Right-Hand Text Limit In the Editor, where you can enable a vertical line to indicate a right-hand text limit, you now can set the width and color of the line. Note that the default color for the line is now gray, instead of light red. Set preferences for the line by selecting File > Preferences > Editor/Debugger > Display, which opens the Preferences dialog box. Click Help in the Preferences dialog box for more information.
Desktop Tools and Development Environment appears. Use the context menu to fix. For an example, see the Suppressing All Messages on a Line with mlint example in the mlint function documentation. View M-Lint Message in ToolTip Using the Keyboard To open an M-Lint Message ToolTip using the keyboard, place the cursor over the marked code and press Ctrl + M. This feature is offered in addition to the identical behavior available when you use the mouse pointer to hover over code that is marked by M-Lint.
R2008b Block Indenting Will Not Be Included in Next Version The Block Indent option will no longer be provided, starting in the next version of MATLAB. Currently, this option is available for M, Java, and C/C++ programming languages, when you select File > Preferences > Editor/Debugger > Language. To attain the effect of block indenting, you can use the No indent option and indent lines manually using the Tab and space keys.
Desktop Tools and Development Environment • “Include Figure Window Details in Published Documents” on page 17-21 • “Inline Math Supported in Published Documents” on page 17-21 • “Publish Setting: Cascading Style Sheet Is Now XSL File” on page 17-21 Include Figure Window Details in Published Documents In versions prior to Version 7.7 (R2008b), when you published a file that included a figure window, only the graph or figure was included in the published document.
R2008b Mathematics Upgrade to Random Number Generator • The randn function uses a new longer period random number algorithm as its default. • The new function randi returns random integers from a uniform discrete distribution. • The @RandStream class allows you to construct a random number stream object and set its properties. For more information, see Random Numbers in the MATLAB Mathematics documentation.
Mathematics Functions and Properties Being Removed Function or Property Name What Happens Use This Instead When You Use Function or Property? Compatibility Considerations betacore Fails betainc Replace all existing instances of betacore with betainc. colmmd Fails colamd Replace all existing instances of colmmd with colamd. symmmd Fails symamd Replace all existing instances of symmmd with symamd. flops Fails None Remove all instances of flops.
R2008b Data Analysis Specialized Data Tips for the hist Function When you create a histogram display using hist and place data tips in the plot in data cursor mode, they now snap to the top center of the bin you attach them to.
Programming Fundamentals Programming Fundamentals Fast Key Lookup Provided with New Map Data Structure This release introduces a new MATLAB class called a Map. An object of the Map class is an array of any MATLAB data type that supports lookup table functionality. Unlike most arrays in MATLAB that only allow access to the elements by means of integer indices, indices for Map containers can be nearly any scalar numeric value or a character string.
R2008b Tic and Toc Support Multiple Consecutive Timings The tic and toc timing functions now support multiple consecutive timings. Call tic with an output t0 to save the current time as the starting time for some operation. When the operation completes, call toc with the same t0 as its input and MATLAB displays the time between that particular tic and toc.
Programming Fundamentals 'crc' 'commdevice' 'commsrc' 'commgui' 'commscope' 'commutils' You can also call what on a specific package name to see what types of directories and files are in the package directory. See the function reference page for what for more information. addtodate Accepts Hours, Minutes, Seconds, Milliseconds In previous releases, the addtodate function supported modifying a date number by a specified number of years, months, or days.
R2008b pause query state = pause('query') • To return the previous pause state when enabling or disabling pausing, use one of the following: oldstate = pause('on') oldstate = pause('off') See the function reference page for pause for more information. File Selection Restriction in Import Wizard This release introduces a change in how you select the source to import using the Import Wizard.
Programming Fundamentals • To import from the clipboard using the MATLAB menus, use Edit > Paste to Workspace instead of using File > Import Data , and then change the source to Clipboard. This method is preferred because it is more direct. The capability of switching from file to clipboard within the wizard is no longer supported. Function Handle Array Warning Is Now An Error The only way to make an array of function handles is to use a cell array.
R2008b Two Types of issorted Warnings Are Now Errors In previous versions, the issorted function generated a warning for the following two cases: • issorted(x), where x is a complex integer, and • issorted(x,'rows'), where x is an ND array Using issorted on a Complex Integer In this case, a statement such as the following issorted(int8(complex(1,2))) now issues the error message ??? Error using ==> issorted ISSORTED on complex inputs with integer class is obsolete.
Programming Fundamentals Compatibility Considerations Because spmd is a new keyword, it will conflict with any user-defined functions or variables of the same name. If you have any code with functions or variables named spmd, you must rename them. Do Not Create MEX-Files with DLL File Extensions In the future, on 32-bit Windows systems, MATLAB will not support MEX-files with a .dll file extension.
R2008b ??? In an assignment must be the same. A(:) = B, the number of elements in A and B MATLAB objects behave in the same way: ts_obj = timeseries; t(:) = ts_obj; ??? In an assignment must be the same. A(:) = B, the number of elements in A and B Compatibility Considerations In MATLAB Version 7.6 Release 2008a, indexed assignment of the form p(:) = object did not result in an error.
Graphics and 3-D Visualization Graphics and 3-D Visualization Certain Printer Formats and Drivers Now Warn When Used Going forward, MathWorks is planning to leverage existing operating system (OS) support for printer drivers and devices. As a result, the ability to specify certain print devices using the print -d command, and certain graphics formats using the print -d command and/or the saveas command, will be removed in a future release.
R2008b Printer Driver print Command Option String HP DeskJet 500C/540C color (not supported on Windows OS) -dcdj500 HP Deskjet 550C color (not supported on Windows OS) -dcdj550 HP DeskJet and DeskJet Plus -ddeskjet HP LaserJet -dlaserjet HP LaserJet+ -dljetplus HP LaserJet IIP -dljet2p HP LaserJet III -dljet3 HP LaserJet 4.
Graphics and 3-D Visualization Handle Graphics Not Supported Under -nojvm Startup Option If you start MATLAB with matlab -nojvm (which disables Java) you will receive a warning when you attempt to create or load figures, open GUIs, print or capture figures using getframe. Compatibility Considerations For information, see “Changes to -nojvm Startup Option” on page 17-4 in the Desktop Tools and Development Environment release notes.
R2008b Creating Graphical User Interfaces (GUIs) Undocumented Functions Removed The following set of deprecated functions, all of which were previously undocumented, have been removed. Alternatives to most of them exist, which are described.
Creating Graphical User Interfaces (GUIs) Handle Graphics Not Supported Under -nojvm Startup Option If you start MATLAB with matlab -nojvm (which disables Java) you will receive a warning when you attempt to create or load figures, open GUIs, print, or capture figures using getframe. For more information, see “Changes to -nojvm Startup Option” on page 17-4 in the Desktop Tools and Development Environment release notes.
R2008b External Interfaces/API Do Not Use DLL File Extensions for MEX-Files In the future, on 32-bit Microsoft Windows systems, MATLAB will not support MEX-files with a .dll file extension. In MATLAB Version 7.7 (R2008b), if you run a MEX-file with a .dll file extension, MATLAB displays a warning. Additionally, if you use the mex function with the -output switch to create a MEX-file with a .dll extension, MATLAB displays a warning.
External Interfaces/API Microsoft Windows 64-bit and 32-bit Platforms • Microsoft Visual Studio 2008 Express Edition Compiler Support to Be Phased Out The following compilers are supported in Version 7.7 (R2008b), but will not be supported in a future version of MATLAB. Windows (32-bit) platform • Intel Visual Fortran Version 9.1 • Microsoft Visual Studio .NET Version 7.1 • Open Watcom Version 1.3 Windows (64-bit) platforms • Intel Visual Fortran Version 9.
R2008b New Function Displays Information about MEX Compiler Configurations The mex.getCompilerConfigurations function displays information about the selected compiler and associated switches and options that MATLAB uses to build a MEX-file. The selected compiler is the one you choose when you run the mex -setup command. For more information, see Building MEX-Files.
External Interfaces/API • Visual Studio 2008 Professional Edition • Visual Studio 2005 Professional Edition Run-Time Libraries Required for Applications Built with Microsoft Visual Studio 2008 Compiler If you distribute a MEX-file, an engine application, or a MAT-file application built with the Visual Studio 2008 compiler, you must provide the Visual C++ run-time libraries. These files are required to run applications developed with Visual C++ on a computer that does not have Visual C++ 2008 installed.
R2008b Compatibility Considerations Calling the events (COM) function on affected types of COM server components returns a list of events for the latest [default] interface version which might be different from the list of events displayed by MATLAB Version 7.4, Version 7.5, or Version 7.6. If an event in an older COM event interface version is no longer supported or renamed in the newer interface version, the registerevent function generates an error when such an event is used in an .m file.
R2008a Version: 7.
R2008a Desktop Tools and Development Environment Desktop New Features Video For an overview of the major new features in the MATLAB Desktop Tools and Development Environment area, watch this video demo. You can also access this and other video demos by selecting the Demos tab in the Help browser, and then selecting MATLAB > New Features in Version 7.6. Startup and Shutdown New features and changes introduced in Version 7.
Desktop Tools and Development Environment value, or reset the value to the default. For more information, see Default Startup Directory (Folder) on Windows Platforms and the userpath reference page. Compatibility Considerations In previous versions, MATLAB automatically added the My Documents/MATLAB directory (or Documents/MATLAB on Windows Vista platforms) to the search path upon startup, even if you had removed it from the path and saved your changes during the previous session.
R2008a Macintosh Platforms — Define Startup Options Using New Dialog Box On Apple Macintosh platforms, you can specify startup options using the new Start MATLAB Settings dialog box. The first time you start MATLAB Version 7.6 (R2008a), the Start MATLAB Settings dialog box opens automatically. It does not open automatically on subsequent startups; to open the dialog box, double-click Start MATLAB Settings, located in the same directory as the MATLAB application.
Desktop Tools and Development Environment Compatibility Considerations If you use a specific version of Sun Microsystems Java with MATLAB on the Solaris platform, this change might impact your work. Changes to Abnormal Termination Process When MATLAB encounters a serious problem, such as a segmentation violation, a dialog box opens to notify you about the problem. From the dialog box, you can close MATLAB, or try to save your work in progress before closing.
R2008a 1. Select the toolbar you want to customize. 3a. To move a control, first select it. 3b. Then select a move button to reposition it. 2. Select the controls you want to have on the toolbar. For more information, see Toolbar Customization.
Desktop Tools and Development Environment You can change the position of the toolbars within a tool, for example, putting both the Editor and Editor cell mode toolbars next to each other instead of stacked. To move a toolbar, grab the anchor for a toolbar, then drag the toolbar to the new location. Drag the toolbar anchor to move the toolbar to a different position. Clear a Browser with New Method Clear an open browser in MATLAB with a new close method.
R2008a Compatibility Considerations Previously, the default value for the Save after n commands preference was 5. Help Preferences for Help on Selection When you click a function name in the Command Window or Editor, and then press F1 or select Help on Selection from the context menu, the help appears in a popup window by default. Now, you can specify that the help appear in the Help browser rather than in a pop-up window via the new Help on Selection preference.
Desktop Tools and Development Environment Array Editor Renamed to Variable Editor; Offers Enhanced Support for Structures and Classes The Array Editor has been renamed to the Variable Editor, which better reflects its support for non-array data such as structures and properties. The Variable Editor now reports, just below the toolbar, the class and size of the selected variable. For many classes, there is also a link to help for the class.
R2008a Double-click an object in the Workspace browser and it displays the object's properties in the Variable Editor. Object and class. Properties. Compatibility Considerations In previous versions, the Variable Editor was called the Array Editor. Starting in R2008a, MATLAB Version 7.6, the tool will be referred to as the Variable Editor. Search Path — Changes to User Portion By default, MATLAB adds a directory to the top of the search path upon startup, known as the userpath directory.
Desktop Tools and Development Environment New Context Menu Options in Current Directory Browser The context menu, which you access by right-clicking anywhere within the Current Directory browser, provides these three new options for creating M-files in the current directory: • New > Blank M-File Creates an empty M-file • New > Function M-File Creates an M-file with a template for writing an M-file function • New > Class M-File Creates an M-file with a template for writing an M-file class definition Compat
R2008a Editing and Debugging M-Files New features and changes introduced in Version 7.
Desktop Tools and Development Environment Compatibility Considerations You now use the Run button to execute a run configuration and the Continue button to continue execution of an M-file after a breakpoint during debugging. See Run MATLAB Files in the Editor and Step Through a File for details. Evaluate Entire File Button Off Toolbar by Default The Evaluate Entire File button, default.
R2008a • Function code • If/else blocks • Switch/case blocks • Try/catch blocks • While blocks Prior to MATLAB Version 7.6 (R2008a), code folding was supported for function code and function help only. See Code Folding — Expand and Collapse Code Constructs for details.
Desktop Tools and Development Environment • LASTERR and LASTERROR are better replaced by an identifier on the CATCH block. See doc CATCH. • The value assigned here to variable 'x' might never be used. This message appears when the code contains a catch statement that is never used. • TRY statement without a CATCH. For example, suppose you want to read options from a file, options.txt, but it is acceptable if that file is not present.
R2008a dbstop and dbclear Functions — Option to Specify File Not on Path The –completenames option to the dbstop and dbclear functions enables you to set and clear breakpoints, respectively, for M-files that are not on the search path in MATLAB. See dbstop and dbclear for details. edit Function Can Create New File in Existing Subdirectory The edit function now allows you to specify a file that is not in the current directory.
Desktop Tools and Development Environment Publish Functions and Scripts Using Publish Configurations; Includes Replacement of Publishing Preferences In the Editor, you can now do the following when publishing M-file code: • Specify code that you want MATLAB to evaluate before publishing the code, including input arguments for functions • Specify publishing settings, such as an output directory and file format, that you can save and reuse as a group To create a publish configuration, first open an M-file in
R2008a Compatibility Considerations Previously, preferences for publishing and publishing images were available on the Preferences dialog box, which you accessed by selecting File > Preferences > Editor/ Debugger and then choosing the Publishing or Publishing Images node. Now you set these preferences when you create or update a publish configuration by using the Publish settings options on the Edit M-file Configurations dialog box.
Desktop Tools and Development Environment Nest Cells for Finer Control You can nest cells in an M-file, including within functions and control statements, such as for loops and if-then blocks. This gives you greater control over how a published document appears. This nesting ability also enables you to evaluate subsections of code on a finer grain when using rapid code iteration.
R2008a 18-20
Desktop Tools and Development Environment Similarly, the cell break within the for loop enables you to run the M-file and experiment with the marker size value without the need to save the file between adjustments: For more information see Mark Up MATLAB Code for Publishing and Evaluate Subsections of Files Using Code Cells. Compatibility Considerations In prior releases, the cell break characters (%%) had to be in the first column of the code for the Editor to recognize the characters as a cell break.
R2008a cell break and one below it. Now, if you insert a cell break, MATLAB also inserts implicit cell breaks. In the example shown, it inserts two implicit cell breaks in the subfunction where you inserted the explicit cell break; one on the first line of the subfunction and one on the last line of the subfunction. This results in three cells: one containing the entire file, one containing the collatzplot_new function, and one containing just the Collatz Problem cell title.
Desktop Tools and Development Environment Version 7.
R2008a Version 7.6 (R2008a) Implicit cell break Explicit cell break Implicit cell break See Nested Code Cells for details.
Desktop Tools and Development Environment Publish Button Moved The Publish button, , is now located on the Editor toolbar. Compatibility Considerations Previously, the Publish button was located on the Editor Cell Mode toolbar. Now you find it on the Editor toolbar. Publish Trademark Symbols If the comments in your M-file include trademarked terms, you can format the comment to produce a trademark symbol (™) or registered trademark symbol (®) in the published output. See Trademark Symbols for details.
R2008a The following image, for example, shows a published document that uses this feature (with the size of the images reduced). Notice that the published images appear after the for loop that generates them. Internationalization Locale Information Added to MATLAB Documentation Information about using locale in MATLAB can be found in Internationalization in the Desktop Tools and Development Environment documentation.
Desktop Tools and Development Environment Macintosh OS X Platform Changes On Apple Macintosh OS X systems, for users selecting the Chinese language and the China country code, the locale setting is zh_CN.gb2312. The previous setting was zh_CN.GBK.
R2008a Mathematics Upgrade to BLAS Libraries MATLAB software now uses new versions of the Basic Linear Algebra Subroutine (BLAS) libraries. For Windows, Intel Mac, and Linux platforms, MATLAB software supports the Intel Math Kernel Library (MKL) version 9.1. For the Solaris platform, MATLAB software uses the Sun Performance Library from Sun Studio 12. Upgrade to LAPACK Library MATLAB software now uses Version 3.1.1 of the Linear Algebra Package (LAPACK) library.
Mathematics Function or Property Name What Happens Use This Instead When You Use Function or Property? Compatibility Considerations flops Errors None Remove all existing instances of flops. With the incorporation of LAPACK in MATLAB version 6, counting floating-point operations is no longer practical. symmmd Errors symamd Replace all existing instances of symmd with symamd. quad8 Errors quadl Replace all existing instances of quad8 with quadl.
R2008a Data Analysis Data Brushing for Graphs and Linked Variables • “Data Brushing Tool” on page 18-31 • “Data Brushing API” on page 18-32 • “Data Linking Tool” on page 18-32 • “Data Linking API” on page 18-34 This release introduces two new interactive tools for data exploration: • Data brushing — For marking observations on graphs, allowing you to remove or save them to new variables • Data linking — For connecting graphs with data sources (workspace variables) to automatically and interactively update
Data Analysis applied to most graphs (some plot types do not support brushing). Data brushing is an exclusive, persistent mode. That is, when using it, you cannot use other figure tools, but the results of brushing data persist when you select a different tool or no tool. Use data linking to make plots dynamically respond to changes in the variables they plot. Data linking applies to most graphs with identifiable data sources and operates at the figure level.
R2008a If you leave data brushing mode to zoom, pan, or edit the plot, all brushed observations remain highlighted. You can then reenter brushing mode and pick up where you left off. Brush marks are not preserved when you save a figure and reopen it from the FIG-file, however. Data Brushing API Use the brush function to turn brushing on and off, and to select a color for brushing graphs. You can change brush colors on the fly with either the API or with the Brush tool.
Data Analysis On the left side of the information bar is a drop-down menu that displays the symbolism and identifies the data source for each series currently linked. On the right side is an Edit button that opens the Data Source Properties dialog box in which you can set display names and data sources. Usually it is possible to unambiguously determine what data sources a graph has, but sometimes you need to indicate what data source to use, for example, when you plot a subrange of a data array.
R2008a Data Linking API Use the linkdata function to turn data linking on or off for the current figure or for a figure for which you supply a handle. Compatibility Considerations If you capture figure windows with the getframe function, their images will include the message bar if the figures being captured possess them. To prevent this from happening, click the X on the right side of the message bar to dismiss it before calling getframe. Subsequent figures will not display a message bar.
Programming Programming Multithreaded Computations Enabled Multithreaded computations, introduced in R2007a, are now on by default. Compatibility Considerations To disable multithreaded computations, open the Preferences dialog, choose Multithreading, and then disable it explicitly. Enhancements to Object-Oriented Programming Capabilities Major enhancements to object oriented programming capabilities enables easier development and maintenance of large applications and data structures.
R2008a Clear Variables with Exceptions With the new clearvars function, you can specify which variables you do not want cleared from memory. Information on the State of Memory The new memory function provides memory usage information such as largest block available, allowing you to diagnose memory problems on Microsoft Windows platforms. Compatibility Considerations The memory function existed in previous versions of MATLAB, but its purpose has changed.
Programming • imfinfo can now return Exif data for JPEG or TIFF format image files. Information specific to the digital camera can be found in the 'DigitalCamera' field, while any global positioning system information can be found in the 'GPSInfo' field. • imwrite now supports the 'RowsPerStrip' parameter that you can use to specify how many image rows to include in a strip when writing TIFF files.
R2008a Graphics and 3-D Visualization New Figure Toolbar Buttons Two new toolbar buttons and an information bar have been added in this release that control the new Data Brushing and Data Linking tools. Brushing and linking let you interactively explore and analyze data. By default, now when you create axes or plot something into a blank figure, an informational banner appears across top of the figure with links to documentation for data brushing and linking capabilities.
Graphics and 3-D Visualization • loglog • mesh • plot • plot3 • quiver • quiver3 • scatter • scatter3 • semilogx • semilogy • stairs • stem • stem3 • subplot • surf Note that the updated list adds functions plot3 and quiver3. In the earlier release note, the following functions were incorrectly identified as accepting the v6 option: • meshc • meshz • surfc These functions do not call v6 code and are not affected by it becoming obsolete.
R2008a are used to contain them in Version 7 than before. That is, the annotation objects have never been backward compatible.
Creating Graphical User Interfaces (GUIs) Creating Graphical User Interfaces (GUIs) New GUI Table Component The new uitable component allows you to show data in a table. This component replaces the undocumented MATLAB uitable implementation. If you are using the old uitable component, please refer to the uitable Migration Document for help migrating to the supported uitable component.
R2008a hidegui Function Being Obsoleted The hidegui function is being obsoleted and will be removed in a future version. Instead of this function use the set function to set the figure handle's handlevisibility property to on or off: set(figurehandle, ‘handlevisibility’, 'on') Changes to How uicontrols Set Figure SelectionType SelectionType is a figure property that user interface components set when you click them.
Creating Graphical User Interfaces (GUIs) Enable Status Mouse Button Pressed Key Modifier Pressed SelectionType on First Click SelectionType on Second Click on right Ctrl 'alt' 'open' on left Shift 'normal' 'normal' * on right Shift 'extend' 'open' off left 'normal' 'open' off right 'alt' 'open' off left Ctrl 'alt' 'open' off right Ctrl 'alt' 'open' off left Shift 'extend' 'open' off right Shift 'extend' 'open' * Double-click result is 'open' for list boxes.
R2008a External Interfaces/API Interface to Generic DLLs Supported on 64-bit Platforms The ability to load a generic DLL on 64-bit platforms using loadlibrary is available in MATLAB Version 7.6 (R2008a). Compatibility Considerations You must install a C compiler and Perl to use this feature. For a list of supported compilers and how to install them, see Using loadlibrary on 64-Bit Platforms. Changes to Compiler Support The set of compilers that MATLAB supports has changed in MATLAB Version 7.6 (R2008a).
External Interfaces/API Macintosh (Intel-based 32-bit) platforms • Apple Xcode 3.0 (gcc / g++ Version 4.0.1) Discontinued Compiler Support The following compilers are no longer supported. Windows platforms • Intel C++ Version 7.1 • Intel Visual Fortran Version 9.0 • Borland® C++Builder® 6 Version 5.6 • Borland C++Builder 5 Version 5.5 • Borland C++ Compiler Version 5.5 • Compaq Visual Fortran Version 6.1 • Compaq Visual Fortran Version 6.
R2008a Compatibility Considerations Prior to this release, MATLAB contained Perl Version 5.005. Consult your Perl documentation for details on the changes between Perl versions. Rebuild MEX-Files Created on Linux Platforms MATLAB V7.6 (R2008a) on Linux platforms is built with a compiler that utilizes glibc Version 2.3.6. Compatibility Considerations To work with MATLAB V7.6 (R2008a), MEX-files compiled on a Linux platform must be rebuilt.
External Interfaces/API propertyValue = get(javaObject, 'PropertyName'); set(javaObject, 'PropertyName', newValue); Compatibility Considerations The correct commands to use are: propertyValue = javaObject.getPropertyName; javaObject.setPropertyName(newValue); In future versions of MATLAB, using get or set on Java objects to manage the properties will generate an error.
R2008a Environment Variables Required with Intel Visual Fortran 9.0 When you build a MEX-file, an engine application, or a MAT application using Intel Visual Fortran 9.0, MATLAB requires that you define an environment variable for the Windows platform you are using. Windows (32-bit) platform Define the environment variable VS71COMNTOOLS. The value of this environment variable is the path to the Common7\Tools directory of the Microsoft Visual Studio .NET 2002 or 2003 installation directory.
External Interfaces/API Changes to Dynamic Data Exchange (DDE) Documentation In MATLAB Version 5.1, all development work for the Dynamic Data Exchange (DDE) server and client was stopped. MathWorks provides, instead, a MATLAB interface to COM technology that is documented in Using COM Objects from MATLAB . Obsolete Functionality No Longer Documented Documentation for the following functions no longer included in External Interfaces.
R2007b Version: 7.
R2007b Desktop Tools and Development Environment Startup and Shutdown Windows Platforms Startup Changes You can now change the MATLAB startup directory on Microsoft Windows platforms using the standard shortcut Start in field. The My Documents\MATLAB subfolder (or Documents\MATLAB on the Microsoft Windows Vista platform) is the default startup directory.
Desktop Tools and Development Environment If scripts include the -sd startup option to specify the startup directory, that will be the startup directory, even if a directory is specified in the Start in field. Desktop New features and changes introduced in Version 7.
R2007b New Desktop Layout — All but Command Window Minimized Select Desktop > Desktop Layout > All but Command Window Minimized to arrange the desktop as shown here. The Command Window is open in the desktop, and all other desktop tools are open, but minimized. Start Button Now Includes New Category for Links and Targets In the Start button, there is a new category for Link and Target products. Select Start > Links and Targets, and then select one of the products.
Desktop Tools and Development Environment Start Button — View Source Files Renamed To add your own toolboxes to the Start button, select Start > Desktop Tools > View Start Button Configuration Files. In previous versions, this menu item was View Source Files. There has been no change in functionality or features. Changes to Look of Buttons in Desktop and Other Tools Some icons on toolbar buttons have changed slightly.
R2007b collapsed sessions. For more information, see Quick Search for Entries Beginning with Specified Letters or Numbers. Pop-Up Help for a Function in the Command Window For more information, see “Help on Selection Enhanced in Command Window and Editor” on page 19-8. Help New features and changes introduced in Version 7.
Desktop Tools and Development Environment In the Help Contents, Link and Target products appear together after any installed Simulink and blockset products, and are identifiable by the new Links and Targets green book icon, . This new category is also used in the Start button in the MATLAB desktop—for more information, see “Start Button Now Includes New Category for Links and Targets” on page 19-4.
R2007b If you add help or demos to the Help browser for your own toolbox or list your own toolbox in the Start button and you want to take advantage of the new Links and Targets category, use the new type, links_targets, in the info.xml file for your toolbox. Compatibility Considerations In previous versions, when you used the demo function to access a demo that is now in the Links and Targets category, you specified a different subtopic and category.
Desktop Tools and Development Environment 19-9
R2007b Compatibility Considerations In the previous version, you could select the function name, right-click, and select Help on Selection. The documentation appeared in the Help browser. Now if you want to see the documentation for the function in the Help browser, first access the pop-up help, and then click the Open Help Browser link. Editing and Debugging M-Files New features and changes introduced in Version 7.
Desktop Tools and Development Environment Run/Continue Button Changes The Run/Continue button has a new look and new location on the Editor/Debugger toolbar.
R2007b New look and position of Run/Continue button Run/Continue button in previous versions Compatibility Considerations The button performs the same as it did in previous versions, but you need to access it in the new position. Code Folding Feature for Collapsing and Expanding Code To improve the readability of files containing several subfunctions, the Editor includes a code folding feature, which is enabled by default.
Desktop Tools and Development Environment Quick Help for a Function in the Editor For more information, see “Help on Selection Enhanced in Command Window and Editor” on page 19-8. Line Endings Removed in Files Provided with MATLAB Software for Windows Platforms; Impacts Viewing in Notepad Application In previous versions, text files provided with MATLAB for Windows platforms included a carriage return and line feed at the end of each line.
R2007b Compatibility Considerations If you use the Notepad application to view files provided with MATLAB, you see carriage return and line feed symbols instead of line endings. This makes the files less readable in the Notepad application. Other text editors might display the symbols instead of line endings, but of the common text editors tested, none have been found that do so.
Desktop Tools and Development Environment The following illustration shows how the ver M-file included with MATLAB Version 7.5 looks when opened in the WordPad application. M-file from MATLAB Version 7.5 when opened in WordPad shows line endings. There are no problems with files you create or edit in the Notepad application, and then view or edit in MATLAB. The files have line endings in the MATLAB Editor, and continue to have line endings when you open them in the Notepad application.
R2007b • Tab completion • Debugging M-files • Evaluating selections • Accessing source control features • Docking the tool in the MATLAB desktop • Using cell features for rapid code iteration or publishing Compatibility Considerations Some users have preferred the stand-alone Editor to the MATLAB Editor/Debugger because of slightly better startup performance and because it does not require a MATLAB license.
Desktop Tools and Development Environment Text Markup in Cells for Publishing The following Editor/Debugger menu items are added to assist you in marking up cells in the Editor/Debugger for publishing. Access the menu items presented in the following list from Cell > Insert Text Markup . When you select the menu item, the Editor inserts code to assist you in adding the text markup for the specified item.
R2007b Mathematics New Functions Function Description quadgk Numerically evaluates the integral, adaptive GaussKronrod quadrature bvp5c Solves boundary value problems for ordinary differential equations, notably useful for small error tolerances maxNumCompThreads Gets and sets the maximum number of computational threads finite Function Deprecated In this release, the finite function displays a warning message that the function is now deprecated.
Mathematics Upgrade to BLAS Libraries For AMD processors, MATLAB software now uses Version 3.6 of the AMD Core Math Library (ACML™) for the Basic Linear Algebra Subroutine (BLAS) libraries. Library for LAPACK and BLAS Symbols Separated The binder library, libmwlapack.lib, containing both LAPACK and BLAS symbols is now two separate library files: libmwlapack.lib for LAPACK symbols and libmwblas.lib for BLAS symbols. Compatibility Considerations If you previously linked to the libmwlapack.
R2007b 98 Existing program code that relies on the colon operations of character arrays returning a double, needs to be updated to expect a character data type. Matrix Generating Functions No Longer Accept Complex Inputs Calling matrix generating functions, such as ones, zeros, rand, randn, true, and false, with a complex number as dimensions input now returns the error: true([1 i]) ??? Error using ==> true Size vector must be a row vector with real elements.
Data Analysis Data Analysis 19-21
R2007b Programming Increased Size for Large Arrays On 64-bit platforms, MATLAB arrays are no longer limited to 231 elements. The limit in MATLAB 7.5 is 248-1. For example, given sufficient memory, many numeric and low-level file I/O functions now support real double arrays greater than 16 GB.
Programming New Split String Functionality in regexp Using the regular expressions function regexp, you can now split an input string into sections by specifying the new 'split' option when calling regexp: s1 = ['Use REGEXP to split ^this string into ' ...
R2007b % Deal with the error captured in MException object, ME - code to handle the error end ME is an object of the MException class. This command gives you access to the MException object that represents the error (i.e., exception) being caught. Warning and Error Messages Now Wrap In previous versions of MATLAB, warning and error messages that were longer than the width of your terminal screen extended beyond the visible portion of your screen.
Programming name: '@()error('* Error *')' line: 1 line: 0 % V7.4 response % V7.5 response Compatibility Considerations If you have programs that rely on the line number returned in response to an error in an anonymous function, these programs may not work as expected. Remove dependencies on the returned error message and line number, or update your program code to use the new string and value. New Message In Response to Ctrl+C MATLAB now displays a more user-friendly message when you press Ctrl+C.
R2007b Compatibility Considerations If you call hdfread in a script to perform an I/O operation and that operation fails, your script will now terminate. Previously, because hdfread only warned when an I/O operation failed, your script would continue processing. Results From tempname Are More Unique The tempname function now produces a string such as C:\Temp\tpe51f2ba3_9ad3_490f_8142_58359c98f4a5 when Java is present, or a string like C:\Temp\tp346976948758473 when nojvm is selected.
Programming Windows Current Working Directory Corrected On Windows, you can define a current working directory, cwd, for each drive letter. For example, entering the command cd D:\work at the DOS prompt defines your D current working directory as D:\work. All references to D: are then relative to this directory. The term . . . Represents the directory . . .
R2007b Compressed AVI Video Files in Windows Vista and Windows XP x64 Because Windows Vista, Windows Vista 64-bit, and Windows XP x64 operating systems do not ship with the Indeo® 5 codec, which is the default codec used by MATLAB AudioVideo functions for file compression, the functions movie2avi and avifile now generate uncompressed AVI files on these platforms. Also, aviread on these platforms cannot read files that were compressed using the Indeo 5 codec.
Programming Removal of freeserial Function The freeserial function is now obsolete. Use fclose to release the serial port. Compatibility Considerations If your program code still makes use of the freeserial function, replace each instance with the fclose function instead.
R2007b Graphics and 3-D Visualization Datatips Are Now Saved to FIG-Files When you save a figure, all datatips existing in it are saved along with other annotations. When you open the FIG-file, the datatips are displayed and can be manipulated or deleted in the same ways they could in the original figure. Compatibility Considerations If you open a FIG-file containing datatips while using a previous MATLAB version (V7.4 or earlier), no error results, but the datatips do not display.
Graphics and 3-D Visualization annotation function, it can grow or shrink to just fit the text you type into it. This behavior is controlled by the Annotation Textbox object's FitBoxToText property, which can be 'on' or 'off'. When you create a textbox with the Annotation toolbar (using the tool), this property is set to 'on' if you create a textbox without dragging; however, if you drag to make the new textbox have a certain size, the property is initially 'off'.
R2007b If you edit a textbox that has FitBoxToText set to 'on', the textbox resizes to accommodate the number of characters and lines in the text as you type. You can reposition the textbox without changing the FitBoxToText property, but as soon as you resize it, the property becomes (or remains) 'off'.
Graphics and 3-D Visualization Property Inspector Now Has Context-Sensitive Help When you use the Property Inspector (the inspect command), you can now ask for a description of any property it shows. The descriptions come from the property reference page for the type of object being inspected (e.g., axes, lineseries, annotations, uicontrols, etc.).
R2007b • scatter • scatter3 • semilogx • semilogy • stairs • stem • stem3 • subplot • surf • surfc Compatibility Considerations Specifying the v6 flag to any plotting function now results in a warning that the option is being removed, but the option still functions. To generate a FIG-file for a plot created with the v6 option, you still need to use the -v6 option to the hgsave command in order to save it in a form that a previous version of MATLAB can read.
Creating Graphical User Interfaces (GUIs) Creating Graphical User Interfaces (GUIs) New Editors for Creating Custom Toolbars within GUIDE In previous releases, adding toolbars to a GUI had to be done programmatically, by writing code for the uitoolbar, uipushtool and uitoggletool functions. GUIDE now has a Toolbar Editor and an associated Icon Editor that allow you to lay out a toolbar for a GUI and populate it with standard predefined tools for printing, saving, panning, zooming, annotating, etc.
R2007b Both measurements are given in pixels, regardless of the current Units settings for GUI objects. When multiple objects are selected, any elements of their Position properties that are not identical are read out as MULTI. The readouts help you to precisely size and align GUI components.
Creating Graphical User Interfaces (GUIs) Function Name What Happens When You Run the Function? Use This Function Instead Compatibility Considerations hthelp Errors web Replace existing instances of hthelp with web layout Errors None No replacement matq2ws Errors None No replacement matqdlg Errors None No replacement matqparse Errors None No replacement matqueue Errors None No replacement menubar Errors Set the menubar property of the figure to none No differences menuedit E
R2007b External Interfaces/API Support for 64-bit mxArrays MATLAB Version 7.5 (R2007b) supports 64-bit mxArrays. This change allows C/C++ and Fortran files built on 64-bit platforms to handle large data arrays. In earlier versions of MATLAB, mxArrays are limited to 231-1 elements. In Version 7.5 (R2007b) your mxArray can have up to 248-1 elements. The mex command option, -largeArrayDims, uses the large-array-handling mxArray API.
External Interfaces/API Changes to the MATLAB Locale Setting Retrieving and using the proper locale setting is a mandatory operation in creating and using applications for international audiences. In R2007b, MATLAB Version 7.5 standardizes the way it initializes the locale setting across platforms. As a result, on Microsoft Windows platforms, MEX-files that use C/C++ locale-dependent standard library functions should note that MATLAB now sets the locale using the setlocale function.
R2007b • “New Compiler Support” on page 19-40 • “Discontinued Compiler Support” on page 19-40 • “Compiler Support to Be Phased Out” on page 19-40 New Compiler Support MATLAB V7.5 (R2007b) supports new compilers for building MEX-files. Windows platforms • Microsoft Visual Studio 2005 SP1 Sun Solaris SPARC (64-bit) platform • gcc / g++ Version 4.1.2 Discontinued Compiler Support The following compilers are no longer supported.
External Interfaces/API • Compaq Visual Fortran Version 6.6 • Intel C++ Version 7.1 • Borland C++Builder 6 Version 5.6 • Borland C++Builder 5 Version 5.5 • Borland C++ Compiler Version 5.5 • Compaq Visual Fortran Version 6.1 Changes to Applications Built with Borland 5.5 or 5.6 C Compilers MATLAB applications built with Borland Version 5.5 or 5.6 C compilers have changed in MATLAB Version 7.5 (R2007b).
R2007b Windows (32-bit) platform Define the environment variable VS71COMNTOOLS. The value of this environment variable is the path to the Common7\Tools directory of the Visual Studio .NET 2002 or 2003 installation directory. (Intel Visual Fortran requires Visual Studio .NET 2002 or 2003 on 32-bit Windows platforms.) The Visual Studio .NET 2003 installation program commonly defines this environment variable.
External Interfaces/API Compatibility Considerations If you must support this obsolete functionality, we suggest you print a copy of the External Interfaces chapter “COM and DDE Support (Windows Only)” from MATLAB V7.4 (R2007a) or earlier. Documentation for Obsolete Functions To Be Phased Out Documentation for the following functions is included in the MATLAB Function Reference documentation for MATLAB V7.5 (R2007b), but will not be included in a future version of MATLAB.
R2007a Version: 7.
R2007a Desktop Tools and Development Environment Startup and Shutdown New features and changes introduced in Version 7.
Desktop Tools and Development Environment Now on Microsoft Windows and Macintosh platforms, the Import Wizard opens in the existing session of MATLAB, and you use it to load the data into the workspace. By default, in previous versions, double-clicking an M-file in Explorer opened it in the MATLAB stand-alone Editor. For more information about that change, see “StandAlone Editor No Longer Opens By Default; To Be Removed in a Future Version” on page 20-18.
R2007a Compatibility Considerations In previous releases, the default startup directory was \Work, located in the directory in which MATLAB was installed. For example, in R2006b, if you installed MATLAB in C:\Program Files, the default startup directory was C:\Program Files\MATLAB \R2006b\Work.
Desktop Tools and Development Environment Windows Vista User Account Control (UAC) security features restrict access to Program Files. To accommodate this enhanced security model, the default startup directory in MATLAB has been moved outside of Program Files.
R2007a Compatibility Considerations If you use a specific version of Java with MATLAB on Windows platforms, this change might impact you. New Version of Java Access Bridge Software MATLAB now installs Java Access Bridge 2.0, which is used by Freedom Scientific BLV Group JAWS® software for accessibility support.
Desktop Tools and Development Environment button and select Restore toolname to return the tool to the desktop. Perform these tasks for the selected tool using items in the Desktop menu, equivalent mnemonics (for example Alt+D, N to minimize), or buttons on the tool's titlebar. The following illustrations show how to use these features, using the example of the Command History window in the default desktop layout. Minimize a tool, for example, the Command History window.
R2007a When minimized, a tool, such as the Command Window in this example, is represented by a button on the desktop border.
Desktop Tools and Development Environment Hover over or click the button for a minimized tool to temporarily view the tool. The tool is temporarily displayed until you select another tool. Then the tool becomes minimized again.
R2007a On the button for a minimized tool, right-click, and from the context menu, select Restore. The tool resumes the size and position it had in the desktop before it was minimized. Maximize Tools in the Desktop On Windows and UNIX platforms, you can maximize a tool so it occupies the entire desktop tool area in MATLAB, then restore it to return it to its previous location.
Desktop Tools and Development Environment Default desktop layout. Maximize a tool, for example, the Command Window so it occupies the full MATLAB desktop area.
R2007a Maximized, the Command Window now occupies the full desktop area. Restoring the Command Window returns it to its original size and location in the desktop. Tabs for Tools Replaced by Title Bars In the desktop, when you tab tools together, that is, arrange them so they occupy the same position, the tools' title bars share the title bar area. To make a tool active, select its name in the title bar.
Desktop Tools and Development Environment The Current Directory browser and Workspace browser are "tabbed together". The name of the tool in the title bar serves as the tab. To make a tool active, click its name in the title bar. For example, click Workspace in the title bar to make the Workspace browser active. Compatibility Considerations In previous versions, tools tabbed together each had a tab at the bottom of the area they occupied.
R2007a Multithreaded Computation Support Added; Enable Via New Preference If you run MATLAB on a multiple-CPU system (multiprocessor or multicore), use a new preference to enable multithreaded computation. This can increase performance in MATLAB for element-wise and BLAS library computations. By default the preference is not set, so you must set it to enable multithreaded computation.
Desktop Tools and Development Environment Macintosh Platforms—Some Key Bindings in Command Window Changed On Macintosh platforms, some key bindings were changed to make them more consistent with Mac OS XMac OS X standard behaviors. Compatibility Considerations Key bindings you have been used to in the Command Window might have changed. Help New features and changes introduced in Version 7.
R2007a • More easily see if this same documentation page has been updated for the latest product version. Include Search Database for Your Own Help Files If you create your own HTML help files for use with the MATLAB Help browser, the Help browser can now search the content of your files. Create a search database for your help files using the new builddocsearchdb function. The function creates a helpsearch directory that contains the search database files.
Desktop Tools and Development Environment Current Directory Browser Enhancements • When you double-click a Windows shortcut in the Current Directory browser, it runs the shortcut. • When you double-click a prj file in the Current Directory browser, it opens in the Deployment Tool. • You can now find entries in the Current Directory browser by typing the first few letters of an entry; the entry that begins with those letters is selected.
R2007a • “Delimiter Matching Extended to Include Language Keyword Pairs” on page 20-19 • “M-Lint Automatic Correction Feature” on page 20-19 • “M-Lint Detection of Missing End-of-Line Semicolons Enhanced” on page 20-19 • “Macintosh Platforms—Some Key Bindings in Editor/Debugger Changed” on page 20-20 • “Other Changes in the Editor/Debugger” on page 20-20 Stand-Alone Editor No Longer Opens By Default; To Be Removed in a Future Version Starting in this release, by default, double-clicking an M-file in Window
Desktop Tools and Development Environment Delimiter Matching Extended to Include Language Keyword Pairs You can now see the match to language keyword pairs using delimiter matching features that previously existed for parentheses and brackets. For example, when you type end, the Editor/Debugger highlights the matching if. To set delimiter matching preferences, select File > Preferences > Keyboard > Delimiter Matching; click Help for more information.
R2007a Terminate statement with semicolon to suppress output. However, M-Lint suppressed displaying the message for files with three or more cells (a cell being indicated by a line with an initial %%). This was done based on the assumption that such files were demo programs, and therefore display of the output was intentional. In MATLAB Version 7.4 (R2007a), M-Lint no longer makes a distinction for files with three or more cells.
Desktop Tools and Development Environment Compatibility Considerations See the compatibility considerations associated with “M-Lint Detection of Missing Endof-Line Semicolons Enhanced” on page 20-19. Publishing Results New features and changes introduced in Version 7.
R2007a Mathematics New Functions 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 More Efficient Matrix Multiplication for Sparse Matrices Matrix multiplication for A'*b now handles sparse matrices more efficiently. rand Function Uses the Mersenne Twister Algorithm as Default The rand function now uses the Mersenne Twister algorithm as default generator algorithm.
Mathematics 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.
R2007a Compatibility Considerations Existing program code that relies on mode of an empty array to return an empty array should be modified. Change to Syntax for Setting BLAS Library Version on Linux 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.
Data Analysis Data Analysis 20-25
R2007a Programming New Functions New Functions in this release are Function Description assert Generates an error when a specified condition is violated. Displays either the default error message or one that you have written. ismac Returns true if you are currently running one of the Mac OS X versions of MATLAB. verLessThan Compares the specified version number and toolbox name with the version of that same toolbox that is currently running.
Programming extra task of sorting through the output and merging like data types together in your own code. For more information, see the textscan function reference page. Numbered Arguments for Formatted String Functions Using numbered argument specification with MATLAB functions that employ format specifiers such as %d or %s (e.g., sprintf, error), you can pass the numeric and character string values that correspond to these format specifiers in a varying order.
R2007a fileinfo = name: date: bytes: isdir: datenum: 'myfile.txt' '16-Mar-2006 13:34:01' 251 0 7.3275e+005 This new output is also returned when running dir on an FTP server. Using whos -file on Objects with Overloaded size or class Methods MATLAB is unable to determine the true size of an object stored in a MAT-file if the class of this object overloads the MATLAB size function. Likewise, MATLAB cannot determine the true class name of an object if it overloads the MATLAB class function.
Programming 'MATLAB' eval(s) ans = MATLAB Compatibility Considerations You might have to modify M-file programs that expect the previous behavior from mat2str. Warning Generated by try-catch To accommodate future changes in the MATLAB error-handling capabilities, there is a new restriction to the syntax of the try-catch block. When the first MATLAB statement that follows the try keyword consists of just a single term (e.g.
R2007a try statements, catch statements, end Warning: This try-catch syntax will continue to work in R2007a, but may be illegal or may mean something different in future releases of MATLAB.
Programming In the following example, function myfun1 is not callable if the current working directory is set to dir1. The same holds true for myfun2 if the current working directory is set to dir2. \home\matlab\@myobj\dir1\myfun1.m \home\matlab\@myobj\dir1\dir2\myfun2.m This behavior existed in the R2006b release, as well as in this release.
R2007a Compatibility Considerations It is recommended that you remove calls to ispuma from your M-file functions.
Graphics and 3-D Visualization Graphics and 3-D Visualization Nudging Annotations with Arrow Keys In plot edit mode, annotations such as textboxes, lines, arrows, doublearrows, and text now respond to pressing directional arrow keys. Each keypress will move the selected annotation(s) one or more pixels in the indicated direction. If you select multiple objects, they all move together in response to arrow key strokes. Normally, selected objects move one pixel with each press of an arrow key.
R2007a Property Inspector Now Categorizes Graphic Object Properties The Property Inspector (accessed via the Property Editor, GUIDE, and the inspect function) now provides tree views of groups of graphic object properties as well as an alphabetical list of all properties.
Graphics and 3-D Visualization In addition, the type of object currently being inspected is now shown in the title bar of the Property Inspector window. Formerly it was shown in the gray area below the title bar, which now contains the view manipulation buttons. To change view, click a button without the blue background (the collapse and expand buttons at right are disabled in alphabetic list view). When you change views, the selected property stays the same.
R2007a Creating Graphical User Interfaces (GUIs) GUIDE No Longer Copies Callbacks When You Duplicate Components In GUIDE, when you copy a component for which one or more of its callback properties are defined, the callback properties of the newly created component are now set to their default values, the ones you get when adding a component directly from the Component Palette. Previously, their values were copied from the corresponding callback properties of the original component.
Creating Graphical User Interfaces (GUIs) UNIX: File Dialog 'Location' Property Is Obsolete For UNIX platforms, the Location property of uigetfile and uiputfile is obsolete. Previously, for UNIX platforms only, you could use the Location property to specify the screen location at which the dialog box would originally be displayed.
R2007a 20-38 Function Replacement hidegui Obsoleted. Now issues warnings. Set the figure HandleVisibility property instead. uigettoolbar Obsoleted. No warnings will be displayed until a replacement is available in a future release.
External Interfaces/API External Interfaces/API New File Extensions for MEX-Files MEX-Files in MATLAB for Apple Macintosh (Intel) With the introduction of MATLAB for Macintosh (Intel), the MEX-files you build have the extension .mexmaci. The mexext command in MATLAB returns mexmaci for Macintosh (Intel). Compatibility Considerations MEX-files built using MATLAB for Macintosh PowerPC®, which have.mexmac extensions, cannot be used in MATLAB for Macintosh (Intel).
R2007a Compatibility Considerations Recompile these MEX-files with MATLAB R12 or later. Changes to Compiler Support The set of compilers that MATLAB supports has changed in MATLAB Version 7.4 (R2007a). For an up-to-date list of supported compilers, see the Supported and Compatible Compilers Web page.
External Interfaces/API Macintosh PowerPC and Macintosh (Intel) platforms • Apple Xcode 2.4.1 (gcc / g++ version 4.0.1) • g95 version 0.90 Note: All MEX-files on Macintosh platforms need to be recompiled for R2007a. Linux (64-bit) platform • gcc / g++ version 4.1.1 • g95 version 0.90 Linux (32-bit) platform • gcc / g++ version 4.1.1 • g95 version 0.90 Note: All Fortran MEX-files compiled on Linux platforms need to be recompiled for R2007a. Solaris SPARC (64-bit) platform • cc / CC version 5.
R2007a Compatibility Considerations Refer to the IBM XL Fortran V10.1 for Linux Language standards Web site http:// publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101 /index.jsp?topic=/com.ibm.xlf101l.doc/xlflr/languagestandards.htm for information about incompatibilities between language standards. Discontinued Compiler Support The following compilers are no longer supported. Linux (64–bit) platform • gcc / g++ version 3.4.5 • g77 version 3.4.5 Linux (32–bit) platform • gcc / g++ version 3.4.
External Interfaces/API • Borland C++Builder 5 version 5.5 • Borland C++ Compiler version 5.5 • Compaq Visual Fortran version 6.6 • Compaq Visual Fortran version 6.1 Additional Linker Support for Intel Fortran MATLAB V7.4 (R2007a) supports new linkers for building MEX-files with Intel Visual Fortran 9.0. Windows (32-bit) platform • Microsoft Visual Studio .
R2007a For an example of this feature, see Responding to Interface Events from an Automation Server. Get the Status of a MATLAB Automation Server Using the enableservice function you can learn the current state of a MATLAB Automation server. The function returns a logical value, where logical 1 (true) means MATLAB is an Automation server and logical 0 (false) means MATLAB is not an Automation server.
External Interfaces/API invoke(target_sheet, 'Activate'); Activesheet = myApp.Activesheet; cellname = 'B2'; Range = Activesheet.cells.Range(cellname,cellname); the term Range is both a function on the MATLAB path and a constructor of the class Range. MATLAB tries to execute the function range, which generates the error: ??? Error using ==> range Too many input arguments. Error in ==> MyScript at 8 Range = Activesheet.cells.Range(cellname,cellname); To get the property value, use the get function.
R2006b Version: 7.
R2006b Desktop Tools and Development Environment Startup and Shutdown New features and changes introduced in Version 7.3 (R2006b) are described here. Associate Files from MATLAB Program with Windows Operating System Using New Utility You can run a utility from the Help browser to associate .m, .mat, .fig, .p, and .mdl files with the MATLAB program in the Microsoft Windows operating system.
Desktop Tools and Development Environment To achieve the former behavior, that is, to redirect both output and errors to the specified target, use that specific redirect syntax for your shell. For example, in tcsh, use >&, as in matlab -nodesktop -"r magic(3), magi(5)" >& test.txt Desktop New features and changes introduced in Version 7.3 (R2006b) are described here. M-Lint Preferences Added and Now Appear on M-Lint Panel M-Lint preferences now appear on a new M-Lint panel.
R2006b Compatibility Considerations M-Lint preferences were previously accessed via the Editor/Debugger Language settings for M.
Desktop Tools and Development Environment Close All Documents and Close Selected Documents Feature Added When you have multiple documents open within a tool, such as M-files in the Editor/ Debugger, select File > Close to readily close selected files in that tool. Alternatively, right-click the document bar to close all open documents or all open documents except the selected document in that tool.
R2006b Compatibility Considerations In previous versions, MATLAB displayed a warning when it encountered an invalid info.xml file. Help New features and changes introduced in Version 7.3 (R2006b) are described here. Exact Phrase and Wildcard Searching Added; Change to Search Database These improvements were made to the Help browser search feature. Note that they are not supported on Japanese systems. • Search Field Always Shown — The Search for field is now always in view when the Help browser is open.
Desktop Tools and Development Environment documentation will not be included in searches. If you want search to work for that documentation, contact the product provider to request an R2006b-compatible search database. If you provide documentation for the Help browser and want the documentation to be included in the searches, you need to update the helpsearch.db entry in the info.xml file to the helpsearch directory, and prepare an R2006b-compatible help search database.
R2006b Editing and Debugging M-Files New features and changes introduced in Version 7.3 (R2006b) are • “File Comparisons Tool Added” on page 21-8 • “M-Lint Enhancements for Suppressing Messages, and Showing Messages for the MATLAB Compiler Product” on page 21-10 • “Restore Breakpoints Using New dbstop Feature” on page 21-11 • “End Debugging Completely Using New dbquit('all') Option” on page 21-11 File Comparisons Tool Added Use the new File Comparisons tool to highlight the differences between two files.
Desktop Tools and Development Environment Use elements in the toolbar to exchange the left-right positions of the two files and to specify the number of columns shown.
R2006b You can also run the File Comparisons tool from the desktop by selecting Desktop > File Comparisons. Drag a file from the Current Directory browser or Windows Explorer into the tool. Then drag the second file into the tool.
Desktop Tools and Development Environment product is installed and you select the M-Lint preference to Show MATLAB Compiler deployment messages. You can also disable or enable all deployment messages via the Editor/Debugger Tools > M-Lint menu. You can suppress specific messages using the same methods as for other M-Lint messages. Compatibility Considerations M-Lint preferences were previously accessed via the Editor/Debugger Language settings for M.
R2006b Compatibility Considerations The new File Comparisons tool replaces the File Comparison Report. The tool provides the same functionality as the report did, and adds new features. For details, see “File Comparisons Tool Added” on page 21-8. M-Lint Code Check Report Enhancements and Changes You can indicate specific messages or categories of messages you want M-Lint to report.
Desktop Tools and Development Environment consider preallocating for speed. 34: Use dynamic fieldnames with structures instead of GETFIELD... Type 'doc struct' for more information. In MATLAB Version 7.2 (R2006a), M-Lint messages could only be suppressed for the entire line: data{nd} = getfield(flds,fdata{nd}); %#ok In MATLAB Version 7.3 (R2006b), you can still use %#ok to suppress all messages for the line, or you can add an ID tag to indicate the exact messages to suppress.
R2006b which displays an M-Lint report in the MATLAB Web browser for the lengthofline file in the current directory using the M-Lint settings in I:\MATLABFiles \NoSemiSettings.txt. Toolbar Refresh Button Removed The Profiler included a refresh button on the toolbar. This button has been removed. It performed an action similar to the Refresh button that appears in many of the Profiler reports, so use that button instead. Publishing Results notebook Setup Arguments Removed In MATLAB 7.
Mathematics Mathematics New Functions Function Description amd Interface to the amd algorithm. This interface is similar to that used in symamd, but is typically faster than symamd. bvpxtend Forms a guess structure for extending the boundary value problem solution ldl Full ldl factorization and solving for Hermitian matrices max and min Now Use Magnitudes and Phase Angle for Complex Input For complex input, min and max are computed using the magnitude, min(abs(x)) and max(abs(x)) respectively.
R2006b Permutation Vectors with lu, luinc, ldl Permutation vectors for lu, luinc, and ldl provide memory savings and, for large data, a noticeable performance improvement. You can now store permutation information in a single 1-by-N vector instead of an n-by-n matrix, Two-Element Threshold for lu, spparms A new two-element threshold for lu and spparms gives you more control over sparse lu and sparse \ behavior.
Mathematics Sparse Arrays on 64-Bit Systems The internal storage of sparse arrays on 64-bit systems has changed in the R2006b release. This change should be invisible to most MATLAB users. However, MEX-file programs that run on a 64-bit system and access sparse arrays must be modified and recompiled in order to run on MATLAB Version 7.3. This applies to existing MEX-files and to any new MEX-files that you write.
R2006b • There are new syntaxes for importing from and exporting to the library's internal single- and double-precision wisdom databases. These are as follows and are documented in the reference page for the MATLAB fftw function: • str = fftw('dwisdom') • str = fftw('swisdom') • fftw('dwisdom', str) • fftw('swisdom', str) Compatibility Considerations FFTW version 3.1.1 does not support wisdom produced by previous versions of the FFTW library.
Mathematics • The opts.cheb and opts.stagtol fields in the options structure of eigs Compatibility Considerations You will need to remove all instances that reference these functions at this time. These functions are no longer supported in MATLAB. max and min No Longer Return Warning Messages for Inputs with Different Data Types In MATLAB version 7.0 (Release 14), the functions max and min were changed to return results of a different data type than in previous releases.
R2006b Data Analysis Generate M-File Now Supports Basic Fitting and Data Statistics The Generate M-File option on the File menu of MATLAB figure windows now generates code that reproduces plot objects created with the Basic Fitting Tool or the Data Statistics Tool. The generated M-file function accepts new data as input and creates plot objects with the same graphics properties as those in the generating figure. In addition, the M-file recomputes fits and statistics for the new data.
Programming Programming Saving to MAT-Files Larger than 2 GB With MATLAB R2006b, you can save data items that are over 2 gigabytes in size. This capability is implemented in MATLAB using a new HDF5-based format for MAT-files. To save to a MAT-file in this format, specify the new -v7.3 option with the save function: save -v7.3 myfile v1 v2 Note: MATLAB Version 7.3 does not write MAT-files in HDF5 format by default in this release; you must explicitly specify the -v7.3 switch.
R2006b save Option Description Available In Versions Is the Default In Versions save -v7 Save to a MAT-file you can open in MATLAB version 7 V7.3 and later V7.3 save -v7.3 Save to a MAT-file that supports data items V7.3 and ≥2 GB later post V7.3 Compatibility Considerations If you are running MATLAB on a 64-bit computer system and you attempt to save a variable that is too large for a version 7 (or earlier) MAT-file, that is, you save without using the -v7.
Programming • parfor – designates a for loop in the Distributing Computing Toolbox • classdef – signals the beginning of a MATLAB class definition The iskeyword function returns true for each of these functions, thus identifying them as reserved keywords in MATLAB: Compatibility Considerations MATLAB keywords are reserved for use internal to MATLAB, and should not be used in your own program code as identifiers or function names.
R2006b Compatibility Considerations If any of your programs depend on the displayed output of whos, specifically in relation to the changes listed above, you might have to modify your program code. Also, if your code relies on a specific number of fields for the output structure, you should be aware that this release adds a new field: persistent.
Programming save -v7 filename You can still save to a MAT-file without using compression or Unicode encoding. In fact, you will have to do this in order to create MAT-files that you can load into a MATLAB Version 6 or earlier.
R2006b end Compatibility Considerations Your M-file programs may generate this warning if correct syntax for try and catch is not used. Case-Sensitivity Warning Removed The following warning has been removed from MATLAB in release R2006b: "Function call foo invokes /somewhere/on/the/path/foo.m, however, function /somewhere/ahead/on/the/path/FOO.m that differs only in case precedes it on the path.
Programming Compatibility Considerations If any of your programs use lower-level MATLAB file I/O functions that send output to stdin, because these functions no longer ignore this type of operation, your code will now generate an error. You should modify your program code to use a file identifier other than zero.
R2006b function [A B C] = myfun(x, y) Compatibility Considerations This new syntax is not valid in MATLAB versions earlier than Release 14.
Graphics and 3-D Visualization Graphics and 3-D Visualization Plotting Tools Are Now Modular Desktop Components The three MATLAB plotting tools (Figure Palette, Property Editor, and Plot Browser) now function as desktop components like the Workspace Browser and the Array Editor. They dock, however, not to the MATLAB desktop but to a Figures window. Figures windows contain one or more figures, each of which is accessible by a tab. Turning on any plotting tool changes your figure group into a mini-desktop.
R2006b rendering, and other printing characteristics in this new dialog. The Page Setup and Print Setup dialogs still exist, and the Print dialog that you call from File —> Print remains the same. The Page Setup dialog is available on all platforms. For more information, see Using Print Preview in the MATLAB Graphics documentation and printpreview in the MATLAB function reference documentation. Compatibility Considerations The Page Setup dialog no longer is available from the figure window File menu.
Graphics and 3-D Visualization Customizing Zoom, Pan, and Rotate3D Data Explore Modes You can now customize the behavior of data explore modes by modifying the zoom, pan and rotate3d objects that are dereferenced as follows: h = pan(figure_handle) h = rotate3d(figure_handle) h = zoom(figure_handle) These syntaxes create mode objects that you can use to control the behaviors of the explore tools.
R2006b • GUI Alternatives sections above syntax descriptions describe how to invoke a function (or similar capability) from a GUI, and provide links to relevant topics in the Graphics and Desktop Tools User Guides.
Creating Graphical User Interfaces (GUIs) Creating Graphical User Interfaces (GUIs) Functions Are Now Obsolete The following functions are obsolete in MATLAB 7.3 (R2006b): axlimdlg, edtext, menubar, pagedlg, umtoggle. Compatibility Considerations The functions shown in the following table will continue to work but their use will generate a warning message.
R2006b Documentation Enhancement The Creating GUIs Programmatically section of the documentation now contains information commensurate with information in the Creating GUIs with GUIDE section. It adds, in workflow order, information and many basic examples about: • Adding components, menus, and toolbars to your GUI. Placing and aligning components. • Designing for cross-platform compatibility. • Initializing the GUI and creating callbacks. • Callback examples for the different components.
External Interfaces/API External Interfaces/API New Types for Declaring Size and Index Values Version 7.3 (R2006b) defines two new types for API arguments and return values. These are • mwSize — represents size values, such as array dimensions and number of elements. • mwIndex — represents index values, such as indices into arrays. Using these types in array declarations replaces more specific type declarations such as int or INTEGER*4.
R2006b Sparse API Functions Affected By This Change You will need to recompile any MEX-files that use the following sparse functions on a 64bit system: • mxGetIr • mxGetJc • mxSetIr • mxSetJc New MEX Switch In order to build MEX-files that use any of the sparse array functions listed above, you need to compile these files with the -largeArrayDims switch, as shown here: mex -largeArrayDims filename Also, any existing MEX-files that interact with sparse arrays in MATLAB Version 7.
External Interfaces/API New MAT-File Format Based on HDF5 In Version 7.3 (R2006b), you can save MAT-files in a format based on HDF5. Unlike earlier MAT-file formats, the HDF5-based format is capable of saving variables that occupy more than 2 GB of storage, including large arrays created on 64-bit systems. To save a MAT-file in the HDF5-based format, use the -v7.3 option to the MATLAB save function or the "w7.3" mode argument to the C or Fortran matOpen function.
R2006b Changes to Compiler Support Compaq Visual Fortran version 6.1 is supported in Version 7.3 (R2006b) but will not be supported in a future version of MATLAB. Compatibility Considerations To ensure continued support for building your Fortran programs, consider upgrading to another supported compiler. For an up-to-date list of supported compilers, see the Supported and Compatible Compilers Web page.
External Interfaces/API feature('COM_ActxProgidCheck',1) By default, ProgID checking is on.
R2006a Version: 7.
R2006a Desktop Tools and Development Environment Startup and Shutdown New features and changes introduced in Version 7.2 (R2006a) are described here. Installation Directory Structure on Windows Platforms The installation directory structure on Microsoft Windows platforms is slightly different than in previous versions. By default, the structure now includes a general MATLAB top level directory, with a subdirectory for R2006a.
Desktop Tools and Development Environment JVM Software Updated for 64-Bit Linux Platforms The Sun Microsystems JVM software version that MATLAB uses is now version 1.5.0_04 for 64-bit platforms running the Linux operating system from Linus Torvalds. Desktop New features and changes introduced in Version 7.2 (R2006a) are described here.
R2006a Keyboard and Indenting Command Window Preferences Reorganized The Command Window Keyboard and Indenting preferences pane was removed. The tab size preference is now on the Command Window preferences pane. The tab completion, keybinding, and parentheses matching preferences were moved to the new Keyboard preferences pane. The parentheses-matching preferences are now called delimitermatching preferences and are shared with the Editor/Debugger. Help New features and changes introduced in Version 7.
Desktop Tools and Development Environment Editing and Debugging M-Files New features and changes introduced in Version 7.
R2006a Compatibility Considerations If you press the Tab key to add spacing within your statements, you might instead get a completion for a function or see a list of possible completions.
Desktop Tools and Development Environment M-Lint Automatic Code Analyzer Checks for Problems and Suggests Improvements The M-Lint code analyzer, now built into the Editor/Debugger, continuously checks your code for problems and recommends modifications to maximize performance and maintainability.
R2006a Debugging Changes • The dbstop function now allows you to stop at, (not in), a non M-file, allowing you to view code and variables near it in your M-file. For example, if you want to stop at the point in your M-file myfile.m where the built-in clear function is called, run dbstop in clear; mymfile.
Desktop Tools and Development Environment 22-9
R2006a If you do not want cell mode enabled, select Cell > Disable Cell Mode. MATLAB remembers the cell mode between sessions. If cell mode is disabled when you quit MATLAB, it will be disabled the next time you start MATLAB, and the converse is true. In MATLAB Version 7.2, the first time you open an M-file in the Editor/Debugger, the cell toolbar appears. If the M-file contains a line beginning with %%, an information bar appears below the cell toolbar, providing links for details about cell mode.
Desktop Tools and Development Environment M-Lint and mlint Enhancements and Changes The M-Lint code analyzer is now built into the Editor/Debugger where it continuously checks your code for problems and recommends modifications to maximize performance and maintainability. For details, see “M-Lint Automatic Code Analyzer Checks for Problems and Suggests Improvements” on page 22-7. Compatibility Considerations The mlint function has changed slightly to support its use in the Editor/Debugger.
R2006a Accuracy Improved The Profiler provides more accurate accounting. The total time you see with the Profiler GUI now matches total wall clock time from when you started profiling until you stopped profiling. Overhead associated with the Profiler itself is now applied evenly. Statistics for Recursive Functions The profile function now gathers and reports time for recursive functions in the FunctionTable's TotalTime for the function.
Desktop Tools and Development Environment publish Function has New catchError Option The publish function has a new catchError option that allows you to continue or stop publishing if the M-file contains an error. Source Control Interface New features and changes introduced in Version 7.2 (R2006a) are described here.
R2006a Mathematics New Library CHOLMOD for Sparse Cholesky Factorization For sparse matrices, MATLAB now uses CHOLMOD version 1.0 to compute the Cholesky factor. CHOLMOD is a set of routines offering improved performance in factorizing sparse symmetric positive definite matrices. See the function reference pages for chol, spparms, and mldivide for more information on how CHOLMOD is used by MATLAB.
Mathematics Improved Algorithm for expm The expm function now uses an improved algorithm to compute a matrix exponential. This algorithm often requires fewer matrix multiplications. More Efficient condest for Sparse Matrices The condest function handles sparse matrices more efficiently when estimating a 1-norm condition number. accumarray Accepts Cell Vector Input The accumarray function now accepts a cell vector as the subs input.
R2006a Data Analysis Data Analysis Collection Revised and Expanded In this release, the MATLAB Data Analysis collection has been thoroughly revised to improve content organization and flow. In addition, most examples have been updated and streamlined. Reference Pages for timeseries and tscollection Objects Detailed reference pages are now available for timeseries and tscollection objects, properties, and methods.
Programming Programming Larger Data Sets with 64-Bit Windows XP MATLAB support for Windows XP 64-bit edition enables you to handle much larger data sets. To learn more about memory allocation for arrays, see Memory Allocation. Using avifile and movie2avi on Windows XP 64 Note You must change the compression setting if you use the avifile or movie2avi function on Windows XP 64. MATLAB currently defaults to using Indeo codecs to compress video frames when using avifile/addframe or movie2avi.
R2006a For example, to use the Intel YUV codec, use the four-CC code: aviobj = avifile('myvideo.avi', 'compression', 'IYUV'); Other codecs can be found at http://fourcc.org. Note there are restrictions with some codecs. For example, some codecs can only be used with grayscale images. Regular Expressions MATLAB 7.2 introduces the following new features for regular expressions in MATLAB. For more information on these features, see Regular Expressions in the MATLAB Programming documentation.
Programming issorted Support for Cell Arrays You can now use the issorted function on a cell array of strings. XLS Functions Support More Formats xlsread now supports Excel files having formats other than XLS (e.g., HTML) as long as the COM server is available. Also, xlsfinfo now returns this file format information. Archiving Functions Accept Files on Path and ~/ Files specified as arguments to gzip, gunzip, tar, and zip can now be specified as partial path names.
R2006a Changes to Character Encoding in File I/O The fopen function has a new optional argument, a string that specifies a name or alias for the character encoding scheme associated with the file. If this argument is omitted or is the empty string (''), the MATLAB default encoding scheme is used. Given a file identifier as the only argument, fopen now returns an additional output value, a string that identifies the character encoding scheme associated with the file.
Programming % operate on data outData = unicode2native(dataU); fid = fopen(file, 'w'); fwrite(fid, outData, 'char'); fclose(fid); Such a program would produce different and possibly incorrect results in V7.2 (R2006a). The calls to native2unicode and unicode2native are no longer necessary, because the fread and fwrite functions now convert data to and from MATLAB characters using the character encoding scheme specified in the calls to fopen. In V7.
R2006a You can, but do not have to, remove the calls to native2unicode in V7.2 (R2006a): indata indata indata indata indata indata = = = = = = fread(fid, '*char')'; fread(fid, 'char=>char')'; fgets(fid); fgetl(fid); fscanf(fid, '%s'); fscanf(fid, '%c'); Changes to code using fwrite If your code calls unicode2native to convert output from MATLAB characters using a specified (or default) encoding scheme, in most cases you must remove the calls to unicode2native.
Graphics and 3-D Visualization Graphics and 3-D Visualization Pasting Cut or Copied Graphic Objects Can Create an Axes The way in which MATLAB handles copying (or cutting) and pasting children of axes such as lineseries, barseries, or contourgroup objects has changed slightly. In previous releases, if no destination axes was selected prior to pasting one or more such objects, they would be pasted into the current axes (returned by the gca function).
R2006a Note that in addition to having a smaller font and wider line spacing, the new inspector locates pop-up menus at the right margin instead of between the two columns. Also, some icons have been redesigned.
Creating Graphical User Interfaces (GUIs) Creating Graphical User Interfaces (GUIs) Treatment of & in Menu Label Is Changed The use of '&' (ampersand) in the uimenu 'Label' property string is changed for cases that use the constructs 'A& B' and 'A&&B'. The changes bring these constructs in line with the way '&' is used in other 'Label' constructs. See “Compatibility Considerations” below for specific information.
R2006a Two other GUIs work together as an icon editor. One GUI, a color palette, is embedded in the other GUI, an icon editor. The color palette passes data to the icon editor whenever the GUI user selects a new color.
External Interfaces/API External Interfaces/API MEX-Files Built with gcc on Linux Must Be Rebuilt In MATLAB V7.2 (R2006a) on Linux and Linux x86-64 platforms, MEX-files built with gcc must be recompiled and relinked using gcc version 3.4 or later. Rebuilding is required because MATLAB V7.2 (R2006a) on Linux and Linux x86-64 platforms is built with gcc version 3.4. Compatibility Considerations Changes in gcc version 3.4 have caused incompatibilities between MATLAB V7.
R2006a • Microsoft Visual C++ 2005, also informally called Visual C++ 8.0, part of Microsoft Visual Studio 2005 • Intel Visual Fortran 9.0 Environment Variables Needed for Intel Visual Fortran When you build a MEX-file or an Engine or MAT application using Intel Visual Fortran 9.
External Interfaces/API In V7.2 (R2006a), this file has been renamed cvf66engmatopts.bat to match the Compaq Visual Fortran product name. Compatibility Considerations You may need to change any scripts that depend on the earlier name for the options file. Options Files Removed for Unsupported Compilers MATLAB V7.1 (R14SP3) included MEX, Engine, and MAT options files for a number of Windows C and Fortran compilers that were untested. These options files are not included in V7.2 (R2006a).
R2006a Obsolete Functions: MAT-File Access Obsolete Function Replacement matDeleteArray (C and Fortran) matDeleteVariable matDeleteMatrix (C and Fortran) matDeleteVariable matGetArray (C and Fortran) matGetVariable matGetArrayHeader (C and matGetVariableInfo Fortran) matGetFull (C and Fortran) matGetVariable followed by mxGetM, mxGetN, mxGetPr, mxGetPi matGetMatrix (C and Fortran) matGetVariable matGetNextArray (C and Fortran) matGetNextVariable matGetNextArrayHeader (C matGetNextVariableInfo
External Interfaces/API Obsolete Functions: MX Array Manipulation Obsolete Function Replacement mxClearLogical (C and Fortran) None mxCreateFull (C and Fortran) mxCreateDoubleMatrix mxCreateScalarDouble (C and Fortran) mxCreateDoubleScalar mxFreeMatrix (C and Fortran) mxDestroyArray mxGetName (C and Fortran) None mxIsFull (C and Fortran) mxIsSparse mxIsString (C and Fortran) mxIsChar mxSetLogical (C and Fortran) None mxSetName (C and Fortran) None Obsolete Functions: MEX-Files Obsolete Fu
R2006a Obsolete Function Replacement mexGetGlobal (C and Fortran) mexGetVariablePtr mexGetInf (C and Fortran) mxGetInf mexGetMatrix (C and Fortran) mexGetVariable mexGetMatrixPtr (C and Fortran) mexGetVariablePtr mexGetNaN (C and Fortran) mxGetNaN mexIsFinite (C and Fortran) mxIsFinite mexIsInf (C and Fortran) mxIsInf mexIsNaN (C and Fortran) mxIsNaN mexPutArray (C and Fortran) mexPutVariable mexPutFull (C and Fortran) mxCreateDoubleMatrix followed by mxSetPr, mxSetPi, mexPutVariable mexP
External Interfaces/API Obsolete Function Replacement engPutFull (C and Fortran) mxCreateDoubleMatrix followed by mxSetPr, mxSetPi, engPutVariable engPutMatrix (C and Fortran) engPutVariable engSetEvalCallback (C) None engSetEvalTimeout (C) None engWinInit (C) None Compatibility Considerations Most of the functions listed as obsolete in this section are unsupported in V6.5 (R13) and later versions. Some obsolete functions are unsupported in earlier versions.
R2006a Dynamic Linking of External Libraries MATLAB supports dynamic linking of external libraries only on 32-bit Windows systems and 32-bit Linux systems. See Calling C Shared Library Functions from MATLAB for more information.
R14SP3 Version: 7.
R14SP3 Desktop Tools and Development Environment Startup and Shutdown New features and changes introduced in this version are described here. Startup Option, –nodesktop, on Windows Platforms No Longer has Menu Bar and Toolbar; Use Function Equivalents Instead The behavior of MATLAB software when started on Microsoft Windows platformswith the -nodesktop option has changed. The MATLAB Command Window no longer displays a menu bar or toolbar.
Desktop Tools and Development Environment Resize Multiple Tools at Once You can now position the pointer at the intersection of three or four tools or documents to resize all of them at once. Resize and Move Desktop Tools Using the Keyboard There are now menu items you can select to move and resize the active tool in the desktop. Use the menu item mnemonics to perform those action with the keyboard.
R14SP3 your existing preference directory, R14, to the new directory, R14SP3. Changes made to files in the directory when you run R14SP3 are not used when you run previous R14 releases. This represents a change in the preference directory MATLAB uses for a minor release, and was done to prevent serious backwards compatibility problems. It is primarily relevant if you use R14SP3 and previous R14 releases.
Desktop Tools and Development Environment preferences Function Now Supports -nodesktop Option Run preferences -nodesktop after starting MATLAB on Windows platforms with the -nodesktop option to change Command Window font and colors via a special Preferences dialog box. To set other available preferences for the Command Window after starting MATLAB with the -nodesktop option, run preferences and use the resulting Preferences dialog box for all tools and products.
R14SP3 • “Hyperlink Color Preference Moved” on page 23-6 Tab Completion Preference Added There is a new Command Window preference, Tab key narrows completion. When selected, with a list of possible completions in view, type another character and press Tab to further narrow the list shown. Repeat to continue narrowing the list. This behavior is similar to tab completion behavior in releases prior to R14.
Desktop Tools and Development Environment • “echodemo Function Added to Replace playshow function” on page 23-8 • “Add Demos to Favorites” on page 23-8 • “Adding Your Own Demos Type Tag Now Supported” on page 23-8 • “Bug Reporting System Introduced” on page 23-8 Hyperlink Color in the Index Pane Preference Added You can now specify the color for links in the Help browser Index pane using the Colors preferences pane.
R14SP3 previous releases ran the demos as a function. This means that now the demo's variables are created in the base workspace. If you have variables in the base workspace when you run an M-file demo, and the demo uses an identical variable name, there could problems with variable name conflicts. For example, your variable could be overwritten. The demo's variables remain in the base workspace after the demo finishes running until you clear them or quit MATLAB.
Desktop Tools and Development Environment Find Files Offers Additional Filtering The Find Files tool has been enhanced. It now allows you to search all file types except those specified. It also lets you ignore files larger than a specified size. Along with enhancements to the Find Files tool, some minor feature changes were made, including the removal of the Restore Defaults button.
R14SP3 Highlight Current Line Added You can set a preference to highlight the current line, that is, the line with the caret (also called the blinking cursor). This is useful, for example, to help you see where copied text will be inserted when you paste. To highlight the current line, select Preferences > Editor/Debugger > Display and under General Display Options, select the check box for Show caret row highlighting. You can also specify the color used to highlight the line.
Desktop Tools and Development Environment Comment Lines in Java, C, or C++ Program Files Now Supported You can now use the Text > Comment feature to comment selected lines in Sun Microsystems Java, ANSI® C, and C++ program files. This adds the // symbols at the start of the selected lines. Similarly, Text > Uncomment removes the // symbols from the front of selected lines in Java, C, and C++ program files.
R14SP3 Incremental Search Now Supports Removing Characters In incremental search, use Ctrl+G to remove characters back to the previous successful string of characters found. For example, when searching for the term plode, the text is not found and Failing appears in the incremental search field. Ctrl+G automatically removes the de from the search term because plo does exist in the file. Emacs Key Binding for Select All With the Emacs key bindings preference selected, use Ctrl+X, H to select all.
Desktop Tools and Development Environment to ignore the line). That is, mlint will run for all lines in the file and will not ignore any statements. Hyperlink Now Part of Messages Displayed by mlint When you run the mlint function, the line number in the messages displayed is a hyperlink that when clicked, opens the file in the Editor/Debugger scrolled to that line number. Profiler Button Added to Toolbar There is now a button on the MATLAB desktop toolbar to open the Profiler.
R14SP3 your files. If you specify the optional arguments, the notebook function runs and issues a warning, but ignores the values. In a future release, MATLAB will issue an error when it encounters notebook with these arguments. Versions of Microsoft Word Application Supported by Notebook; Microsoft Word 97 No Longer Supported MATLAB Notebook supports the Microsoft Word version 2000 application.
Mathematics Mathematics New Functions The following functions are new in R14SP3: Function Description hypot Square root of sum of squares mode Finds most frequent values in sample Compatibility Considerations A new function name can potentially introduce a backward incompatibility since it can, under certain circumstances, override a variable with the same name as the new function. This is especially true for names that are commonly used as variable names in program code.
R14SP3 Function Modified Behavior odeset New NonNegative integration property to impose nonnegativity constraints on an ODE solution rand Supports the Mersenne Twister algorithm in generating random numbers svd Returns economy decomposition Changes to accumarray MATLAB Version 7.1 adds the following new features to the accumarray function: • The data type for the val input can be any numeric type, or logical, or character. • The data type for the subs input can be any numeric type.
Mathematics For a full description of the Mersenne twister algorithm, see http:// www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html. svd Returns Economy Decomposition The following feature was released in MATLAB 7.0, but was undocumented until this release. The command svd(A,'econ') returns economy decomposition on matrices having few rows and many columns as well as those with many rows and few columns.
R14SP3 Data Analysis Data Analysis Documentation The MATLAB 7.
Data Analysis To manually enable Time Series Tools on the Linux 64 platform, type the following at the MATLAB prompt: rehash toolboxcache feature('TimeSeriesTools',1) 23-19
R14SP3 Programming New Functions This version introduces the following new functions: Function Description arrayfun Applies a given function to each element of an array. This is especially useful for arrays of structures.
Programming Function Modified Behavior who, whos Displays information separately for nested functions Compatibility Considerations The following functions might, under certain circumstances, return a different value than what was returned in MATLAB 7.0.4 (R14SP2): • datestr: Output might differ by 1 second from what was returned in a previous version. • isfield: Output might differ if you used this feature in a release in which it was not officially supported.
R14SP3 You can use this stack information to track down the source of an error, or as an input to the rethrow function. When used with rethrow, MATLAB sets the stack of the rethrown error to the value contained in the stack input. isfield Function Supports Cell Arrays; Results Might Differ from Previous Version The isfield function now supports cell array input as shown in this example. Check structure S for any of four possible field names.
Programming 1 1 Support for Reading EXIF Data from Image Files You can now read EXIF (Exchangeable Image File Format) data from JPEG and TIFF graphics files using the new exifread function. EXIF is a standard used by digital camera manufacturers to store information in the image file, such as the make and model of a camera, the time the picture was taken and digitized, the resolution of the image, exposure time, and focal length.
R14SP3 with c = fread(fid, 50, '*uint8')' You can also use this notation with an input stream that is specified as a number of bits (e.g., bit4 or ubit18). MATLAB translates this into an output type that is a signed or unsigned integer (depending on the input type), and which is large enough to hold all of the bits in the source format. For example, *ubit18 does not translate to ubit18=>ubit18, but instead to ubit18=>uint32.
Programming There are changes in how MATLAB displays built-in functions using which: In MATLAB 7.0.4 (R14SP2), which -all int32 \\matlab\toolbox\symbolic\@sym\int32.m \\matlab\toolbox\matlab\datatypes\int32.bi \\matlab\toolbox\matlab\datatypes\int32.m % sym method % Shadowed % Shadowed In MATLAB 7.1 (R14SP3), which -all int32 built-in (\\matlab\toolbox\matlab\datatypes\int32) \\matlab\toolbox\symbolic\@sym\int32.
R14SP3 Graphics and 3-D Visualization Plot Tools Now Available on Mac Platform As a consequence of enabling Java figures on Macintosh, the Plot Tools user interface is now available to Mac users, enabling them to interactively add data to plots, change plot symbology, and otherwise customize their data plots.
Creating Graphical User Interfaces (GUIs) Creating Graphical User Interfaces (GUIs) Plans for Obsolete Functions The table below indicates functions that were designated as obsolete prior to R14SP3 and that will be removed in a future version. Compatibility Considerations If you use these functions, you should use replacement functions instead.
R14SP3 External Interfaces/API mex Switches Now Supported on Microsoft Windows MATLAB now supports the -l and -L options to the mex command on Windows operating systems. In previous releases of MATLAB, these options were supported only on UNIX systems. Switch Description -l Specifies additional libraries to link against. Note On Windows operating systems, the -l option can specify libraries of two forms. For example, specifying -l name matches either name.lib or libname.
External Interfaces/API MathWorks recommends that you recompile all MEX-files after installing MATLAB 7.1. MEX-files compiled in MATLAB 7.0.4 with .dll extensions should still work in MATLAB 7.1. There may be two MEX-files with the same name, except that one has a .mexw32 extension and the other has a .dll extension. When these files are both on the MATLAB search path: • If the two files are in the same directory, MATLAB uses the .mexw32 file.
R14SP3 Conflicting MEX-Files Renamed Automatically If two files with the same name but with .mexw32 and .dll extensions exist in the same directory, MATLAB uses the .mexw32 file. To avoid unintended shadowing, MATLAB automatically renames compiled MEX-files under the following circumstances: • When you build a MEX-file with a .mexw32 extension and the directory contains an existing file with the same name, but with a .dll extension, the extension of the .dll file is changed to .dll.old.
External Interfaces/API New Preferences Directory and MEX Options The MATLAB preferences directory has changed. In MATLAB 7.1, the preferences directory is named R14SP3. In previous R14 releases, the preferences directory was named R14. For more information, see the documentation for prefdir, which returns the preferences directory. Compatibility Considerations When you install MATLAB 7.1, MATLAB migrates some files from any existing R14 preferences directory to the new R14SP3 directory.
R14SP3 Compatibility Considerations You may need to recompile code compiled with an earlier compiler that is no longer supported. Import Libraries Moved The import libraries (.lib files) for the MATLAB dll files have been moved up a directory level and are no longer specific to the compiler version.
External Interfaces/API Previous releases of MATLAB created the figure in the background. To duplicate the old behavior, create a figure with its Visible property set to off, then set the property to on when you want the figure to be visible: h = actxserver('matlab.application'); h.Execute('figure visible off'); h.Execute('plot(1:10)'); h.
R14SP2 Version: 7.0.
R14SP2 Desktop Tools and Development Environment Installation Folder with Spaces In MATLAB 7.0.4 (R14SP2) software, the following two changes have been made to the MathWorks Installer on Microsoft Windows platforms: • The Installer now allows a folder name with spaces in the installation path. • The Installer honors the default installation folder for Windows software, which on most machines is Program Files.
Desktop Tools and Development Environment Desktop Confirmation Dialog Boxes Preference Introduced There are new preferences for displaying or not displaying confirmation dialog boxes for desktop tools. In previous versions, some of these preferences existed but were located with other preferences for the associated desktop tool. They are now organized in one preference panel for all desktop tools. Access them by selecting File > Preferences > General > Confirmation Dialogs.
R14SP2 Bug Fixes and Known Problems Now on Web; No Longer Found Via Help Search The Release Notes sections “Major Bug Fixes” and “Known Software and Documentation Problems” no longer include the content in the installed help files. Instead, the sections provide links to these lists on the MathWorks Web site. The lists on the Web site can be updated after the release date to reflect the latest information.
Desktop Tools and Development Environment • View the file size by selecting the Show file sizes check box. (This is selected by default.) • For models created with Simulink software, view brief descriptions in the Description column when Show M and MDL file descriptions is selected. • For models created with Simulink, view the complete descriptions in the lower pane when the preference for Show M, MDL and MAT file contents is selected.
R14SP2 Source Control Interface Register Project Feature Added; Add to Source Control Behavior Changed There is a new source control interface feature for Windows platforms, Register Project with MATLAB. Use this to associate all files in a directory with a source control project. You perform this for any file in a directory, which registers the directory and all files in that directory.
Desktop Tools and Development Environment Cell Publishing: LaTeX Image File Type Changes Publishing to LaTeX now respects the image file type you specify in preferences rather than always using EPSC2 files. Cell Publishing: Image Options More Restrictive The Publish image options in Editor/Debugger preferences for Publishing Images have changed slightly. The changes prevent you from choosing invalid formats.
R14SP2 Mathematics New Vendor BLAS Used for Linear Algebra in MATLAB MATLAB uses Basic Linear Algebra Subprograms (BLAS) for its vector inner product, matrix-vector product, matrix-matrix product, and triangular solvers in \. MATLAB also uses BLAS behind its core numerical linear algebra routines from Linear Algebra Package (LAPACK), which are used in functions like chol, lu, qr, and within the linear system solver \. Starting in this release • On Macintosh, MATLAB now uses the Accelerate framework.
Programming Programming Memory-Mapping Memory-mapping is a mechanism that maps a portion of a file, or an entire file, on disk to a range of addresses within an application's address space. The application can then access files on disk in the same way it accesses dynamic memory. This makes file reads and writes faster in comparison with using functions such as fread and fwrite.
R14SP2 xlsread Imported Date Format Changes In MATLAB versions prior to R14, date values read into MATLAB from an Excel spreadsheet using xlsread were always imported as numeric date values. The R14 and later releases of MATLAB import dates in the format in which they were stored in the Excel file. Dates stored in string or date format are now imported as strings by xlsread. Dates stored in numeric format are imported as numeric date values.
Programming Compatibility Considerations To avoid this warning and prepare for this change, convert the cell array of strings to a cell array of function handles. For more information, type help function_handle and see the section entitled Note on Backward Compatibility. Assigning Nonstructure Variables As Structures Displays Warning Assigning to a nonstructure variable as if it were a structure is not recommended in MATLAB.
R14SP2 x = 10; x.name = magic(3); Warning: Struct field assignment overwrites a value with class "double". In a future release of MATLAB, attempting this type of operation will throw an error instead of just displaying a warning message. Compatibility Considerations You are encouraged to modify any code that generates this warning. The section “Making a Valid Assignment” on page 24-12 gives instructions on how to do this.
Programming handle.output = struct('time', 13); Function Declaration Compatibililty with Pre-R14 M-Files As of Release 14, the function definition line in a function M-file no longer requires commas separating output variables. However, because this syntax is not compatible with earlier releases, you should always include the comma separators when writing an M-file function that you intend to run on releases both earlier and later than Release 14.
R14SP2 Graphics and 3-D Visualization imwrite Now Supports GIF Export The imwrite function now supports exporting image data in Graphics Interchange Format (GIF). Cannot Dock Figures on Macintosh You cannot dock figures in the Desktop, because MATLAB uses native figure windows on the Macintosh platform. Compatibility Considerations You cannot dock figure in the Desktop on the Macintosh Plotting Tools Not Working on Macintosh The plotting tools are not supported on the Macintosh platform.
Graphics and 3-D Visualization Compatibility Considerations The figure XDisplay property is supported only on systems using Motif.
R14SP2 Creating Graphical User Interfaces (GUIs) New Callbacks Chapter The Creating Graphical User Interfaces documentation offers a new chapter, in draft form, that attempts to bring information regarding callbacks into one place. It introduces the concepts and mechanisms with which you work, and explains some basic techniques for programming your GUI's behavior. This chapter is not yet complete, but you may find it useful, even in its current state, particularly if you are new to creating GUIs.
External Interfaces/API External Interfaces/API New File Archiving Functions and Functionality In addition to being able to zip and unzip compressed file archives, MATLAB software now supports the following archiving functions: • gzip/gunzip — Compress/uncompress files in gzip format. gunzip reads archives from both file systems and URLs. • tar/untar — Compress/extract files in a tar-file. untar reads archives from both file systems and URLs. • The unzip function can now also open a zip archive from a URL.