主要内容

为根导入映射创建信号数据

使用Root Inport Mapper工具的第一步是了解要导入和映射的信号数据的来源。您可以使用现有数据(例如,在微软®Excel®电子表格),在mat文件中创建数据,或使用信号编辑器界面创建信号数据。

有关使用根导入映射器工具所涉及的其他步骤的摘要,请参见导入和映射工作流

选择要导入和映射的数据源

您可以从这些源导入数据。

  • 基本工作空间——您可以有选择地从基本工作空间导入数据。有关支持的数据格式的详细信息,请参见万博1manbetx选择一个基本工作空间和mat文件格式

  • 数据文件-您可以有选择地导入mat文件和中包含的信号Microsoft Excel文件。每次导入文件的内容时,这些内容都会覆盖Root Inport Mapper工具中已经为该文件加载的数据。

    有关更多信息,请参见选择一个基本工作空间和mat文件格式而且万博1manbetx支持microsoftexcel文件格式

    提示

    控件加载模拟的输入数据Microsoft Excel电子表格,考虑使用从电子表格块。的从电子表格Block在模拟期间从电子表格增量加载数据。如果你使用从电子表格块,您不需要做任何事情来处理表值的更改。

您还可以使用信号编辑器界面来创建和编辑信号数据。有关更多信息,请参见创建和编辑信号数据

为信号和总线选择命名约定

在识别要导入的信号时,考虑使用信号和总线的命名约定,这样数据分组(场景)是可互换的。例如,可以有两个mat文件,它们具有相同的变量集,使用命名约定命名,但数据值不同。然后,您可以轻松地在模型中切换输入数据的场景。

选择一个基本工作空间和mat文件格式

根导入映射器工具支持MATLAB万博1manbetx®导入信号数据的数据类型或格式见表。对于每种数据类型,都可以使用表中所示的映射模式。

数据格式 块名称 块路径 信号的名字 港顺序 自定义

万博1manbetxSimulink.SimulationData.Dataset

MATLABtimeseries

MATLAB时间表

万博1manbetxSimulink.SimulationData.Signal

Stateflow.SimulationData.State

有时间的结构和没有时间的结构

数据数组

总线阵列

异步函数调用信号

请注意

如果mat文件或基本工作空间包含根输入映射器工具不支持的格式的数据,该工具将忽略该数据。万博1manbetx

请注意

虽然根导入映射器工具接受这些格式,但它只能链接到万博1manbetxSimulink.SimulationData.Dataset对象。将mat文件中的数据转换为万博1manbetxSimulink.SimulationData.Dataset对象,在“根导入映射器从”对话框中,选择将信号转换为场景数据集并保存到mat文件复选框。或者,使用convertToSLDataset函数转换数据。

请注意

当您指定时间表的元素数据集或者乘公共汽车时间表必须只包含一个信号的数据。

数据集信号数据

如果数据集具有非唯一的元素名称,则使用港顺序地图模式。

MATLAB时间序列信号数据

如果MATLAB时间序列数据包含枚举数据,并且枚举类不在MATLAB路径上,则该工具会忽略该时间序列数据。

结构信号数据

在将结构信号数据转换为数据集时,使用结构信号信号字段的标签字段中包含的值来命名信号。

阵列信号数据

根输入映射器工具试图将数据数组映射到单个输入端口。在这种情况下,您可以选择任何地图模式。

根输入映射的总线信号数据

导入并映射到根级的信号数据轮廓尺寸块可以包括总线数据。不能将总线信号映射到根级启用触发块。

  1. 在MATLAB工作区中,创建或加载一个总线对象对于要导入和映射的总线数据。

  2. 如果在基本工作空间中创建总线对象,则将总线对象定义保存到mat文件,例如d_myBusObj.mat

  3. 创建一个单独的mat文件,其中包含要为总线对象导入的总线数据。使用以下方法中的一种:

    • 使用已经包含MATLAB结构或的现有mat文件万博1manbetxSimulink.SimulationData.Dataset对象。

    • 在基本工作区中创建总线,然后将其保存到mat文件中。

  4. 设置模型以加载总线对象。

    • 对根级轮廓尺寸信号映射到的块,设置数据类型字段公共汽车.指定用于信号映射的总线对象的变量名。

    • 将包含用于映射的总线对象的mat文件加载到模型中。例如,使用aPreLoadFcn回调函数。详细信息请参见加载映射数据的可选工作流

