| Simulink® | ![]() |
Sinks
The To Workspace block writes its input to the MATLAB workspace. The block writes its output to an array or structure that has the name specified by the block's Variable name parameter. The Save format parameter determines the output format.
Selecting this option causes the To Workspace block to save the input as an N-dimensional array where N is one more than the number of dimensions of the input signal. For example, if the input signal is a 1-D array (i.e., a vector), the resulting workspace array is two-dimensional. If the input signal is a 2-D array (i.e., a matrix), the array is three-dimensional.
The way samples are stored in the array depends on whether the input signal is a scalar or vector or a matrix. If the input is a scalar or a vector, each input sample is output as a row of the array. For example, suppose that the name of the output array is simout. Then, simout(1,:) corresponds to the first sample, simout(2,:) corresponds to the second sample, etc. If the input signal is a matrix, the third dimension of the workspace array corresponds to the values of the input signal at specified sampling point. For example, suppose again that simout is the name of the resulting workspace array. Then, simout(:,:,1) is the value of the input signal at the first sample point; simout(:,:,2) is the value of the input signal at the second sample point; etc.
For variable-step solvers, the Output options found on the Data Import/Export pane of the Configuration Parameters dialog box determine the amount of data available to the To Workspace block. For example, if you need to ensure that data is written at identical time points over multiple simulations, select the Produce specified output only option in the Configuration Parameters dialog box and enter the desired time vector.
Block parameters then control when and how much of this data the To Workspace block writes:
The Limit data points to last parameter indicates how many sample points to save. If the simulation generates more data points than the specified maximum, the simulation saves only the most recently generated samples. To capture all the data, set this value to inf.
The Decimation parameter allows you to write data at every nth sample, where n is the decimation factor. The default decimation, 1, writes data at every time step.
The Sample time parameter allows you to specify a sampling interval at which to collect points. This parameter is useful when you are using a variable-step solver where the interval between time steps might not be the same. The default value of -1 causes the block to inherit the sample time from the driving block when determining the points to write. See Specifying Sample Time in the online documentation for more information.
During the simulation, the block writes data to an internal buffer. When the simulation is completed or paused, that data is written to the workspace. Its icon shows the name of the array to which the data is written.
This format consists of a structure with three fields: time, signals, and blockName. The time field is empty. The blockName field contains the name of the To Workspace block. The signals field contains a structure with three fields: values, dimensions, and label. The values field contains the array of signal values. The dimensions field specifies the dimensions of the values array. The label field contains the label of the input line.
This format is the same as Structure except that the time field contains a vector of simulation time steps.
Note This format does not support frame-based signals. Use Array or Structure format instead. |
In a simulation where the start time is 0, the Limit data points to last is 100, the Decimation is 1, and the Sample time is 0.5. The To Workspace block collects a maximum of 100 points, at time values of 0, 0.5, 1.0, 1.5, ..., seconds. Specifying a Decimation value of 1 directs the block to write data at each step.
In a similar example, the Limit data points to last is 100 and the Sample time is 0.5, but the Decimation is 5. In this example, the block collects up to 100 points, at time values of 0, 2.5, 5.0, 7.5, ..., seconds. Specifying a Decimation value of 5 directs the block to write data at every fifth sample. The sample time ensures that data is written at these points.
In another example, all parameters are as defined in the first example except that the Limit data points to last is 3. In this case, only the last three sample points collected are written to the workspace. If the simulation stop time is 100, data corresponds to times 99.0, 99.5, and 100.0 seconds (three points).
The From File block can read data written by a To Workspace block subject to the following requirements:
The data must include the simulation times. The easiest way to include time data in the simulation output is to specify a variable for time on the Data Import/Export pane of the Configuration Parameters dialog box. See Data Import/Export Pane for more information.
The data must be the transposition of the data saved to the workspace by the To Workspace block. Before saving the data to a MAT-file, transpose it to the form expected by the From File block.
The data in the file must be scalar or vector data of type double.
In a To Workspace block, use the Structure with Time format to save sample-based data if you intend to use a From Workspace block to play back the data in another simulation.
The To Workspace block can save real or complex inputs of any data type supported by Simulink® software, including fixed-point data types, to the MATLAB workspace.
For a discussion on the data types supported by Simulink software, see Data Types Supported by Simulink® in the Simulink documentation.

The name of the array that holds the data.
The maximum number of input samples to be saved. The default is inf samples.
A decimation factor. The default is 1.
The sample time at which to collect points. See Specifying Sample Time in the online documentation for more information.
Format in which to save simulation output to the workspace. The default is structure.
Select to log fixed-point data to the MATLAB workspace as a Simulink Fixed-Point fi object. Otherwise, fixed-point data is logged to the workspace as double.
Sample Time | Specified in the Sample time parameter |
Dimensionalized | Yes |
Multidimensionalized | Yes |
From File, From Workspace, To File
![]() | To File | Transfer Fcn | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |