主要内容

getRootInportMap

创建自定义对象,将信号映射到根级导入

语法

地图= getRootInportMap(“空”);
地图= getRootInportMap(模型、mdl名称,值);
地图= getRootInportMap (inputmap、地图、名称、价值);

描述

地图= getRootInportMap ('');创建一个空的映射对象,地图.使用此映射对象可设置空的自定义映射对象。在使用此函数之前加载模型。如果您没有首先加载模型,那么该函数将加载模型以生成映射,然后关闭模型。

地图= getRootInportMap (模型、mdl名称、值);的映射对象模型mdl,并指定块名称和信号名称。在使用此函数之前加载模型。如果您没有首先加载模型,那么该函数将加载模型以生成映射,然后关闭模型。要创建要从该对象映射的以逗号分隔的变量列表,请使用getInputString函数。

地图= getRootInportMap (inputmap、地图、名称、价值);使用指定的属性覆盖映射对象。您只能重写属性模型blockName,signalName.在使用此函数之前加载模型。如果您没有首先加载模型,那么该函数将加载模型以生成映射,然后关闭模型。要创建要从该对象映射的以逗号分隔的变量列表,请使用getInputString函数。

使用getRootInportMap当创建自定义映射模式以将数据映射到根级导入时,命令。参见示例文件BlockNameIgnorePrefixMap.m,位于matlabroot/帮助/工具/模型/例子金宝app,以作为自定义映射算法的示例。

输入参数

创建一个空的映射对象。

默认值:没有一个

名称-值对的观点

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

“模型”

要与根导入映射关联的模型名称。

默认值:没有一个

“blockName”

根级输入端口的块名称。该工具根据root- import块的名称将数据分配到端口。如果工具发现一个数据元素的名称与root- import块的名称匹配,它就将数据映射到相应的端口。

这个参数的值可以是:

根级输入端口的块名称。
包含根级输入端口的多个块名称的单元格数组。

默认值:没有一个

“signalName”

要映射的信号名称。该工具根据端口上的信号名称将数据分配给端口。如果工具发现一个数据元素的名称与端口上的信号名称相匹配,它就将数据映射到相应的端口。

这个参数的值可以是:

要映射的信号名称。
单元格数组包含要映射的信号的多个信号名称。

默认值:没有一个

“inputmap”

要重写的映射对象的名称。

默认值:没有一个

输出参数

地图

可用于将数据映射到根级输入端口的自定义对象。要创建要从该对象映射的以逗号分隔的变量列表,请使用getInputString函数。

例子

全部折叠

创建空的自定义映射对象。

地图= getRootInportMap (“空”
map = 1x0带有属性的InputMap数组:Type DataSourceName

使用MATLAB创建一个简单的映射对象®时间序列对象。

创建一个时间序列对象,signalIn1

signalIn1 = timeseries ((1:10) ')
常用属性:Name: ' named' Time: [10x1 double] TimeInfo: [1x1 tsdata. Properties]time: [10x1 double] DataInfo: [1x1 tsdata. datametdata]

为模型的时间序列对象创建映射对象,ex_minportsOnlyModel

modelFile = fullfile (matlabroot,“帮助”“工具箱”“金宝app模型”...“例子”“ex_minportsOnlyModel”);load_system (modelFile);地图= getRootInportMap (“模型”“ex_minportsOnlyModel”...“blockName”“三机”“signalname”“signalIn1”
DataSourceName: 'signalIn1' Destination: [1x1 Simulink.iospecification.Destination]金宝app

使用模型的块名称和信号名称的向量创建映射对象ex_minportsOnlyModel

创建一个向量映射对象。

modelFile = fullfile (matlabroot,“帮助”“工具箱”“金宝app模型”...“例子”“ex_minportsOnlyModel”);load_system (modelFile);地图= getRootInportMap (“模型”“ex_minportsOnlyModel”...“blockName”, {“三机”“In2”},...“signalname”, {“signalIn1”“signalIn2”})
map = 1x2带有属性的InputMap数组:Type DataSourceName

创建一个包含信号的映射对象var2,然后覆盖var2var1

创建一个向量映射对象。

%加载模型并定义变量modelFile = fullfile (matlabroot,“帮助”“工具箱”“金宝app模型”...“例子”“ex_minportsOnlyModel”);load_system (modelFile);modelValue =“ex_minportsOnlyModel”;blockNameValue =“三机”;signalNameValue =“var2”;portType =“尺寸”%定义var1并使用var1覆盖var2signalNameToOverload =“var1”;mapToOverload = getRootInportMap (“模型”modelValue,...“blockName”blockNameValue,...“signalName”signalNameToOverload)
maptoooverload = InputMap with properties: Type: ' import ' DataSourceName: 'var1' Destination: [1金宝appx1 Simulink.iospecification.Destination]

提示

  • 在运行此函数之前加载模型。

  • 如果您的自定义映射模式类似于现有的Simulink金宝app®映射模式,考虑使用getSlRootInportMap函数来代替。

介绍了R2012b