getTimeValues
Class: io.reader
Namespace: io
Syntax
timeVals = getTimeValues(obj)
Description
returns time values to use for data imported into the Simulation Data
Inspector using a custom file or workspace variable reader. Specify code for the
timeVals
= getTimeValues(obj
)getTimeValues
method to extract the data from a proprietary file or
variable format.
Input Arguments
obj
— Custom data reader
io.reader
subclass object
Custom data reader, specified as an object of a class that inherits from the io.reader
base class.
Example: MyCustomFileReader
Output Arguments
timeVals
— Time values for imported data
column vector
Time values for imported data, returned as a column vector.
Examples
Get Time Values for Data Imported from File
Write the function definition for the getTimeValues
method to return time values to use for data imported from a file. The custom reader in
this example always uses the data in the first column of the file as time. Specify the
code for the getTimeValues
method in the class definition file.
This example does not show a complete class definition. All custom readers must define
behavior for the getName
,
getTimeValues
, and getDataValues
methods. For an example that shows the complete class definition and import workflow, see
Import Data Using Custom File Reader.
In this example, the getTimeValues
method reads the data from the
file using the readtable
function and returns the data from the
first column to use as the time values for imported signals.
classdef ExcelFirstColumnTimeReader < io.reader methods % ... function timeVals = getTimeValues(obj) timeVals = []; if ~isempty(obj.VaribleName) t = readtable(obj.FileName); timeName = t.Properties.VariableNames{1}; timeVals = t.(timeName); end end % ... end end
Get Time Values for Data Imported from Workspace
Write the function definition for the getTimeValues
method to return time values for data imported from the workspace. Specify the code
executed by the getTimeValues
method in the class definition file.
This example does not show a complete class definition. All custom readers must define
behavior for the getName
,
getTimeValues
, and getDataValues
methods, and workspace data readers need to define the supportsVariable
method. For an example that shows the complete class
definition and import workflow for a workspace data reader, see Import Workspace Variables Using a Custom Data Reader.
The custom reader in this example imports a structure or an array of structures from
the workspace. The structures must contain fields for the signal data
(d
), the time data (t
), and the signal name
(n
). When the variable to import is a scalar structure, the
getTimeValues
method returns the value in the t
field of the imported structure.
When the variable is an array of structures, the custom reader uses both the
getTimeValues
and getChildren
methods to return time
data. The getChildren
method creates a custom reader object for each
structure in the array and sets the ChannelIndex
property to
identify the index of the signal data within the array. Then, the
getTimeData
method uses the ChannelIndex
property value to select the appropriate structure from the
VariableValue
property value, which is the array of
structures.
classdef ExcelFirstColumnTimeReader < io.reader properties ChannelIndex end methods % ... function childObj = getChildren(obj) childObj = {}; if ~isscalar(obj.VariableValue) && isempty(obj.ChannelIndex) numChannels = numel(obj.VariableValue); childObj = cell(numChannels,1); for idx = 1:numChannels childObj{idx} = SimpleStructReader; childObj{idx}.VariableName = sprintf('%s(%d)',obj.VariableName,idx); childObj{idx}.VariableValue = obj.VariableValue; childObj{idx}.ChannelIndex = idx; end end end function timeVals = getTimeValues(obj) if isscalar(obj.VariableValue) timeVals = obj.VariableValue.t; elseif ~isempty(obj.ChannelIndex) varVal = obj.VariableValue(obj.ChannelIndex); timeVals = varVal.t; else timeVals = []; end end % ... end end
Version History
Introduced in R2020b
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)