文档

数据加载根级的输入端口

你可以加载数据从一个工作空间root尺寸建模使用其中一个块:

这些块从工作区导入数据基础上的价值配置参数>数据导入/导出>输入参数。

提示

进口许多信号根级输入端口,可以考虑使用根尺寸映射器工具。有关更多信息,请参见映射根尺寸信号数据

您还可以使用导入数据从一个工作空间从工作空间块。详情,请参阅从工作空间文档和加载数据的输入测试用例

指定输入数据

您可以指定手动输入数据,使用输入配置参数。加载许多信号根级输入端口,考虑使用根尺寸映射工具,它会自动指定的输入参数的数据地图使用该工具。有关详细信息,请参见使用根尺寸地图数据映射工具

  1. 选择配置参数>数据导入/导出>输入参数。

    请注意

    的使用输入配置参数的设置无关格式记录数据保存配置参数。

  2. 在相邻的编辑框中输入一个外部输入规范并单击应用。列表的形式的数据,您可以指定形式的输入数据

输入框中,指定信号输入使用这些方法之一:

  • 在运行时创建数据为每个模拟时间步使用的输入u = UT (t)对于一个MATLAB®(表示为一个字符串)或MATLAB函数表达式。

  • 直接指定数据,使用一个输入数据的形式描述形式的输入数据

以逗号分隔

如果您指定数据集数据,指定只有一个数据集对象的输入参数。不包括一个以逗号分隔。

每个变量或表达式必须评估一个合适的对象对应于一个特定的根级模型中输入端口。列表中的每个变量或表达式必须评估适当的root对象对应一个模型的输入端口。第一项对应于第一根级输入端口,第二个第二根级输入端口,等等。每个数据样本的尺寸必须匹配的尺寸数据输入块中指定的参数。

对于一个启用触发块,信号驱动启用或触发端口必须用逗号分隔列表中的最后一项。如果你有一个启用和触发端口,然后指定:

  • 启用端口列表中的倒数第二项

  • 作为最后一项触发端口

使用一个空矩阵指定端口的值。例如,加载数据输入端口三机一体in3端口,使用地面值in2中,输入以下的输入参数:

in3 in1, []

形式的输入数据

你可以用以下格式提供输入数据:

请注意

当你指定时间表数据加载的时间表必须包含的数据只有一个信号。

导入总线数据的信息,请参阅总线数据加载根级的输入端口

时间值的输入参数

你指定的时间值输入参数不控制时间解算器使用。解决有自己的传播时间和逻辑可能需要输入数据在任意时间价值。的插入参数设置为root输入块(例如,root轮廓尺寸块)指定如何处理输出时不存在相应的空间数据的步骤。

在指定的时间值输入参数不能稀疏或包括值。

数据加载

如果您选择了插入数据选择相应的轮廓尺寸,启用,或触发块,仿真软件万博1manbetx®线性篡改或推断的输入值。

万博1manbetx模型解析符号用于外部输入规范中描述符号解析。的sim卡命令提供一些数据导入功能,只能编程式模拟。

如果你使用一个万博1manbetxSimulink.SimulationData.Dataset对象,该对象包含一个matlab.io.datastore.SimulationDatastore对象作为一个元素,那么持久存储中存储的数据流从一个文件中。有关更多信息,请参见为模拟加载大数据

加载数据集数据根级输入

您可以使用一个数据集对象的价值配置参数>数据导入/导出>输入参数。指定只有一个数据集对象,以逗号分隔列表不包括它。元素的数量数据集必须匹配根级输入端口的数量。

数据集的元素

一个数据集对象可以包含元素具有不同的数据类型。

对个人non-bus信号数据,您可以指定这些类型的数据数据集元素:

  • timeseries

  • 时间表

  • matlab.io.datastore.SimulationDatastore

  • 向量或结构的数据

  • 一个万博1manbetxSimulink.SimulationData.Signal,万博1manbetxSimulink.SimulationData.State,或万博1manbetxSimulink.SimulationData.DataStoreMemory对象

  • 数组能够满足这些要求之一:

    • 数组与第一列,其余时间列每个对应一个输入端口。看到加载数据数组根级输入

    • 一个资料片数组的根尺寸驱动函数调用子系统。

  • 结构——看加载数据结构根级输入

总线信号,使用每个叶的结构与数据元素信号,使用这些格式之一:

  • 一个MATLABtimeseries对象

  • 一个MATLAB时间表对象

  • 一个matlab.io.datastore.SimulationDatastore对象

  • 空矩阵

  • 数据元素的另一个结构,符合这些要求的每个信号总线数据的结构

请注意

当你指定时间表数据加载的时间表可以包含数据只有一个信号。

创建一个数据集对象轮廓尺寸街区

生成一个万博1manbetxSimulink.SimulationData.Dataset从root对象轮廓尺寸块在一个模型中,您可以使用createInputDataset函数。信号在生成的数据集的属性轮廓尺寸块和相应的地面在模型开始和停止的时间值。您可以创建timeseries时间表对象的加载时间和值信号。其他信号使用地面值。每一个时间表对象必须包含的数据只有一个信号。

