MATLAB 5.2 Product Family New Features | Search  Help Desk |
try
/catch
error handling, additional ODE functions, and M-file locking.
Upgrades to Simulink, Real-Time Workshop, Toolboxes, and Blocksets
Simulink 2.2 includes several enhancements, including Level 2 S-function support, new user interface features on the PC and Macintosh platforms, additional simulation features, some new blocks and commands, and the ability to add print frames (header and footer annotation) to printouts of Simulink models. Real-Time Workshop 2.2 utilizes the Simulink Level-2 S-function feature to support Interrupt Service Routines (ISRs) for VxWorks, customized ISRs for your target system, multiple input/multiple output S-functions, and parameter checking while running. Almost all toolboxes and blocksets were updated for MATLAB 5.2. Toolboxes and blocksets with especially significant enhancements for the MATLAB 5.2 release include:MATLAB Language Enhancements
Links to Command Descriptionstry
/catch
error handling.
Function |
Description |
catch |
Begin catch block. |
try |
Begin try block. |
lastwarn
function, depending how it is called, returns either a string containing the last warning message issued by MATLAB, an empty string matrix until the next warning is encountered, or sets the last warning message to a specified string.
You can now set the limit for recursion so that you will receive an error instead of being forced out of MATLAB when the recursion limit is reached.
The default recursion limit is 500
on PC and UNIX platforms and 200
on Macintosh platforms.
To change the recursion limit, change the following line:
set(0, 'recursionlimit', limitnumber
)
in your matlabrc.m
file in the toolbox/local
directory.
MATLAB 5.2 provides these new mathematical functions.
Function |
Description |
cholinc |
Sparse incomplete Cholesky and Cholesky-infinity factorizations. |
cholupdate |
Rank 1 update to Cholesky factorization. |
ifftshift |
Inverse fast Fourier transform shift. |
|
Solve moderately stiff problems for a solution without numerical damping. |
|
Solve stiff systems using crude error tolerances. May also be used if there is a mass matrix. |
qrupdate |
Rank 1 update to QR factorization. |
New String Comparison Functions
Function |
Description |
strcmpi |
Compare strings ignoring case. |
|
Compare first n characters of strings ignoring case. |
clear
does not clear that M-file from memory.Function |
Description |
mislocked |
True if M-file cannot be cleared. |
mlock |
Prevent M-file clearing. |
munlock |
Permit M-file clearing. |
persistent
) so that it does not change value from one call to another. Persistent variables may be used within a function only. Persistent variables remain in memory until the M-file is cleared or changed. persistent
is exactly like global
, except that the variable name is not in the global workspace, and the value is reset if the M-file is changed or cleared.
Three MATLAB functions support the use of persistent variables (see "M-File Locking" above):
mislocked
mlock
munlock
Function |
Description |
copyfile |
Copy a file. |
mkdir |
Make a directory. |
load
function:
S = load(...)returns the contents of a MAT-file as a structure instead of directly loading the file into the workspace. The field names in
S
match the names of the variables that were retrieved. When the file is ASCII, S
will be a double precision array.
You can now use a cell array of strings with the following functions:
intersect
ismember
lower
setdiff
setxor
sort
union
unique
upper
strjust
function now does right, left, and center justification.
Change in clc and home Behavior
Theclc
and home
commands now both clear the Command Window. After issuing either of these commands, it is no longer possible to scroll back to see previous contents of the command window.
Additional Functions Changed in MATLAB 5.2
In addition to the above functions, the MATLAB 5.2 version of the following functions have minor changes, generally to reflect the addition of the new functions described above (e.g.,clear
does not clear if mlock
is called first).
PC and UNIX Environment Tools Enhancements
MATLAB 5.2 provides enhanced environment tools for the PC (Microsoft Windows 95 and NT) platform and introduces environment tools for the UNIX platform. These enhancements are described in detail in Chapter 2 of the online (PDF) version of Using MATLAB.Changes to the MATLAB Editor/Debugger
With MATLAB 5.2, the Editor/Debugger provides a new Tools menu for Microsoft Windows 95, Windows NT, and UNIX platforms. Some of the options that were under the View menu in previous releases on the PC are now found under the Tools menu. MATLAB 5.2 provides a tabbed dialog that allows you to set General and Editor options. You do so from the Tools menu, by selecting Options. You can now use MATLAB to add your own commands to the Editor, by using the Customize option that appears as a submenu of the Tools menu. Commands that you add will also work with the Path Browser and Array Editor although the results may differ. Chapter 2 of Using MATLAB provides a table that explains these differences. You can set up the Editor so that the values of MATLAB variables are expanded and displayed in the Editor window as the cursor hovers over a variable. To do so, under General options, check Show Data Tips. Also under General options, if you check Show worksheet style tabs, the main Editor window displays a tab at the bottom for each open file. This allows quick navigation among all open files. Also, you can control the Editor's font, style, and size. In previous releases of MATLAB, font control was available only for the Command Window. In MATLAB 5.2, you can select Font from the Tools menu to control Editor fonts.Array Editor Added for PC and UNIX Platforms
MATLAB 5.2 provides an Array Editor for both the PC and UNIX platforms. This tool allows you to view and edit two-dimensional numeric arrays. The SGI64 platform is fully supported for MATLAB 5.2. The SGI64 platform was supported only as a Beta product in previous MATLAB 5 versions. Note: The Symbolic Math Toolbox 2.0.1 and Extended Symbolic Math Toolbox 2.0.1 are not available for the SGI64 platform; however, the SGI image can be used on the SGI64 platform.Online Documentation Enhancements
The 5.2 Help Desk includes a full-text search facility for the HTML online documentation. You can access the full-text search facility from the top page of the Help Desk or from the "Search" link on reference pages. The 5.2 HTML reference pages provide additional navigational aids. The "Examples" and "See Also" links at the top of the first reference page for a function allow you to jump directly to the examples or to links to associated functions. Also at the top of the reference pages is a "Go to function" edit box. Enter the name of the function and press the Enter key to see the reference page for that function. Thedoc
command now accesses the HTML reference documentation for all MathWorks products for which HTML reference documentation has been installed. Before Version 5.2, the doc
command only accessed the documentation for MATLAB functions.
MATLAB 5.2 provides a Japanese version of the Help Desk, in addition to the English version.
Note: Most of the Japanese documentation is at the 5.0 or 5.1 level.
During the installation process you can specify what, if any, Japanese documentation you want to install.
If you install any Japanese documentation, the Japanese Help Desk will be displayed when you use the helpdesk
command.
ActiveX Support Enhanced
MATLAB 5.2 supports two new ActiveX technologies: ActiveX control containment and ActiveX Automation client capabilities. ActiveX controls are application components, which can be both visually and programmatically integrated into an ActiveX control container; in the MATLAB context, this would be figure windows. Some examples of useful ActiveX controls are the Microsoft Internet Explorer Web Browser control, the Microsoft Windows Communications control for serial port access, and the graphical user interface controls delivered with the Visual Basic development environment. Prior to 5.2, MATLAB supported ActiveX Automation server capabilities. When MATLAB is controlled by another component, it is acting as an automation server. MATLAB 5.2 adds support for ActiveX Automation client capabilities. When MATLAB controls another component, MATLAB is the automation client, and the other component is the automation server. In other words, MATLAB 5.2 ActiveX Automation allows MATLAB to both control and be controlled by other ActiveX components. This feature is described in more detail in Chapter 7 of the Application Program Interface Guide.HDF File Format Support
MATLAB 5.2 extends the support for HDF files beyond that previously provided byimread
and imwrite
. This additional support is provided through an interface to different HDF formats via new MATLAB functions that enable you to access the HDF library developed and supported by the National Center for Supercomputing Applications (NCSA). MATLAB 5.2 also provides an extensible gateway for reading and writing HDF files.
To use these functions, you must be familiar with the HDF library. Documentation for the library is available on the NCSA HDF Web page at http://hdf.ncsa.uiuc.edu
. MATLAB provides extensive command line help for each of these functions. Visualization Enhancements
The OpenGL renderer is available on many computer systems. This renderer is generally faster than MATLAB's painters or zbuffer renderers in some cases. If your system has graphics hardware that is available to OpenGL, MATLAB uses it to achieve even greater performance improvements. This results in greatly improved drawing performance, particularly with graphics cards that support OpenGL. See the FigureRenderer
property in the MATLAB Function Reference for more information.
MATLAB 5.2 contains a number of new commands that simplify camera positioning and aspect ratio control. These commands implement operations similar to those associated with movie camera operation - dollying, panning, rolling, as well as some that are more typically associated with computer graphics, such as orbiting the camera around the scene and selecting a method for projecting the 3-D scene on the computer screen.
Links to Command Descriptions
Function or Property |
Purpose |
Camera Graphics Convenience Functions | |
camdolly |
Translate camera position and camera target (analogous to dollying a movie camera). |
camorbit |
Rotate camera position around camera target (rotation specified in degrees). |
campan |
Rotate camera target around camera position (rotation specified in degrees). |
camroll |
Rotate camera about camera viewing axis (rotation specified in degrees). |
camzoom |
Zoom camera in or out on a scene by specified zoom factor. |
Function or Property |
Purpose |
campos |
Set or get camera position and camera position mode. |
camproj |
Set or get camera projection type to orthographic or perspective. |
camtarget |
Set or get camera target and camera target mode. |
camup |
Set or get camera up vector and camera up vector mode. |
camva |
Set or get camera view angle and camera view angle mode. |
daspect |
Set or get data aspect ratio and data aspect ratio mode. |
pbaspect |
Set or get plot box aspect ratio and plot box aspect ratio mode. |
xlim |
Set or get x-axis limits and x-axis limit mode. |
ylim |
Set or get y-axis limits and y-axis limits mode. |
zlim |
Set or get z-axis limits and z-axis limits mode. |
New Lighting Convenience Commands
MATLAB 5.2 contains two new commands to simplify the placement of Light objects in the Axes.Function or Property |
Purpose |
camlight |
Create or move a Light object in the camera's coordinate system. This is useful when you want to place a Light at or near the camera and maintain the same relative position as the camera moves. |
lightangle |
Create or move a Light object in spherical coordinates (i.e., by specifying azimuth and elevation). |
Support for Predefined Paper Types
MATLAB supports a number of new predefined paper types. For a list of these paper types, see the FigurePaperType
property.
Mechanism to Hide Objects from Selection
All graphics objects have a new property calledHitTest
that enables you to determine if this object can become the current object or in appropriate cases, the current Figure or current Axes (see the Figure CurrentObject
and CurrentAxes
properties and the Root CurrentFigure
property). This feature is useful to exclude certain graphics objects from user interaction (for example, to prevent MATLAB from selecting text annotations that overlay an image as the user clicks on the image to obtain information returned by a callback routine). See the HitTest
property for an example.
New Behavior for newplot, clf, and cla
The behavior of thenewplot
, clf
, and cla
commands is now clearly defined with respect to hidden-handle objects. Basically, there are three options when drawing graphics in existing Figures:
newplot
function now always sets the Figure NextPlo
t property to add
after obeying the current setting. Previously, newplot
NextPlot
property if its current value was replacechildren
.
NextPlot
property to its currently defined default after obeying its value of replace
. (While the factory default is add
, user-defined settings can change this.)
newplot
NextPlo
tadd
after obeying the current setting (regardless of user-defined defaults set for NextPlot
).
HandleVisibility
property is set to on
) when the Figure or Axes NextPlot
property is replacechildren
.
HandleVisibility
property) when the Figure or Axes NextPlot
property is replace
.
clf
command without the reset
argument has not changed: clf
deletes all children of the current Figure whose handles are not hidden (i.e., their HandleVisibility
property is set to on
).
clf
reset
now deletes all children of the current Figure, regardless of the setting of their HandleVisibility
property. In addition, clf
reset
also resets all Figure properties to their defaults with the exception of Position
, Units
PaperPosition
, and PaperUnits
. Previously, clf
reset
deleted only handle-visible objects.
cla
behaves in a way directly analogous to that of clf
: cla
deletes all children of the current Axes whose handles are not hidden (i.e., their HandleVisibility
property is set to on
).
cla
reset
deletes all children of the current Axes, regardless of the setting of their HandleVisibility
property. In addition, cla
reset
also resets all Axes properties to their defaults with the exception of Position
and Units
.
GUI Development Enhancements
MATLAB 5.2 provides a number of new features to make it easier for you to develop effective graphical user interfaces (GUIs) for your applications. In the online HTML version of this document, you can use the highlighted links to get more information about these new features. If you write user interfaces intended to be used on more than one computer platform, you may find that you need to adjust the size of controls to accommodate the differences in the size of the fonts used to label the controls. The newcharacters
value for the Units
property enables you to define Uicontrol objects whose sizes are based on the default system font size.
A tooltip is a small rectangle that contains textual information. A tooltip is associated with a Uicontrol and appears below the control when the cursor is held over the control for a certain amount of time (determined by system settings).
You define a tooltip for a Uicontrol by specifying a string value for the new TooltipString
property.
MATLAB 5.2 provides a new style of Uicontrol object called a toggle button. Toggle buttons have two states, down (selected) and up (unselected). When you click on a toggle button, its state changes and its callback is executed.
Displaying Truecolor Images on Controls
MATLAB 5.2 supports the ability to display truecolor images on push buttons and toggle buttons. A context menu is a menu that is attached to an object and is activated by a right-button click on a Microsoft Windows or UNIX system, or a Ctrl-click on a Macintosh system (called an extended click). Defining a context menu requires that you define a Uicontextmenu object and Uimenu children and associate the Uicontextmenu with the object to which it is attached.MATLAB Compiler
Version 1.2 of the MATLAB Compiler is a compatibility release that brings the MATLAB Compiler into compliance with MATLAB 5. Although the Compiler works with MATLAB 5, it does not support several of the new features of MATLAB 5.Improved Installation and Configuration Process
Based on customer feedback, installing and configuring the MATLAB Compiler 1.2 is easier than before. The MATLAB Compiler User's Guide includes a complete set of recommended steps to perform during installation to ensure that everything is working properly. It includes troubleshooting sections to help diagnose and correct some of the more common installation problems.Enhanced Support for Windows 95 and NT Compilers
In MATLAB 5.2 and the Compiler, all of the main Compiler vendors and product releases are supported "out of the box" (no additional steps required). These compilers include:Building Simulink CMEX S-Functions
The MATLAB Compiler now supports building Simulink CMEX S-functions from the MATLAB Function block in Simulink. See the MATLAB Compiler User's Guide for details. Version 1.2 of the MATLAB Compiler also includes these enhancements:load
command) is now supported.
POSIX
shell and return a status. In this way command line M-files can be turned into command line executable applications in a POSIX
shell.
<matlab>/toolbox/compiler/Readme.m
for additional details about using the Compiler.
MATLAB C Math Library 1.2
Version 1.2 of the MATLAB C Math Library is a compatibility release that brings the library into compliance with MATLAB 5. Although the library works with MATLAB 5, it does not support several of the new features of MATLAB 5. Note: Many functions have changed between MATLAB 4 and MATLAB 5. These changes are reflected in the MATLAB C Math Library. If you are using the MATLAB Compiler to generate your C Math Library programs, you will need to regenerate your C files from your M-files before the C files will work with the new libraries. If you have written C Math Library programs by hand, you need to make the changes manually. Version 1.2 of the C Math Library adds 47 new functions, providing several significant new features, including:'x(:, 4) = 1')
. This adds three new functions: mlfArrayAssign
, mlfArrayRef
, and mlfArrayDelete
.
feval
with multiple output arguments (return values); Version 1.1 supported feval
of functions with a single output argument.
load
and save
support.
release.txt
) that are included with the C Math Library for additional details about this version of the library.
MATLAB C++ Math Library 1.2
Version 1.2 of the MATLAB C++ Math Library is a compatibility release that brings the library into compliance with MATLAB 5. Although the library works with MATLAB 5, it does not support several of the new features of MATLAB 5. Note: Many functions have changed between MATLAB 4 and MATLAB 5. However, through the use of C++ function overloading, most of the old functions remain for backward compatibility, and new functions have been added to handle the new functionality (in most cases, with additional function arguments).feval
with multiple output arguments (return values); Version 1.1 supported feval
functions with a single output argument.
load
and save
support.
release1.txt
) that are included with the C++ Math Library for additional details about this version of the library.
Simulink 2.2
Simulink 2.2 provides many enhancements relating to these aspects of the product: These enhancements are described in more detail in the online (PDF) version of Using Simulink; changes are highlighted with change bars. Note: See Chapter 3 of Using Simulink (online version) for more information about each of these new user interface features. The PC (Microsoft Windows 95 and NT) and Macintosh versions of Simulink display an optional toolbar below the menu bar in the model and block library windows. You can use the toolbar's buttons to create, save, edit, print, and run models. The PC and Macintosh versions of Simulink display an optional status bar at the bottom of model and block library windows. The status bar displays the current time and solver when a simulation is running. The PC and Macintosh (OS8) versions of Simulink display a pop-up menu when you press the right mouse button over a model or block library window. If a block is selected, the menu displays editing, formatting, and property commands applicable to blocks and annotations; otherwise, the menu displays commands applicable to the model or library as a whole. You can insert a block having a single input and output into a model by dropping it onto a line segment. Simulink 2.2 adds a Block Properties dialog box, accessed from the Edit menu. You can set the following block parameter values:Undoing Breaking of Library Links
Simulink 2.2 allows you to undo the breaking of library links. You can assign evaluation priorities to nonvirtual blocks in a model. Higher priority blocks evaluate before lower priority blocks, though not necessarily before blocks that have no assigned priority. You can do this with either the Block Properties dialog box from the Edit menu or with theset_param
command. See Chapter 3 of Using Simulink (online version) for more information.
Simulink 2.2 adds two stiff solvers, ode23t
and ode23tb
. See the "Solvers" section in Chapter 4 of Using Simulink (online version) for more information.
The Simulink debugger allows you to run a model step by step and inspect the values of any variables at any step. See Chapter 12 of Using Simulink (online version) for more information.
You can specify whether a mask parameter is tunable, that is, modifiable while a simulation is running. See Chapter 6 of Using Simulink (online version) for more information.
Simulink 2.2 supports Level 2 S-functions in a C MEX S-function. In particular, these Level 2 S-functions support:
mdlCheckParameters
mdlRTW
, a method for code generation in which your S-function influences the code generation process.
In mdlRTW
, you can write additional subrecords into the model.rtw
file for the S-function block record. The Target Language Compiler (TLC) file that inlines your S-function can use this information. For more details about Level 2 S-functions, see Using Simulink (online version).
get_param(obj
,'ObjectParameters')
where obj
is an object name returns a cell array describing the object's parameters. See get_param
in Using Simulink (online version) for more information.
The command get_param(b,'DialogParameters'),
where b
is the name of a block, returns a cell array describing the parameters that appear in a block's parameter dialog. See get_param
in Using Simulink (online version) for more information.
You can use the find_system
command to get handles to all the lines and annotations in a model. The returned handles can be used with get_param
and set_param
to read and write the line or annotation properties. See find_system
in Chapter 11 of Using Simulink (online version) for more information.
You can add print frames (customized headers and footers) to printouts of Simulink model diagrams.
To edit a print frame, use the new frameedit
command. See "Printing a Block Diagram" in Chapter 3 of Using Simulink (online version) for more information.
Real-Time Workshop 2.2
The Real-Time Workshop now supports asynchronous interrupt handling in VxWorks and provides templates so that you can create your own interrupt handlers for your target hardware. These blocks include:RTWlib
in the Real-Time Workshop User's Guide (online version).
The Real-Time Workshop now has a graphical user interface (GUI), called RTWlib, for quick access to:
mdlCheckParameters
mdlRTW
, a method for code generation in which your S-function influences the code generation process.
In mdlRTW
, you can write additional subrecords into the model.rtw
file for the S-function block record. The Target Language Compiler (TLC) file that inlines your S-function can use this information. For more details about Level 2 S-functions, see Using Simulink (online version).
Stateflow 1.0.6
Version 1.0.6 of Stateflow and Stateflow Coder is shipped with MATLAB 5.2. Version 1.0.6 is essentially the same as the Patch Release 1.0.5 that was made available to Stateflow customers via FTP. However, 1.0.6 fixes some software problems that still existed in the patch release. Stateflow and Stateflow Coder 1.0.6 are not supported on the Macintosh platform.Toolboxes and Blocksets
Almost all of the toolboxes and blocksets have been updated for release with MATLAB 5.2. For many of these toolboxes and blocksets, the updates simply involved fixing software problems and taking more advantage of MATLAB 5 features. These toolboxes and blocksets listed have been updated for 5.2. The toolboxes and blocksets with significant updates are highlighted with an asterisk and are discussed in more detail in the rest of this chapter (in alphabetical order).zpk
, tf
, or ss
readme
file for a summary of the new additions. To view the readme
file, type
info dspblksat the MATLAB command line. Note: Version 2.2 of the DSP Blockset is the first release of this product since Version 2.0 (there was no Version 2.1). This adjustment in version numbering allows the DSP Blockset to begin sharing the same version number as the associated release of Simulink. Therefore, beginning with this release, the DSP Blockset requires the equivalently numbered version of Simulink (e.g., DSP Blockset 2.2 requires Simulink 2.2). The DSP Blockset now offers support for data frames, vectors whose elements represent consecutive time samples from a single signal. Framed data is a common format in real-time systems, where the data acquisition hardware often operates most efficiently by accumulating a large number of signal samples at a high rate, and then propagating these samples to the real-time system as a block, or frame, of data. Data frames can also be constructed through the usual DSP Blockset buffering operations (using the Buffer and Complex Buffer blocks, for example). Version 2.2 includes two new blocks designed to operate specifically on framed data. They are frame-oriented counterparts to the FIR Rate Conversion and Multichannel IIR Filter blocks, and are distinguished by the word "Frame" in the block name: Use these blocks to directly filter or resample framed data in its native format without the computational expense of unbuffering. Other blocks that operate on framed data include the FFT, DCT, and cepstrum blocks in the Transforms library. In addition to these frame-based blocks, the data frame format is accepted by all blocks in the blockset that accept vector inputs. Be aware, however, that many blocks implicitly expect the elements of vector inputs to represent independent channels, and not consecutive samples. Besides the FIR Rate Conversion and Multichannel IIR Filter blocks, others that expect non-frame data include the "running" blocks in the Statistics library, the variable delay blocks, and the filter design blocks. In general, if a block uses past inputs in generating the current output (and is not specifically designated as a frame-based block), then it considers the elements of a vector (or matrix) input to represent distinct channels, and not a frame of consecutive samples. See "Working with Frames" in Chapter 3 of the User's Guide for a complete discussion of this data format. Another new element of the blockset is the Filter Realization Wizard, a graphical user interface (GUI) that allows you to easily construct filters with a a variety of different architectures. The GUI is shown below:
Block Library |
Block Name |
Purpose |
DSP Sources |
Complex Diagonal Matrix |
Generate a square, constant-diagonal complex matrix |
DSP Sinks | Triggered Complex Matrix To Workspace |
Send a time-sequence of complex matrices to the MATLAB workspace |
Triggered Complex To Workspace |
Write the time-sequence of a complex input to the MATLAB workspace |
|
Triggered Matrix To Workspace |
Send a time-sequence of matrices to the MATLAB workspace |
|
Triggered To Workspace |
Write the time-sequence of an input to the MATLAB workspace |
|
Signal Operations | Complex Delay |
Delay a complex input by an integer number of sample periods |
Complex Levinson-Durbin |
Apply Levinson-Durbin recursion to design an IIR filter with a prescribed autocorrelation sequence |
|
Complex LPC |
Determine the coefficients of an FIR filter that predicts the next sequence value from past and present inputs |
|
Levinson-Durbin |
Apply Levinson-Durbin recursion to design an IIR filter with a prescribed autocorrelation sequence |
|
LPC |
Determine the coefficients of an FIR filter that predicts the next sequence value from past and present inputs |
|
Variable Fractional Delay |
Delay an input by a fractional number of sample periods |
|
Variable Integer Delay |
Delay an input by an integer number of sample periods |
|
Transforms | Complex Cepstrum |
Compute the complex cepstrum of an input |
DCT |
Compute the DCT of a complex vector input |
|
IDCT |
Compute the complex-valued IDCT of a complex input |
|
Real Cepstrum |
Compute the real cepstrum of an input |
|
Real DCT |
Compute the DCT of a real vector input |
|
Real IDCT |
Compute the IDCT of a real input |
|
Buffers | Shift Register |
Convert a scalar time-series into a vector time-series with the same sample period (serial-to-parallel conversion) |
Triggered Shift Register |
Convert a scalar time-series into a vector time-series with the same sample period (serial-to-parallel conversion) |
|
Switches and Counters | N-Sample Enable w/Reset |
Output 1s for a specified number of sample times |
Sample and Hold |
Sample and hold an input signal |
|
Vector Math | Autocorrelation |
Compute the autocorrelation of a real vector |
Complex Autocorrelation |
Compute the autocorrelation of a complex vector |
|
Complex | Complex Gain |
Multiply an input by a complex constant |
Real to Complex |
Construct a complex output from a real input |
|
Statistics | Histogram |
Compute the histogram (frequency distribution) of values in a vector input |
Median |
Find the median value of a vector input |
|
Running Histogram |
Track frequency distribution of values in a vector input over time |
|
Sort |
Sort the elements in a vector by value |
|
Filter Realizations | Filter Realization Wizard |
Build an IIR or FIR filter with a particular architecture |
Multichannel IIR Filter (Frame) |
Apply an IIR filter to a multichannel input signal |
|
Time Varying FIR Filter |
Apply a variable FIR filter to a multichannel input signal |
|
Time Varying IIR Filter |
Apply a variable IIR filter to a multichannel input signal |
|
Multirate Filters |
FIR Rate Conversion (Frame) |
Upsample, filter, and downsample a real input |
Spectrum Analysis | Burg Method |
Compute a parametric estimate of the spectrum using the Burg method |
Yule-Walker AR |
Compute a parametric estimate of the spectrum using the Yule-Walker AR method |
Block Library |
Block Name |
Enhancement |
DSP Sources |
Diagonal Matrix |
Allows specification of a non-constant diagonal |
DSP Sinks | Frequency Vector Scope |
Offers new menus, and window position memory |
Time Vector Scope |
Offers new menus, and window position memory |
|
Signal Operations | Complex Zero Pad |
Offers the option of truncating the input to the specified output vector length |
Delay |
Accepts an initial condition |
|
Zero Pad |
Offers the option of truncating the input to the specified output vector length |
|
Buffers | Buffer |
Supports vector inputs, and accepts an initial condition |
Complex Buffer |
Supports vector inputs, and accepts an initial condition |
|
Complex Partial Unbuffer |
Supports matrix inputs |
|
Complex Unbuffer |
Supports matrix inputs |
|
Partial Unbuffer |
Supports matrix inputs |
|
Unbuffer |
Supports matrix inputs |
|
Switches and Counters | Commutator |
Supports matrix inputs |
Distributor |
Supports vector inputs, and accepts an initial condition |
|
Multirate Filters |
FIR Rate Conversion |
Supports matrix inputs |
For Users Upgrading from Version 1.0a
The DSP Blockset 2.2 is completely compatible with Version 1.0a, but there are some limitations on mixing buffer blocks from the two versions, and you will need to recompile any custom blocks that use C-MEX S-functions so that they work with Simulink 2.2. See "DSP Blockset: Upgrading from Version 1.0a" in Chapter 4 for more details about upgrading from Version 1.0a. The Financial Toolbox 1.1 supports detailed term structure analysis. In addition, this version provides new date functions, coupon date functions, portfolio allocation tools, and a new derivative pricing function. These new functions are summarized below. For information about these functions, refer to the Financial Toolbox User's Guide for Version 1.1.Function |
Description |
blkprice |
Black's pricing model |
Function |
Description |
ewcov |
Asset covariance estimation with exponential weighting |
Demo of an Excel Link Portfolio Optimizer Tool
The following files provide a demo of an Excel Link portfolio optimizer tool:excelportopt.m
excelportopt.xls
Graphical User Interface Enhancements
Fuzzy Logic Toolbox 2.0 adds or enhances several graphical user interfaces (GUIs):With this GUI, you can implement an ANFIS and use automatic membership function adaptation without resorting to the command line. The learning process can also be viewed graphically and in real time, so any necessary adjustment can be made efficiently. The ANFIS Editor is also fully integrated with the other GUI tools: the Fuzzy System Editor, Membership Function Editor, Rule Editor, Rule Viewer and Surface Viewer. This GUI is described in Chapter 2 of the Fuzzy Logic Toolbox User's Guide.
You can click and drag both the shape and the location of your membership functions.
You can point and click to build your rules easily, rather than typing in long rules.
This GUI lets you view both fuzzy c-means clustering and subtractive clustering while they are in progress.
When a fuzzy inference system is used in Simulink, the Rule Viewer lets you see when each rule is triggered and how each membership function is applied during a simulation.
Backpropagation is now available as an ANFIS learning algorithm.
You can now use constant output membership functions with ANFIS in addition to linear output membership functions.
Basic fuzzy arithmetic functions are now provided for addition, subtraction, multiplication, and division operations among different membership functions.
Now you can adjust the sampling rate used to discretize the output membership functions of your rules. This gives you control of the accuracy and efficiency of the defuzzification calculations.
FIS Represented As MATLAB Structures
The Fuzzy Inference System (FIS) is now represented as a MATLAB structure. A structure (instead of a flat matrix) is now the basic element in constructing a fuzzy logic system. This fundamental change in the way of representing the fuzzy logic system makes many details of working with the constructed system easier. A Fuzzy Inference System that you created with a pre-2.0 version of the Fuzzy Logic Toolbox is still usable in 2.0, if you run theconvertfis
function on it. The convertfis function automatically converts pre-2.0 Fuzzy Inference Systems to work with Version 2.0.
More Dimensions Allowed for User-Defined Membership Functions
You can now use up to 16 parameters when you define your own customized membership functions.Interactive Pixel Value Display
The new functionpixval
installs in a figure an interactive display of the data values for whatever image pixel the cursor is currently over. You can also click and drag to display the Euclidean distance between two pixels.
The new function imfeature
computes feature measurements, such as the center of mass and the bounding box, for regions in an image.
The new function iradon
uses the inverse Radon transform to reconstruct images from projection data. In addition, the toolbox has a new function, phantom
, that generates test images for use with the Radon and inverse Radon transforms.
The edge
function now supports the Canny edge detection method. This method is better at detecting weak edges and is less sensitive to noise than the other supported edge-detection methods.
bwfill
function can now automatically detect and fill holes in objects.
ycbcr2rgb
and rgb2ycbcr
.
uint8
using two new functions, im2double
and im2uint8
.
imshow
automatically calls truesize
by setting the new toolbox preference 'ImshowTruesize'
.
All network properties are collected in a single "network object." Networks can have any number of sets of inputs and layers, any input or layer can be connected to any layer with a weight, and any weight can have a tapped delay.
The fast LM algorithm (by a factor of 10 to 100 over other methods) can be used in much larger problems than in Version 2.0.
readme
file also contains a short summary of this information.
To view the readme
file, type at the MATLAB command line
info signalThe MEM spectral estimation method (previously implemented by the
pmem
function) has been more accurately renamed the Yule-Walker AR method, and is now implemented by the pyulear
function. The pmem
function continues to work, but generates the following warning message:
Warning: pmem is obsolete and will be discontinued. Use pyulear instead.In addition to this name change, the Burg method of spectral estimation has been added to the toolbox via the
pburg
function.
SPTool Graphical User Interface
Several areas of the SPTool interactive signal processing environment have been enhanced for Version 4.1. See Chapter 5 in the PDF version of the User's Guide for complete instructions on using the new features. The Filter Designer interface has been revised for improved usability. A signal's spectrum can now be superimposed on any filter response, and a new Measurements panel displays the filter's characteristics as it is being designed.hamming
hanning
, and blackman
) can now generate both periodic and symmetric windows. Formerly they only generated symmetric windows.
cremez
opt.fgrid
and opt.fextr
outputs are now normalized to the Nyquist frequency.
invfreqz
invfreqs
functions now work for complex as well as real filters.
spval
or ppbrk
) have been replaced by generic commands (such as fnval
or fnbrk
). The forms themselves are now structures, but that should be irrelevant to the casual user.
Vector-Valued Spline Enhancements
Since splines in the toolbox can be vector-valued, it is now possible to handle certain surfaces as 3-vector-valued bivariate tensor-product splines. Further new features include:spaps
, of the smoothing spline (linear, cubic, or quintic) that fits given data within a given tolerance
fnrfn
, of a given form to one on a refined knot or break sequence
fncmb
for arithmetic with functions