为根导入映射创建mat文件中的信号数据

您可以在mat文件中创建用于根导入映射的信号数据。例如,您可以导入三个信号(signal1signal2,signal3),并将信号保存在mat文件中。的万博1manbetxSimulink.SimulationData.Signal对象包括信号名称、块名称、块路径和端口顺序索引值。

您可以使用convertToSLDataset函数将mat文件内容转换为万博1manbetxSimulink.SimulationData.Dataset对象。

  1. 在MATLAB中,创建三个万博1manbetxSimulink.SimulationData.Signal对象,指定信号名称、块路径和端口顺序索引值。

    signal1 = 万博1manbetxSimulink.SimulationData.Signal;signal1。Name =“signal1”;signal1。BlockPath = 万博1manbetxSimulink.SimulationData.BlockPath(着干活的);signal1。PortType =“尺寸”;signal1。PortIndex = 1;signal2 = 万博1manbetxSimulink.SimulationData.Signal;signal2。Name =“signal2”;signal2。BlockPath = 万博1manbetxSimulink.SimulationData.BlockPath(“Out2”);signal2。PortType =“尺寸”;signal2。PortIndex = 2;signal3 = 万博1manbetxSimulink.SimulationData.Signal;signal3。Name =“signal3”;signal3。BlockPath = 万博1manbetxSimulink.SimulationData.BlockPath(“Out3”);signal3。PortType =“尺寸”;signal3。PortIndex = 3;
  2. 在MATLAB工作区中,选择signal1signal2,signal3.右键单击所选内容,并在上下文菜单中单击另存为.将文件另存为mySigData.mat

  3. 打开mat文件。

    打开mySigData.mat
    ans = signal1: [1x1 万博1manbetxSimulink.SimulationData.]信号] signal2: [1x1 Simulink.SimulationData.Signal] signal3: [1x1 Simulink.SimulationData.Signal]

您可以使用信号的名字块名称块路径,或港顺序使用这个mat文件映射模式。根据映射模式,根输入映射器工具将mat文件中的信号数据映射到相应的端口。

万博1manbetx支持微软Excel文件格式

可以使用根导入映射器工具从Excel电子表格导入数据。您也可以使用Root Inport Mapper工具在Windows上导入CSV文件中的信号数据®系统微软办公软件安装。根导入映射器工具不支持Excel电子表格图表。万博1manbetx

  • 使用符合MATLAB变量名称规则的表名。如果从名称不符合这些规则的工作表导入,根导入映射器工具将使用修改过的工作表名称。修改后的表名遵循MATLAB变量名规则。例如,如果您有一个表名组名称,根导入映射器使用修改后的名称GroupName

  • 使用工作表的第一行指定信号名称。为每个信号指定一个信号名,或者不指定任何信号名。如果您没有指定任何信号名称,该工具将使用该格式分配信号名称信号

  • 对于时间值,使用剩余行的第一列。每一行的时间值都必须增加。

  • 把信号值放在剩下的列中。

  • 在导入过程中,Root Inport Mapper工具将格式化的数字从Excel电子表格转换为双精度。

  • 根导入映射器工具不支持电子表格的块路径映射模式。万博1manbetx

这个例子Microsoft Excel为根导入映射设置了电子表格。

  • 表格名称是sigData,这是一个有效的MATLAB变量名。

  • 第一行包含信号名称signal1signal2,signal3

  • 第一列有六个时间值,每一行都增加。

  • 在每个具有时间值的行中,第一列右侧的列包含每个信号的信号数据值。

相关的例子

更多关于