Simulink Reference | ![]() ![]() |
Library
Description
The To Workspace block writes its input to the 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.
Array
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.
The amount of data written and the time steps at which the data is written are determined by block parameters:
inf
.
n
th sample, where n
is the decimation factor. The default decimation, 1, writes data at every time step.
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. The block icon shows the name of the array to which the data is written.
Structure
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.
Structure with Time
This format is the same as Structure except that the time field contains a vector of simulation time steps.
Using Saved Data with a From Workspace Block
If the data written using a To Workspace block is intended to be played back in another simulation using a From Workspace block, use the Structure with Time
format to save the data.
Examples
In a simulation where the start time is 0, the Maximum number of sample points 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 Maximum number of sample points 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).
Data Type Support
A To Workspace block can save real or complex inputs of any data type to the MATLAB workspace except int64
and uint64
. This includes fixed-point data types.
Parameters and Dialog Box
1000
samples.1
.structure
.Characteristics
Sample Time |
Inherited |
Dimensionalized |
Yes |
![]() | To File | Transfer Fcn | ![]() |