使用根输入映射器工具的第一步是了解要导入和映射的信号数据的源。您可以使用现有数据(例如,在微软®Excel®电子表格),在mat文件中创建数据,或使用信号编辑器界面创建信号数据。
有关使用根导入映射器工具所涉及的其他步骤的摘要,请参见导入和映射工作流.
您可以从这些数据源导入数据。
基本工作空间——您可以有选择地从基本工作空间导入数据。有关支持的数据格式的详细信息,请参见金宝app选择基本工作区和mat文件格式.
数据文件-您可以有选择地导入MAT文件和微软Excel文件。每次导入文件的内容时,内容都会覆盖根导入映射器工具中已经为该文件加载的数据。
有关更多信息,请参见选择基本工作区和mat文件格式和金宝app支持Microsoft Excel文件格式.
提示
从一个微软Excel电子表格,考虑使用从电子表格块。的从电子表格在模拟过程中,块递增地从电子表格加载数据。如果你使用从电子表格块,则不需要执行任何操作来处理对工作表值的更改。
您还可以使用Signal Editor界面来创建和编辑信号数据。有关更多信息,请参见创建和编辑信号数据.
在标识要导入的信号时,考虑为信号和总线使用命名约定,这样数据分组(场景)是可互换的。例如,您可以有两个mat文件,它们具有用命名约定命名的相同变量集,但数据值不同。然后,您可以轻松地将输入数据的场景切换到模型中或从模型中切换出来。
根导入映射器工具支持MATLAB金宝app®表中所描述的输入信号数据的数据类型或格式。对于每个数据类型,您都可以使用表中指示的映射模式。
数据格式 | 块名称 | 块路径 | 信号的名字 | 港顺序 | 自定义 |
---|---|---|---|---|---|
|
|||||
MATLAB |
|||||
MATLAB |
|||||
|
|||||
|
|||||
有时间的结构和没有时间的结构 |
|||||
数据数组 |
|||||
数组的公交车 |
|||||
请注意
如果mat文件或基本工作区包含Root导入映射器工具不支持的格式的数据,则该工具将忽略该数据。金宝app
请注意
尽管根导入映射器工具接受这些格式,但它只能链接到金宝appSimulink.SimulationData.Dataset
对象。将mat文件中的数据转换为金宝appSimulink.SimulationData.Dataset
对象,在“根导入映射器”对话框中,选择转换信号到场景数据集,并保存到mat -文件复选框。另外,使用convertToSLDataset
函数转换数据。
请注意
当你指定时间表
作为元素数据集
或者是公共汽车时间表
必须只包含一个信号的数据。
如果数据集具有非惟一的元素名,则使用港顺序地图模式。
如果您有包含枚举数据的MATLAB时间序列数据,而枚举类不在您的MATLAB路径上,该工具将忽略该时间序列数据。
当将结构信号数据转换为数据集时,使用结构信号的信号字段的标签字段中包含的值来命名信号。
根导入映射器工具尝试将数据数组映射到单个输入端口。在这种情况下,您可以选择任何地图模式。
您导入并映射到根级的信号数据轮廓尺寸块可以包括总线数据。您不能将总线信号映射到根级启用或触发块。
在MATLAB工作空间中,创建或加载一个总线对象用于要导入和映射的总线数据。
如果在基本工作空间中创建总线对象,则将总线对象定义保存到mat文件中,例如d_myBusObj.mat
.
创建一个单独的mat文件,其中包含要为总线对象导入的总线数据。使用以下方法之一:
使用一个已经包含MATLAB结构或金宝appSimulink.SimulationData.Dataset
对象。
在基本工作区中创建总线,然后将其保存到MAT文件中。
建立模型以加载总线对象。
对根级轮廓尺寸块,将信号映射到数据类型字段到公共汽车
.指定用于信号映射的总线对象的变量名。
将包含用于映射的总线对象的mat文件加载到模型中。例如,使用aPreLoadFcn
回调函数。有关详细信息,请参见加载映射数据的可选工作流.
您可以在mat文件中创建信号数据,以用于根导入映射。例如,您可以导入三个信号(signal1
,signal2
,signal3
),并将信号保存在mat文件中。的金宝appSimulink.SimulationData.Signal
对象包括信号名称、块名称、块路径和端口顺序索引值。
你可以使用convertToSLDataset
函数将mat文件内容转换为金宝appSimulink.SimulationData.Dataset
对象。
在MATLAB中,创建三个金宝appSimulink.SimulationData.Signal
对象,指定信号名称、块路径和端口顺序索引值。
signal1 = 金宝appSimulink.SimulationData.Signal;signal1。Name =“signal1”;signal1。BlockPath = 金宝appSimulink.SimulationData.BlockPath (着干活的);signal1。PortType =“尺寸”;signal1。PortIndex = 1;signal2 = 金宝appSimulink.SimulationData.Signal;signal2。Name =“signal2”;signal2。BlockPath = 金宝appSimulink.SimulationData.BlockPath (“Out2”);signal2。PortType =“尺寸”;signal2。PortIndex = 2;signal3 = 金宝appSimulink.SimulationData.Signal;signal3。Name =“signal3”;signal3。BlockPath = 金宝appSimulink.SimulationData.BlockPath (“Out3”);signal3。PortType =“尺寸”;signal3。PortIndex = 3;
在MATLAB工作区中,选择signal1
,signal2
,signal3
.右键单击所选内容,并在上下文菜单中单击另存为.将文件保存为mySigData.mat
.
打开MAT-file。
打开mySigData.mat
ans = signal1: [1x1 金宝appSimulink.SimulationData.]信号] signal2: [1x1 Simulink.SimulationData.Signal] signal3: [1x1 Simulink.SimulationData.Signal]
你可以使用信号的名字,块名称,块路径,或港顺序map模式与这个mat文件。根据您的映射模式,根导入映射器工具将信号数据从mat文件映射到相应的端口。
您可以使用根导入映射器工具从Excel电子表格导入数据。您还可以使用Root import Mapper工具在Windows上导入CSV文件中的信号数据®系统微软办公软件安装。根导入映射器工具不支持Excel电子表格。金宝app
使用遵循MATLAB变量名称规则的工作表名称。如果从名称不符合这些规则的工作表进行导入,根导入映射器工具将使用修改过的工作表名称。这个修改后的工作表名称遵循MATLAB变量名称规则。例如,如果您有一个工作表名称组名称
,根导入映射器使用修改后的名称GroupName
.
使用工作表的第一行指定信号名称。要么为每个信号指定一个信号名称,要么不指定任何信号名称。如果您没有指定任何信号名称,该工具将使用该格式分配信号名称信号
.#
对于时间值,使用其余行的第一列。每一行的时间值都必须增加。
将信号值放在剩下的列中。
在导入期间,根导入映射器工具将Excel电子表格中的格式化数字转换为双精度数字。
根导入映射器工具不支持电子表格的块路径映射模式。金宝app
这个例子微软Excel已为根输入端口映射设置电子表格。
表格名称为sigData
,这是一个有效的MATLAB变量名。
第一行包含信号名称signal1
,signal2
,signal3
.
第一列有6个时间值,每一行都增加。
在具有时间值的每一行中,第一列右侧的列包含每个信号的信号数据值。