Release Note Report
Major Bug Fixes
This document describes major bug fixes for the following:
Communications Blockset
Communications Toolbox
Database ToolboxDSP BlocksetEmbedded Target for TI C6000 DSPFilter Design ToolboxFuzzy Logic ToolboxImage Processing ToolboxMapping ToolboxMATLABModel-Based Calibration ToolboxOptimization ToolboxSignal Processing ToolboxSimulinkSimulink AcceleratorSpline ToolboxStateflowStateflow CoderStatistics ToolboxWavelet ToolboxxPC Target
Communications Blockset
Click on a problem area listed below to read how it has been fixed.
Fading channels
List of demos for which code can now be generated using Real Time Workshop
Passband FSK and CPM modulators and demodulators are more accurate
Reed-Solomon blocks now encode and decode correctly
Fading channels
The accuracy of Doppler spread of the Rayleigh and Rician Fading Channel
Blocks has been improved. The blocks now give better results for high
sampling rates and small Doppler frequencies, as specified in
communication standards such as WCDMA.
List of demos for which code can now be generated using Real Time Workshop
The following demos now generate code using Real Time Workshop:
dmt_sim
dvbt_sim
tstgraycod
phasenoise_sim
dmt_alt_sim
tstconvcod
Passband FSK and CPM modulators and demodulators are more accurate
The passband FSK and CPM modulators have been modified to generate more
accurate waveforms by performing FIR interpolation when upsampling. The
FIR filters significantly reduce the levels of any spectral copies
revealed by upsampling. They also introduce delay into the modulators.
Reed-Solomon blocks now encode and decode correctly
The Reed-Solomon blocks now encode and decode signals correctly.
Communications Toolbox
Click on a problem area listed below to read how it has been fixed.
Reed-Solomon decoder corrects up to t errors
Reed-Solomon encoder and decoder use more conventional format for data
Reed-Solomon decoder corrects up to t errors
The new function rsdec accurately decodes Reed-Solomon codes
containing up
to t errors in each codeword. This new function replaces the
earlier
functions rsdeco and rsdecode.
Reed-Solomon encoder and decoder use more conventional format for data
The new functions rsenc and rsdec operate on
the new Galois data type,
which represents symbols using a decimal format. The formats used in the
earlier functions, rsenco, rsencode,
rsdeco, and rsdecode, are no longer
supported. See "Updating Existing Reed-Solomon M-Code" in the Release
Notes to learn how to convert your existing code data to the format used
in the new coding functions.
Also, the new functions enable you to choose whether parity bits appear
at the beginning or end of each codeword.
Database Toolbox
Click on a problem area listed below to read how it has been fixed.
Improved speed of insert function
Oracle tables load faster in Visual Query Builder
Returning numeric arrays from fetch is faster
Stored procedure now returns data as expected
Improved speed of insert function
The insert function should perform approximately five (or
more) times faster than in the previous version.
Oracle tables load faster in Visual Query Builder
In the Visual Query Builder, when you select an Oracle data source, the
tables load more quickly than in the previous version of the Database
Toolbox.
Returning numeric arrays from fetch is faster
When the data return format is set to numeric in
setdbprefs or in preferences, running fetch
returns data more quickly than in the previous version.
Stored procedure now returns data as expected
In Version 2.2, running exec with a stored procedure did not
return results for some configurations. The problem has been fixed for
this version.
DSP Blockset
Cumulative Sum block behaves properly for frame-based inputs
The Cumulative Sum block now behaves properly when given frame-based
inputs and set to sum along columns.
In this situation, the block now computes the running sum of each column
of a frame-based input, where the running sum is independent of the
running sums of previous inputs.
To get the previous behavior for frame-based inputs when set to sum along
columns, set the block to sum along channels.
Embedded Target for TI C6000 DSP
Sum, Gain, Mult blocks fast replacement TLC is now Big-endian compatible
Sum, Gain, Mult blocks fast replacement TLC is now Big-endian compatible.
They now return correct numeric results.
Filter Design Toolbox
Click on a problem area listed below to read how it has been fixed.
firlpnorm help text was incorrect
QFILT's sos method no longer embeds filter gain in each section
QFILT's sos method no longer normalizes the filter after converting it to SOS
firlpnorm help text was incorrect
For Release 13, the online help text for filter design function
firlpnorm is now correct.
QFILT's sos method no longer embeds filter gain in each section
The QFILT sos method no longer embeds the filter gain in each
section. It now puts the filter gain into the ScaleValue
property of QFILT.
QFILT's sos method no longer normalizes the filter after converting it to SOS
The QFILT sos method no longer normalizes the filter
coefficients after converting it to second-order sections, therefore care
should be taken to avoid overflows by adjusting the coefficient format of
the
filter.
Fuzzy Logic Toolbox
Click on a problem area listed below to read how it has been fixed.
addvar and the command line API
Simulink blocks for TRIMF and TRAPMF now correctly handle vertical slopes
addvar and the command line API
In Release 12, addvar systematically initialized the new
variable with 3 membership functions, thus breaking the command line API,
where it is common first to add the variable and then define the
membership functions.
Release 13 adds logic to allow GUIs to create 3 default membership
functions without interfering with command line calls.
Simulink blocks for TRIMF and TRAPMF now correctly handle vertical slopes
The cases a-b or b=c in trimmf (a-b and c=d in trapmf) caused Divide by
Zero and improper results in Simulink. These blocks have been
reimplemented using the IF block to always produce answers consistent with
the M file implementation
Image Processing Toolbox
Click on a problem area listed below to read how it has been fixed.
cpselect would ask to save points when it wasn't necessary
Stray points could appear in cpselect in point-prediction mode
dicomread and private data
dicomread and signed data from DICOM files
fspecial 'laplacian' and 'unsharp' options
gray2ind returns the correct output
imadjust no longer errors if passed degenerate inputs
imerode handles binary erosion correctly
imhist on IRIX with input containing NaNs
imnoise with the Poisson option
pixval could give a confusing error message for figures with normalized units
Figures created by imshow
Improved performance of dicomread and dicominfo
legend box is resizable in cpselect
Modified the implementation of the Canny algorithm in the edge function.
RLE decoder for DICOM files
cpselect would ask to save points when it wasn't necessary
When you closed the contol-point selection tool (cpselect),
it
would ask if you wanted to save control points, even if you had already
done so. This has been fixed.
Stray points could appear in cpselect in point-prediction mode
When using the control-point selection tool (cpselect) in
point-prediction
mode, sometimes a stray control point would appear that could not be
deleted. This has been fixed.
dicomread and private data
The dicomread function no longer fails when reading from a
file with private data using "explicit VR" syntax.
dicomread and signed data from DICOM files
The dicomread function used no longer fails when reading
signed data from pixels which were not "normal" lengths.
fspecial 'laplacian' and 'unsharp' options
The fspecial function now accepts a parameter value of 0
for the 'laplacian' and 'unsharp' options.
gray2ind returns the correct output
If the input image to gray2ind was logical, then the output
was also logical. The gray2ind function now returns the
correct output in such situations.
imadjust no longer errors if passed degenerate inputs
A call to imadjust with identical low and high limits, such
as
imadjust(A,[b b],[]),
caused imadjust to error out. The problem has been fixed
by providing default limits when the input limits are degenerate.
imerode handles binary erosion correctly
Prior to Release 13, when performing binary erosion with a decomposed
structuring element, such
as strel(ones(5,5)), the first 32 rows of the output image
could be wrong. This has been fixed.
imhist on IRIX with input containing NaNs
The function imhist no longer causes a segmentation violation
on IRIX with
input containing NaNs.
imnoise with the Poisson option
The function imnoise now returns a correctly-
sized output instead of a column vector when using the Poisson option.
pixval could give a confusing error message for figures with normalized units
Turning on pixval for a figure in normalized units could
produce a
confusing error message. The pixval function now issues a
more informative error
message if the figure is not in pixel units.
Figures created by imshow
Prior to Release 13, if invalid input was passed to imshow,
it would sometimes
error out after creating an invisible figure object. Subsequent calls to
imshow would appear to not do anything, because the images
were being sent to the invisible figure. The problem has been fixed by
adding
additional input checking to imshow.
Improved performance of dicomread and dicominfo
The dicomread and dicominfo functions parse
files quicker than
in the past, especially
for files with a lot of metadata.
legend box is resizable in cpselect
The legend box for the control-point selection tool (cpselect)
was
unresizable, which sometimes caused the title bar to be unreadable. This
has been fixed.
Modified the implementation of the Canny algorithm in the edge function.
In the Canny algorithm in the edge function, Gaussian
smoothing should be run
perpendicular to the direction of differentiation. This has been implemented.
RLE decoder for DICOM files
The RLE decoder used by dicomread used to only work for 8-bit
grayscale images (and only for certain ones at that). The decoder now
correctly handles all bit depths and image types.
Mapping Toolbox
Click on a problem area listed below to read how it has been fixed.
Computed distances no longer have spurious imaginary part
Coordinates in map legends for regular matrix maps
Fixed incorrect UTM coordinates in the southern hemisphere
Reading ETOPO5 data files at full resolution
Computed distances no longer have spurious imaginary part
The round-off problem that caused the return value
of the distance function to include a small, nonzero imaginary
part for certain inputs has been fixed.
Coordinates in map legends for regular matrix maps
Version 1.3 fixes setpostn to handle longitude limits that
straddle the
prime meridian.
Fixed incorrect UTM coordinates in the southern hemisphere
A typographical error in defaultm in the false northing for
Universal Transverse Mercator (UTM) has been corrected. That error had
caused incorrect UTM/geographic conversions for points in the southern
hemisphere.
Reading ETOPO5 data files at full resolution
Padding is added as needed in etopo5 when reading different
numbers of
elements from the northern and southern hemisphere files.
MATLAB
Click on a problem area listed below to read how it has been fixed.
'cubic' method in griddata no longer produces segmentation fault
diff function has improved handling of negative order
eigs(A,B,k,sigma) for sparse B now converges
filter function has better support for multidimensional data
log10(10^i) now returns i, exactly
lsqr now converges for rectangular systems
sqrtm now returns correct results for singular Hermitian matrix
Array Editor supports more than 10,000 elements
Import Wizard opens large files more quickly
Improved accuracy for denormal pivot handling
Improved Workspace browser performance with many variables
Modal dialog behavior improvements
Serial port fixes
The lookfor function now automatically displays results
Workspace browser allows renaming variables
'cubic' method in griddata no longer produces segmentation fault
Previously, the 'cubic' method of the griddata
function would occasionally
encounter a segmentation fault. This no longer happens.
diff function has improved handling of negative order
Previously, MATLAB encountered a segmentation fault when computing
diff(sparse([1;1]),-1). Now, an error message is displayed if
the order is not a real positive integer.
eigs(A,B,k,sigma) for sparse B now converges
Previously,
eigs(A,B,k,sigma)
for sparse B and non-scalar sigma
(sigma not equal to 'SM' either)
applied a reordering to B before factoring it for use in
repeated solves. Unfortunately, the reordering was not correctly applied
in the subsequent solves and as a result eigs did not
converge.
The reordering is now being applied correctly and eigs now
converges in
this case.
filter function has better support for multidimensional data
For multidimensional inputs, filter sometimes produced
incorrect error messages or the wrong results. This no longer happens.
log10(10^i) now returns i, exactly
Previously, log10 was computed directly as log(x) / log(10),
where log is
the natural logarithm. The error in this was particularly visible in
computations of the form log10(10^i), for example:
>> log10(1e6)
ans =
5.999999999999999e+00
Now, log10 does some additional scaling to compute
log10(10^i) to the nearest bit.
lsqr now converges for rectangular systems
Previously, lsqr only converged for square, consistent
systems A*x=b and
returned a solution x where norm(b-A*x) was
small.
Now, lsqr also converges for rectangular systems and returns
a solution x
where norm(b-A*x) is not necessarily small, but is
minimized, and in
fact norm(A'*(b-A*x)) is small.
sqrtm now returns correct results for singular Hermitian matrix
A matrix square root always exists for Hermitian matrices.
Previously, sqrtm(X) sometimes returned a matrix of all
NaNs for matrices X that were both
Hermitian and singular. Now sqrtm(X) returns the correct
results for these
matrices. sqrtm is now also faster for Hermitian matrices.
Array Editor supports more than 10,000 elements
The Array Editor can now show arrays with more than 10,000 elements. It
does not support arrays with more than 65,536 (2^16) elements.
Import Wizard opens large files more quickly
In previous releases, the Import Wizard was sometimes slow when opening
large files, but the problem has been fixed in this version.
Improved accuracy for denormal pivot handling
LU factorizations for full matrices now use a modified version of the
LAPACK LU factorization routines and return more
accurate results when encountering denormal pivots (i.e., smaller than
realmin). In previous versions, results may have included
NaNs; for example:
A = [2^(-1050) 2^(-1050);0 0]
[L,U] = lu(A)
A =
1.0e-316 *
0.8289 0.8289
0 0
L =
1 0
NaN 1
U =
1.0e-316 *
0.8289 0.8289
0 NaN
In the current version, results are more accurate. For example, using
A as above,
[L,U] = lu(A)
L =
1 0
0 1
U =
1.0e-316 *
0.8289 0.8289
0 0
This improved accuracy carries with it a performance loss for any
operations that use lu or lu-based
\ (backslash) for factorization of full matrices.
Improved Workspace browser performance with many variables
There is no longer a performance problem with more than 1000 variables open
in the Workspace browser.
Modal dialog behavior improvements
Modal dialogs on Windows platforms have been improved in terms of common
appearance and stability. In Release 12, MATLAB would sometimes lock up due
to modal dialogs. In Release 13, this is fixed.
Serial port fixes
Serial port objects now work with the baud rates 128,000 and
256,000
along with all other standard baud rates listed in the BaudRate property
help.
MATLAB can now find serial ports if the MATLAB root directory
contains
an underscore.
A memory leak no longer occurs when opening and closing the serial
port connection.
On Windows, serial port objects now recognize ports greater than
COM4.
On Solaris, there is no restriction on the number of times that the
serial port can be opened.
On Linux, there is a significant speed increase when writing data
to the serial port.
The lookfor function now automatically displays results
When you run lookfor, results will now automatically display
in the Command Window. You no longer need to press Ctrl+C to
display
results. While lookfor is running, the status bar shows
Busy.
Workspace browser allows renaming variables
You can now rename variables from within the Workspace Browser.
Right-click a variable name, select Rename from the context
menu, and edit the name.
Model-Based Calibration Toolbox
Click on a problem area listed below to read how it has been fixed.
3-D and 4-D design views
Breakpoint filling using "ShareCurvThenAve" algorithm
Converting variables to aliases
Cross Section tool now displays correct model error
Differences in the history of 1-D tables
Fitting and pruning RBF models
Importing data from Excel into a Dataset
Local sweep notes kept during data augmentation
Optimal designs no longer allow incorrect number of stratified levels
Outlier sweeps appearing in the global outlier list
Previewing large Latin Hypercube designs now faster
Stratified Latin Hypercube designs
Viewing imported data in Datasets
You can now delete designs without crashing the Model Browser
3-D and 4-D design views
The 3-D and 4-D design views will now correctly display all of the points
in a design. Previously, for some factor ranges points at the edges of
the graph, limits were not displayed.
Breakpoint filling using "ShareCurvThenAve" algorithm
Breakpoint filling using "ShareCurvThenAve" now works correctly in all
cases and is significantly faster than in the previous version.
Converting variables to aliases
You can now convert all Variable Dictionary items into an alias of another
Variable Dictionary item. Previously, this would cause an error in some
circumstances where the items were being used elsewhere in the Cage
project.
Cross Section tool now displays correct model error
The Cross Section view of the Model Selection window now displays the
correct model error while the input factor lines are being dragged.
Previously, the error shown while dragging the line was different from
that
shown when the mouse button was released.
Differences in the history of 1-D tables
1-D tables in Cage now correctly show the difference between two versions
in the history.
Fitting and pruning RBF models
Re-fitting an RBF model after pruning now uses the correct value for log10
(GCV).
Importing data from Excel into a Dataset
You can now import large amounts of data from Excel into a Dataset.
Previously, attempting to do this caused an error to occur.
Local sweep notes kept during data augmentation
When you add new data to a testplan that already has models, any sweep
notes which have been made are now saved when the models are re-fitted.
Optimal designs no longer allow incorrect number of stratified levels
Optimal designs with stratified candidate sets will now correctly fail if
there are not enough stratified levels to support the model. Previously,
small numerical errors allowed the optimisation to proceed, but poor
conditioning meant that the optimal value oscillated up and down.
Outlier sweeps appearing in the global outlier list
Previously, if a local sweep was removed from fitting at the local level,
the global response features only showed the removed sweep in their list
of removed points if one or more outliers was selected and removed at the
global level. All removed points are now shown at the global response
feature level all of the time.
Previewing large Latin Hypercube designs now faster
You can now create large Latin Hypercube designs from the Classical Design
Browser without MATLAB appearing to hang. Previously a full set of search
iterations was erroneously done before the expected waitbar appeared and
the search commenced.
Stratified Latin Hypercube designs
Stratified Latin Hypercube designs now choose their stratified levels so
they split the stratified dimension into exactly equal sections.
Previously, the levels were "snapped" to the nearest non-stratified level,
which depends on the total number of points in the design. This meant
that some levels were shifted down slightly and others up.
Viewing imported data in Datasets
You can now view Datasets that consist entirely of imported data.
Previously, viewing these datasets caused Cage to crash.
You can now delete designs without crashing the Model Browser
You can now delete designs from anywhere in the Design Editor tree without
causing errors. Previously, if your best design was at the end of the
design tree and you deleted a design, you received an error when you
closed the Design Editor.
Optimization Toolbox
Ill-posed or ill-conditioned problems in fmincon
The function fmincon would in some small number of cases hang
when the
problem was ill-posed or ill-conditioned. In these cases,
fmincon no longer
hangs.
Signal Processing Toolbox
Click on a problem area listed below to read how it has been fixed.
aryule order limit increased
cremez example fixed
Frequency inputs for cheb1ord, cheb2ord, ellipord
Pole/Zero plot root multiplicity
Scaling of magnitude response in magnitude and phase plot
SPTool Filter Viewer Print Preview
aryule order limit increased
The model order in the aryule function is no longer limited
to
half the input signal length. The order now can be up to the signal
length.
cremez example fixed
The second example on the cremez reference page has been
updated and now works correctly.
Frequency inputs for cheb1ord, cheb2ord, ellipord
For the digital bandstop case, the frequency values returned from
the cheb1ord, cheb2ord, and
ellipord
functions are no longer changed from
the input frequency values.
Pole/Zero plot root multiplicity
The pole/zero plot in FDATool and FVTool now can display multiple roots at
a single plot point.
Scaling of magnitude response in magnitude and phase plot
The scaling of the magnitude response portion of the Magnitude and Phase
Analysis plot in both FDATool and FVTool was incorrect for some filters.
It now is scaled correctly.
SPTool Filter Viewer Print Preview
Print Preview, when no markers are displayed in the SPTool Filter Viewer,
now works correctly.
Simulink
Click on a problem area listed below to read how it has been fixed.
Block parameter defaults now stored in mdl file
Breaking disabled library links from the command line
Bus Selector adapts to bus structure changes
Changing Configurable Subsystem selection crashed MATLAB
Creating Simulink data object classes in the MATLAB work directory
Dot Product block now works in loops
Drag-selecting blocks froze UNIX
Grouping blocks caused divide-by-zero error
Improved detection of evenly spaced breakpoints in PreLook-Up Index Search and Look-Up Table n-D blocks
Keyboard panning capabilities added to Simulink diagram editor
MATLAB and Simulink lockup after ESC during drag operation
Multirate models caused Simulink to hang
PreLook-Up Index Search, Look-Up Table n-D (Flat interpolation) blocks now return top of table
Propagating library changes created recursive links
Pulse generator computed sample time
Scope Block will not crash when "Save To Workspace" variable name is longer than 31 characters
SegV when adding/deleting Simulink blocks with Model Browser open on Unix
Selecting Tools->Coverage Settings when all Simulink licenses are checked out
Self-modifying masked library blocks had missing connections
Shift+drag disconnected a block inside a locked reference block
Simulink debugger did not recognize CurrentBlock parameter
Block parameter defaults now stored in mdl file
The mdl file now has a new section, "BlockParameterDefaults."
The default values for the parameters used by the block
types present in the model are written into this section.
Then, an individual block instance's parameter values are
written into the mdl file only if they differ from the default.
This technique reduces the size of the mdl file, as well
as reducing the file load time.
A block diagram parameter, SaveDefaultBlockParams, exists to
control
whether or not the parameter defaults are saved to the file. By default
it is set to true.
Breaking disabled library links from the command line
Breaking disabled library links from the
command-line now works.
Bus Selector adapts to bus structure changes
In previous releases, adding signals to a bus or otherwise changing its
structure required that you update any Bus Selector blocks that select
signals from the bus. In the current release, you need to update the Bus
Selector only if it selects signals that no longer exist or no longer have
unique names.
Changing Configurable Subsystem selection crashed MATLAB
The Configurable Subsystem has been made faster and more robust when
changing block choices. This is especially noticeable for large subsystems.
Creating Simulink data object classes in the MATLAB work directory
Previous releases of Simulink prevented you from creating
Simulink data object classes in the MATLAB directory or any
of its subdirectories. The current release allows you to
create classes in the work subdirectory of the MATLAB
root directory.
Dot Product block now works in loops
In Release 12.1, a Dot Product block in a loop cannot determine its
port dimension and hence causes a simulation error. Now the block assigns
a default dimension setting to the port, thereby avoiding the simulation
error.
Drag-selecting blocks froze UNIX
Releasing the left mouse button over the Simulink menu bar when drag-
selecting multiple blocks caused UNIX to lock up. This has been fixed.
Grouping blocks caused divide-by-zero error
Grouping blocks in Simulink into a subsystem caused a divide-by-zero error
if the blocks were too close to the top or left edge of the model. This
has been fixed.
Improved detection of evenly spaced breakpoints in PreLook-Up Index Search and Look-Up Table n-D blocks
The option for using a fast index search algorithm that relies on evenly
spaced breakpoints for look-up tables was enhanced to better detect evenly
spaced breakpoints within a tolerance of value*eps. Note
that breakpoint expressions such as [-5:0.1:5] may still need
to be written as 0.1*[-50:50] to generate a dataset that is
evenly spaced within the required tolerance. The linear and binary search
options will of course still work on any strictly increasing breakpoint
data set (not just evenly spaced ones).
Keyboard panning capabilities added to Simulink diagram editor
You can now scroll Simulink diagrams around using the keyboard by pressing
the Ctrl key in conjunction with any of the arrow keys. This is
sometimes
more convenient than manipulating the scroll bars with the mouse.
MATLAB and Simulink lockup after ESC during drag operation
In previous releases, pressing the Esc key while dragging
a block or performing other types of drag operations caused MATLAB
and Simulink to become unresponsive. In the current release, pressing
the Esc key will abort the drag operation.
Multirate models caused Simulink to hang
For multirate models that are simulated to very large times, Simulink would
eventually miss a sample hit for one of the rates. This would cause
Simulink to hang. This has now been fixed and Simulink no longer hangs.
PreLook-Up Index Search, Look-Up Table n-D (Flat interpolation) blocks now return top of table
The behavior of the PreLook-Up Index Search block (index only mode) and the
Look-Up Table n-D block (in flat interpolation mode) were changed to return
the last index in the table when the input value is at or above the last
breakpoint value as this is more useful than the previous behavior. For
the Look-Up Table n-D block, this is done on an individual dimension basis.
In previous versions (Simulink 4.0 and 4.1), the index search would
deliberately return the next to last index and the n-D flat look-up would
deliberately return the next to last table value even when the input value
was at or above the last breakpoint.
Propagating library changes created recursive links
If changes are made to a linked block, propagating such changes to
the library via the Link options menu now does not result in
recursive links.
Pulse generator computed sample time
The pulse generator block would somtimes report that the computed sample
time is not an integer multiple fo the fixed step size when, in fact, it
was. This has been fixed.
Scope Block will not crash when "Save To Workspace" variable name is longer than 31 characters
Scope blocks with "Save To Workspace" variable names longer than the
maximum MATLAB variable length (currently 31 characters) used to crash
Simulink in unpredictable ways during simulation. Such variable names
will no longer crash Simulink, though they will generate an error.
SegV when adding/deleting Simulink blocks with Model Browser open on Unix
On Unix platforms, a segmentation violation would occur if you added or
deleted blocks in a Simulink model while the Model Browser was open. This
has been fixed.
Selecting Tools->Coverage Settings when all Simulink licenses are checked out
The "Undefined variable names" error is no longer displayed when selecting
Menu->Tools->Coverage Settings without an available Simulink license.
Self-modifying masked library blocks had missing connections
Library subsystems containing self-modifying masked blocks no longer have
to be marked as MaskSelfModifiable for the linked blocks to be connected
properly.
Shift+drag disconnected a block inside a locked reference block
In previous releases, holding down the Shift key and dragging a
block inside a reference block (i.e., a library link) disconnects the
block's signal lines and brings up a dialog box asking if you would like
to disable the link. In the current release, Simulink does not disconnect
the lines.
Simulink debugger did not recognize CurrentBlock parameter
In the previous release, you could not use get_param or
set_param to set
or get the value of the CurrentBlock parameter in the command-line
debugger until you selected a block. The Simulink command-line debugger
now allows you to set and get the value of this parameter without having
to first select a block with the mouse.
Simulink Accelerator
Click on a problem area listed below to read how it has been fixed.
Non-inlined S-functions that accept non-double parameters will now work with the accelerator
Simulink Accelerator has correct minor step guard for enable, if, case
Simulink Accelerator now functions without an RTW license
Simulink Accelerator supports gcc compiler on UNIX
Non-inlined S-functions that accept non-double parameters will now work with the accelerator
In previous releases, if a non-inlined S-function used non-double parameter
then the model would error out while trying to generate accelerator code.
This restriction has been relaxed.
Simulink Accelerator has correct minor step guard for enable, if, case
Under certain circumstances with the Simulink Accelerator, the generated
code of models containing enable, if and case subsystems could be
activiated during minor time steps, causing incorrect outputs. This has
been fixed.
Simulink Accelerator now functions without an RTW license
The Simulink Accelerator no longer requires a Real-Time Workshop license to
function properly.
Simulink Accelerator supports gcc compiler on UNIX
The Simulink Accelerator now supports use of the gcc compiler on UNIX
systems.
Spline Toolbox
Click on a problem area listed below to read how it has been fixed.
pprfn failed when no breaks need be inserted
Data edits in splinetool now tracked properly
Errors in spcol for various unusual inputs corrected
pprfn failed when no breaks need be inserted
pprfn now properly returns the function unchanged in case all
the
additional breaks are already breaks for the function.
Data edits in splinetool now tracked properly
Each spline fit now remembers the data to which it was fit. If, at some
point, you make a previously constructed spline fit the current one, then
also the data currently showing get changed to the data to which that
spline was fit.
Errors in spcol for various unusual inputs corrected
spcol now provides a correct sparse version of its output
even for knot
sequences with unusual end knot multiplicities, and when some sites lie to
the right of the last knot while some site appears more than once.
None of these cases is likely to occur in ordinary spline work since, in
all of them, the resulting matrix is not invertible.
Stateflow
Click on a problem area listed below to read how it has been fixed.
Code generation for RTW target failed for array data initialized from workspace
Generated code for RTW target did not include custom code
Hierarchical printing for closed charts caused transition and printout errors
Infinite flow graph loops in Stateflow did not stop during simulation
Mismatched dimensions in assignments not flagged by parser
Model file names in Stateflow were limited to 25 characters
Pointer and address operator use in generated code caused compile errors
Search and Replace errored out with LaTex strings in annotations
Smart transitions in resized grouped state were graphically messy
Transition actions were handled incorrectly for a confluence of transitions
Transition source for event broadcast was highlighted for the rest of simulation
Code generation for RTW target failed for array data initialized from workspace
Code generation for an RTW target no longer fails when the chart includes
output array data initialized from the workspace. (Occurred in Versions
3.0 through 4.1.1.)
Generated code for RTW target did not include custom code
Code generated for an RTW target now can includes any custom code entered
by a user. (Occurred in Versions 4.1 through 4.1.1.)
Hierarchical printing for closed charts caused transition and printout errors
Hierachical Printing invoked from a Simulink window when the charts were
closed no longer causes transition label positions to change and no longer
causes
incorrect printouts. (Occurred in Version 4.0 through 4.1)
Infinite flow graph loops in Stateflow did not stop during simulation
In models containing an infinite flow graph loop, you can now stop
simulation by using Ctrl-C or the Stop
Simulation button in the diagram editor and debug window.
Mismatched dimensions in assignments not flagged by parser
The Stateflow parser did not flag mismatched dimensions or array lengths
in vectorized assignments such as x = y, where x
and y are vector data
with different dimensions and/or lengths. This no longer causes crashes
during
runtime.
(Occurred in Versions 2.0 through 4.1.)
Model file names in Stateflow were limited to 25 characters
Models containing Stateflow charts must have file names limited to 25
characters or less. When you try to save a model with more characters, an
error results. If you try to load a model with more than 25 characters in
its file name, a warning results telling you to reduce the number of
characters in the file name to 25 or less.
Pointer and address operator use in generated code caused compile errors
Certain uses of the pointer and address operators ('->' and '&',
respectively) in state and transition actions used to cause uncompilable
generated code. (Occurred in Versions 3.0 through 4.1.1). This has been
fixed.
Search and Replace errored out with LaTex strings in annotations
The Stateflow Search and Replace Tool no longer errors out in the presence
of LaTeX
format strings in Stateflow annotations. (Occurred in Versions 4.0.2
through 4.1.)
Smart transitions in resized grouped state were graphically messy
When a grouped state containing "smart" transitions was resized, the
transitions in the newly resized state are now displayed properly.
(Occurred in
Version 4.1)
Transition actions were handled incorrectly for a confluence of transitions
Transition actions are now handled correctly for a confluence of
transitions into a single destination such as the junction shown below:
Transition source for event broadcast was highlighted for the rest of simulation
During simulation an early return from an event broadcast from a
transition no longer leaves that transition highlighted for the rest of
the simulation.
(Occurred in Versions 3.0 through 4.1.)
Stateflow Coder
Click on a problem area listed below to read how it has been fixed.
Charts containing unstructured flow graphs caused compilation errors during Real-Time Workshop builds
Missing return statements in some graphical functions
Optimization of simple "if" conditional statements caused incorrect code
Optimization of state exit functions caused incorrect code to be generated
Passing chart input data to graphical functions caused code generation failure for RTW targets
Using min/max macros in Stateflow charts caused compilation failures during RTW build
Charts containing unstructured flow graphs caused compilation errors during Real-Time Workshop builds
Charts containing unstructured flow graphs no longer cause compilation
errors
during Real-Time Workshop builds.
Missing return statements in some graphical functions
All graphical functions with a return value and unusual flow graph
topology now include a final return statement in the generated code.
Optimization of simple "if" conditional statements caused incorrect code
Optimization of simple "if" conditional statements no longer causes
incorrect code
to be generated. (Occurred in Version 4.2)
Optimization of state exit functions caused incorrect code to be generated
Optimization of state exit functions no olonger causes incorrect code to
be
generated. (Occurred in Version 4.2)
Passing chart input data to graphical functions caused code generation failure for RTW targets
Passing chart input data to graphical functions no longer causes code
generation failures for Real-Time Workshop targets.
Using min/max macros in Stateflow charts caused compilation failures during RTW build
Using min/max macros in Stateflow charts caused compilation failures
during RTW builds of ert/grt embedded targets. This has been fixed.
Statistics Toolbox
Click on a problem area listed below to read how it has been fixed.
cluster function usable with larger problems
dendrogram graph corrected for plotting a subset of nodes
pdist more efficient for large data sets
ranksum uses a continuity correction
Corrected calculation of covratio statistic by regstats function
Linear and quadratic discriminant analysis added to classify
Negative binomial (nbin*) functions no longer require an integer R value
cluster function usable with larger problems
The cluster function is no longer recursive, so it no longer
encounters a
recursion limit when it is applied to a large data set. Consequently,
cluster now succeeds with larger data sets than in the past.
dendrogram graph corrected for plotting a subset of nodes
In a plot of a subset of the nodes in a cluster tree, the
dendrogram function now adjusts the Y axis limits to scale
the
tree properly, and it
shows the correct distance values. Before Version 4.0 (Release 13), it was
subtracting an
offset to position the minimum distance value near zero, and therefore it
was not possible to read the correct distance values from the Y axis
of the resulting plot.
pdist more efficient for large data sets
The pdist function now makes more efficient use of memory, so
it can be
used on larger
problems than in previous releases.
ranksum uses a continuity correction
The ranksum function uses an exact calculation for small
sample sizes, and
a normal approximation for larger sample sizes. Starting in Version 4.0
(Release 13),
the normal approximation now includes a continuity correction.
Corrected calculation of covratio statistic by regstats function
In Version 3.0 and earlier of the Statistics Toolbox, the covratio
statistic was calculated incorrectly. The calculation was fixed in
Version 3.1. This statistic measures the ratio of the generalized
variance of the
coefficient estimates without a given row, to the generalized variance
using all the data.
Linear and quadratic discriminant analysis added to classify
The algorithm that was previously implemented in classify
used the Mahalanobis
distance between sample points and training groups, with stratified
estimates of covariance. The new implementation adds the standard
algorithms for linear (default) and quadratic discriminant analysis. Use
the type 'mahalanobis' in the new version to
duplicate the behavior of the previous version.
Negative binomial (nbin*) functions no longer require an integer R value
Consistent with a more general interpretation of the negative binomial,
these functions now accept any positive value, including nonintegers, for
the size parameter R: nbincdf,
nbininv, nbinpdf,
nbinrnd, nbinstats.
Wavelet Toolbox
Click on a problem area listed below to read how it has been fixed.
cmorwavf function inputs
Different results for std2 function in the Wavelet and Image Processing Toolboxes
Loading wptree object from a MAT-file
Loading complex data into Continuous Wavlet 1-D
Using wpdec function with a user-defined function
cmorwavf function inputs
The two last input arguments are no longer reversed in the
cmorwavf function.
Different results for std2 function in the Wavelet and Image Processing Toolboxes
You no longer get slightly different results from the std
(compute
standard deviation of matrix elements) function in the Image Processing
Toolbox and the Wavelet Toolbox.
Loading wptree object from a MAT-file
wptree has been updated so that a wptree object
can be loaded from a
MAT-file.
Loading complex data into Continuous Wavlet 1-D
An error message stating that the data must be real is displayed when you
try to load complex data into the Continuous Wavlet 1-D.
Using wpdec function with a user-defined function
Using wpdec with a user-defined function no longer produces
errors that
were caused by wpdec's use of wentropy.
xPC Target
Polling mode with embedded option
Previously, when you created a Stand-alone application, polling mode did
not start. Now, it does.
Wyszukiwarka
Podobne podstrony:
bugfixesbugfixesp1więcej podobnych podstron