可以加载到一个根级的输入端口数据指定一个MATLABtimeseries对象驻留在一个工作区。

请注意

这个文档导入MATLAB timeseries数据包括根的例子轮廓尺寸块。除非特别指出,否则,适用于根级例子启用,触发,从工作空间块。

加载MATLABTimeseries数据根级输入

时间维度

当你创建一个MATLABtimeseries模型对象导入数据,时间维度(时间样本的数量)取决于万博1manbetx维度和信号数据的类型。

信号数据维度或类型 时间维度对齐 timeseries构造函数的例子

标量或一个一维向量

第一个

构造函数为一个标量信号。时间是与第一个维度。

t = (0:10)”;ts = timeseries (sin (t) t);

2 d(包括行和列向量)或更大

去年

构造函数矩阵信号。时间是与过去的维度。

t = 0;ts = timeseries ([1 2;3 4],t);

二维行向量,只有一个时间步

去年

“InterpretSingleRowDataAs3D”,真的
例如:
t = 0;ts = timeseries ([1 - 2], t,“InterpretSingleRowDataAs3D”,真正的);

枚举数据

如果你指定一个枚举时间表数据,明确插入数据参数对应的轮廓尺寸块。

加载MATLAB时间表数据根级输入

一般来说,你可以加载MATLAB时间表你加载MATLAB数据相同的方式timeseries数据。每一个时间表必须包含的数据只有一个信号。

加载数据结构根级输入

数据结构

你可以加载到一个根级输入端口的数据空间的形式结构,他的名字你指定的配置参数>数据导入/导出>输入参数。MATLAB定义结构的信息,请参阅创建结构数组(MATLAB)。

您可以指定为模型结构作为一个整体或在每个端口的基础上。为指定每个端口的信息结构输入参数,看到所有港口或为每个端口结构

底座结构总是包括一个信号,其中包含一个字段和维度字段的值。根据建模任务要执行,还可以包括一个时间字段结构。你使用的形式结构,取决于你导入数据的类型的信号:

  • 离散信号(信号在均匀间隔的定义值的时间)——使用一个结构,有一个空的时间向量。指定一个信号字段,其中包含子结构的数组,每一个都对应于一个模型的输入端口。

  • 连续信号(信号定义为所有值的时间),你使用的方法取决于数据代表一个平滑的曲线(连续)或一个不连续的曲线(跳跃)对其范围(离散)。指定一个信号字段,其中包含子结构的数组,每一个都对应于一个模型的输入端口。您可以指定一个时间字段,其中包含一个时间向量。看到指定时间数据

例如导入数据的离散和连续信号,见:

所有港口或为每个端口结构

您可以指定一个结构提供输入root所有输入端口在一个模型中,或者您可以为每个端口指定一个单独的结构。

每个端口结构格式包含一个单独的structure-with-time或structure-without-time为每个端口。每个只有一个输入数据结构信号字段。指定这个选项,输入结构的名称输入文本字段以逗号分隔,三机一体,in2,…,酒店。的值三机一体是第一个输入端口的数据模型,in2对于第二个输入端口,等等。

为所有端口指定一个结构:

  • 输入的字段必须包含一个数组对应的输入端口。如果你指定一个时间向量,每个输入必须对应于一个指定的时间价值时间字段。

    如果一个端口的输入标量或矢量值,字段必须是一个m×n的数组中。如果你指定一个时间向量,必须指定的时间点的数量时间场和N是每个向量的长度值。

    如果一个端口的输入矩阵(二维数组)字段必须是一个M-by-N-by-T数组中。N每个矩阵的维度输入和吗T是时间点的数量。例如,假设你想输入51个时间4 * 5矩阵样本信号的输入端口在您的模型中。然后,相应的场的空间结构必须相同5 [4]数组必须维度4-by-5-by-51

  • 字段输入指定的尺寸。如果每个输入是一个标量或矢量(一维数组)值,字段必须是一个标量值指定向量的长度为一个标量(1)。如果每个输入矩阵(二维数组)字段必须是双元素的向量:

    • 第一个元素指定了矩阵的行数

    • 第二个元素指定的列数

    请注意

    设置港维参数的轮廓尺寸或者是触发块相同的值字段对应的输入结构。如果你得到一个错误的价值观不同,消息当你试图模拟模型。

指定时间数据

您可以指定一个时间向量双打作为导入数据结构的一部分。例如,指定一个时间向量在导入信号数据代表一个连续的植物或创建一个测试用例。为了测试一个离散算法,使用一个空的时间结构向量。这个表提供了额外的建议指定时间值,基于你想要的那种信号数据负载。

信号数据 时间数据的建议

尺寸或触发块离散采样时间

没有指定时间向量。万博1manbetx在每个时间步模型加载一个信号值。

均匀间隔的离散信号

使用这种形式的表达式:

timeVector =步伐*(开始时间:numSteps-1) '

向量是转置。另外,因为开始时间是一个时间步,你需要指定你想要的许多步骤- 1。例如,指定时间值50 0.2次步骤:

T1 = 0.2 * (0:49) '

请注意

使用这种形式的表达式:

timeVector =(开始时间:步伐:endTime) '

例如,不要使用:

T2 = (0:0.2:10) '

这一次向量形式不是相当于乘以时间步骤(的形式T1),因为使用的双精度舍入电脑。万博1manbetx模型预计确切的值,没有双精度舍入。使用T2形式可以使提供的时间之间的不匹配向量乘以步骤由仿真软件,导致意想不到的仿真结果。万博1manbetx

不均匀间隔的值

使用任何有效的MATLAB数组表达式;例如,(1:5 5:10)(1 6 10 15)

从工作空间,从文件,讨论二阶导数过零检测和信号生成器模块支持。万博1manbetx如果root输入端口连接到其中一块,您可以指定一个零交点时间使用重复的条目。

指定信号和时间数据的例子

在第一个例子中,考虑下面的模型有一个输入端口:

  1. 创建一个输入结构加载11次双元素信号向量类型的样品int8到模型:

    N = 10 t = 0.1。时间= t * (0: N);c1 = int8 ([0:1:10]”);c2 = int8 ([0:10:100]”);a.signals (1)。值= [c1 c2]; a.signals(1).dimensions = 2;
  2. 配置参数>数据导入/导出>输入参数编辑框,指定变量一个

  3. 轮廓尺寸块对话框中信号的属性选项卡,设置港维2数据类型int8

另外一个例子,考虑一个模型有两个输入。

假设您想要将一个正弦波输入第一个港口和余弦波进入第二端口。定义一个结构,一个,如下所示,在MATLAB工作区:

一个。time = 0.1*[0:1]'; a.signals(1).values = sin(a.time); a.signals(1).dimensions = 1; a.signals(2).values = cos(a.time); a.signals(2).dimensions = 1;

输入结构名称(一个)配置参数>数据导入/导出>输入参数编辑框。

请注意

在这个模型中你不需要指定尺寸和数据类型,因为默认值1

加载数据数组根级输入

你可以加载到一个根级输入端口的数据空间的形式一个数据数组,你指定的配置参数>数据导入/导出>输入参数。

这个导入格式由真正的(并且)矩阵的数据类型。第一列的矩阵必须是一个向量乘以按升序。其余列指定输入值。

  • 每一列代表不同的尺寸或触发块的输入信号(序列顺序)。

  • 每一行的输入值对应的时间点。

触发块,驱动触发端口的信号必须是最后一个数据项。

总输入矩阵的列数必须相等n + 1,在那里n是信号进入模型的总数输入端口。

指定输入表达式

一个模型的默认输入表达式(t, u)和默认的输入格式数组。如果您定义tu在MATLAB工作区,简单地选择配置参数>数据导入/导出>输入从模型参数输入数据工作区。

假设您有一个模型有两个尺寸:

  • 三机一体块(block接受两个信号港维参数设置为2)。

  • In2块接受一个信号(块使用的默认值港维参数)。

您定义tu在MATLAB工作区:

numSteps = 9;步伐= 0.1;t =(步伐* (0:numSteps)) ';u =[罪(t),因为(t) 4 * cos (t));

当模拟运行时,信号数据罪(t)cost被分配到三机一体和信号数据4 * cost被分配给In2。信号数据输入100个时间点。

请注意

数组输入格式允许您加载唯一真正的(并且)标量或矢量数据的类型。使用格式输入复杂的数据结构,矩阵(二维)的数据,和其他数据类型

数组输入端口驱动函数调用子系统

您可以使用一个数组来驱动一个函数调用子系统通过根级输入端口。您可以使用一个数组或数组的一个元素数据集对象。必须是一个数组资料片数组中。为root尺寸块,选择输出函数调用参数。

例如,这个数据集对象数组元素x:

ds = 万博1manbetxSimulink.SimulationData.Dataset;x = [1 3 7 8] ';ds = ds.addElement (x,“theElementName”);

这个模型使用ds数据集的配置参数>数据导入/导出>输入参数。

当你模拟模型,记录信号的时间值函数调用子系统中的数据表明,函数调用子系统只触发存储在数组中指定的时代ds

> > logsout {1} . values。时间ans = 1 3 7 8

加载MATLAB时间表达式根港口

指定输入表达式

您可以使用MATLAB时间表达式工作区数据加载到一个根级的输入端口。使用时间表达式,输入表达式作为一个字符串(包含在单引号)输入场的数据导入/导出窗格。MATLAB时间表达式可以是任何表达式的求值结果为一个行向量相等长度的信号进入模型的输入端口。假设一个模型有一个向量轮廓尺寸接受两个信号。另外,假设timefcn是一个用户定义的函数,返回一个行向量两个元素。这里是有效的输入时间表达式对于这样一个模型:

(3 * sin (t),因为(2 * t)]”“4 * timefcn (w * t) + 7”

在计算表达式的每一步模拟,应用结果值模型的输入端口。万博1manbetx模型定义了变量t当它运行模拟。同时,你可以省略变量为一个变量的函数表达式。例如,表达式被解释为罪(t)

另请参阅

相关的例子

更多关于

这个主题有帮助吗?