使用从工作区块加载数据
这个例子展示了如何创建和格式化数据加载从基本工作空间使用工作空间块。使用从工作区中加载数据块,您必须创建或使用格式从工作区保存数据块的支持基础,模型,或者掩盖工作区。万博1manbetx你可以以编程方式创建的数据加载,加载数据登录另一个模拟,或负载实际收集的数据从传感器或实验室。从每个格式部分可以使用代码作为模板,了解如何自己的模拟输入数据格式。
检查模型
这个例子使用一个简单的模型。两个从工作区中加载数据块从基地工作区创建信号连接到两个外港块。从工作区中所有块的使用默认值设置,另一种是配置加载数据总线。两个仪表板范围块显示输出信号由各工作区。模型还包含了几个回调按钮,您可以使用它来生成数据块的基本工作空间使用不同的格式支持的从工作空间块。万博1manbetx
该模型使用PreLoadFcn
回调函数:
创建
timeseries
数据存储在变量中思敏
。创建一个结构
timeseries
对象存储在变量中busin
。创建
万博1manbetxSimulink.Bus
对象定义的输出数据类型从工作区中加载数据块为一辆公共汽车。
使用一个回调按钮来创建数据块所需的格式之前模拟模型。创建数据,单击以选中回调按钮并单击再次运行代码块。您可以查看每个回调按钮的代码块的块对话框或属性检查器。
创建时间和信号数据
大多数支持的数据格式从工作区块从根本万博1manbetx上由时间值与信号值。您可以使用结构没有时间
格式只加载输入数据值没有对应的时间值,这是有时需要离散模拟。(有关更多信息,请参见加载数据来测试一个离散算法)。这个示例创建和加载十秒钟的时间和数据代表一个正弦波信号。
首先,创建一个向量。当你从工作区中加载数据,包括时间值使用块,时间值的数据类型必须双
,时间值必须增加单调。
sampleTime = 0.01;numSteps = 1001;时间= sampleTime * (0: numSteps-1);时间= ';
使用表达式在这个示例创建一个向量为输入信号均匀间隔的时间,特别是当模型离散输入信号。MATLAB®支万博1manbetx持几个其他方法创建一个向量均匀间隔的时间,但是其他方法可以引入双精度舍入误差的时间数据,这可能导致意想不到的仿真结果。
现在,创建信号数据使用罪
函数。
data =罪(2 *π/ 3 *时间);
负载timeseries
数据
万博1manbetx一般都使用仿真软件®加载和日志记录timeseries
对象通过时间序列数据的模拟。回调按钮的代码块标记创建timeseries数据加载
创建时间和信号数据,用它来创建一个timeseries
对象和分配timeseries
对象加载变量思敏
。
sampleTime = 0.01;numSteps = 1001;时间= sampleTime * (0: numSteps-1);时间= ';data =罪(2 *π/ 3 *时间);思敏= timeseries(数据、时间);
加载timeseries
数据,您可以运行代码来创建思敏
在MATLAB命令窗口加载变量或选择然后点击创建timeseries数据加载
回调按钮。然后,模拟模型和视图仪表板上的加载数据块范围。
负载时间表
数据
您还可以将时间序列数据存储在一个MATLAB时间表
。顾名思义,数据格式化为一个表。加载数据时使用时间表
,时间表
必须只包含一列中的数据,为一个信号。
回调按钮的代码块标记创建时间表数据加载
创建时间和信号数据,数据格式时间表
,分配时间表
加载变量思敏
。创建一个时间表
,输入*必须是datetime
或持续时间
向量。这个示例创建了时间向量,秒
,使用秒
函数。
sampleTime = 0.01;numSteps = 1001;时间= sampleTime * (0: numSteps-1);时间= ';data =罪(2 *π/ 3 *时间);秒=秒(时间);思敏=时间表(秒、数据);
加载时间表
数据,您可以运行代码来创建思敏
在MATLAB命令窗口加载变量或选择然后点击创建时间表数据加载
回调按钮。然后,模拟模型和视图仪表板上的加载数据块范围。
加载结构数据
从工作空间支持加载数据块的使用结构相匹配的一个信号万博1manbetx结构
或结构随着时间的推移
日志格式。这个例子显示了如何创建数据相匹配的结构随着时间的推移
格式。的结构
格式是一样的结构随着时间的推移
格式,除了结构
没有格式时间
字段。
结构有两个顶级域,时间
和信号
。当你使用的日志数据结构随着时间的推移
格式,信号
字段可能结构数组,每个包含数据不同的信号。加载数据时使用结构随着时间的推移
格式,信号
场只能包含一个单一结构数据信号。的结构信号
字段包含一个值
字段必须包含一个维
当信号不是标量。
回调按钮的代码块标记创建结构随着时间的推移,数据加载
创建时间和信号数据,并使用它来构建所需的领域和层次结构。代码首先清理任何现有的变量的名称思敏
这可能是一个对象的属性名称匹配的名称字段的结构。
清晰的思敏;sampleTime = 0.01;numSteps = 1001;时间= sampleTime * (0: numSteps-1);时间= ';data =罪(2 *π/ 3 *时间);思敏。时间= time; simin.signals.values = data;
加载结构数据,您可以运行代码来创建思敏
在MATLAB命令窗口加载变量或选择然后点击创建结构数据加载
回调按钮。然后,模拟模型和视图仪表板上的加载数据块范围。
当你为一个多维信号加载数据,添加一行代码分配信号的维度simin.signals.dimensions
。当信号数据是标量,设置维度字段1
,如果你把它。当每个信号值是一个行向量,可以指定尺寸n [1]
或者是n
,在那里n
是行向量中元素的数量。当每个值是一个信号米
N——| |矩阵,指定的维度字段值(mn)
。
当你想要加载模拟输入数据没有时间数据,使用结构
格式,不包括时间
使用的字段,并指定所需的采样率样品时间参数。有关更多信息,请参见加载数据来测试一个离散算法。
数组数据加载
您可以使用从工作区块加载信号数据格式化为一个数组,数组的第一列包含时间数据和随后的列包含信号数据。数组中加载数据格式时,样本值必须标量或矢量。
回调按钮的代码块标记创建数组数据加载
创建时间和信号数据,连接两个行向量为一个数组,和分配的数组思敏
加载变量。
sampleTime = 0.01;numSteps = 1001;时间= sampleTime * (0: numSteps-1);时间= ';data =罪(2 *π/ 3 *时间);思敏=(时间、数据);
加载数据数组,您可以运行代码来创建思敏
在MATLAB命令窗口加载变量或选择然后点击创建数组数据加载
回调按钮。然后,模拟模型和视图仪表板上的加载数据块范围。
总线数据加载
从工作空间块支持加载一个结构,其中包含万博1manbetxtimeseries
对象或时间表作为输入数据总线。每一个timeseries
对象或时间表可以包含任何类型的数据在加载数据从一个支持万博1manbetxtimeseries
对象或时间表。
当你负载输入数据总线使用的工作区,您必须指定输出数据类型设置为万博1manbetxSimulink.Bus
对象定义了公共汽车。层次结构和字段名在总线结构,包含数据的层次结构和元素名称必须匹配公共汽车
对象定义了输出数据类型。
从工作空间块装入有其总线数据输出数据类型设置配置为总线:SinusoidBus
。的PreloadFcn
回调的模型和代码创建总线数据加载
这两个定义回调按钮SinusoidBus
对象。
一个公共汽车
对象定义了公交层次结构以及总线中的元素的属性,如名称和数据类型。的公共汽车
对象在本例定义了总线结构,名称中包含的信号总线,为嵌套总线和数据类型。公共汽车,SinusoidBus
,包含一个信号,余弦
,一个嵌套的总线SineBus
,其中包含两个信号,正弦
和BigSine
。
elem (1) = 万博1manbetxSimulink.BusElement;elem (1)。Name =的正弦;elem (2) = 万博1manbetxSimulink.BusElement;elem (2)。Name =“BigSine”;SineBus = 万博1manbetxSimulink.Bus;SineBus。元素= elem;清晰的初步的;elem (1) = 万博1manbetxSimulink.BusElement;elem (1)。Name =“SineBus”;elem (1)。数据Type =“巴士:SineBus”;elem (2) = 万博1manbetxSimulink.BusElement;elem (2)。Name =的余弦;SinusoidBus = 万博1manbetxSimulink.Bus;SinusoidBus。元素= elem;
关于定义公共汽车使用的更多信息万博1manbetxSimulink.Bus
对象,看到指定总线属性模型。万博1manbetx总线对象数据类型。
的创建总线数据加载
回调按钮创建一个块结构timeseries
对象层次结构和字段名称匹配的层次结构和元素的名称SinusoidBus
对象。
sampleTime = 0.01;numSteps = 1001;时间= sampleTime * (0: numSteps-1);时间= ';data =罪(2 *π/ 3 *时间);cosdata = cos(2 *π/ 3 *时间);ampdata = 2 *数据;清晰的busin;普杜拉。布辛余弦= timeseries(cosdata,time); busin.SineBus.Sine = timeseries(data,time); busin.SineBus.BigSine = timeseries(ampdata,time);
总线数据加载,您可以运行代码来创建busin
在MATLAB命令窗口加载变量或选择然后点击创建总线数据加载
回调按钮。然后,模拟模型和视图仪表板上的加载数据块范围。
负载部分指定总线数据
当你负载输入数据总线使用的工作区,您不需要为每个总线提供的数据元素。部分指定输入数据总线,可以省略结构中的对应字段或指定其价值[]
。
的创建部分指定总线数据加载
回调按钮创建一个块结构timeseries
对象层次结构和字段名称匹配的层次结构和元素的名称SinusoidBus
对象。它并不指定数据余弦
总线的元素。
sampleTime = 0.01;numSteps = 1001;时间= sampleTime * (0: numSteps-1);时间= ';data =罪(2 *π/ 3 *时间);ampdata = 2 *数据;清晰的busin;普杜拉。布辛余弦= []; busin.SineBus.Sine = timeseries(data,time); busin.SineBus.BigSine = timeseries(ampdata,time);
加载部分指定总线数据,您可以运行代码来创建busin
在MATLAB命令窗口加载变量或选择然后点击创建部分指定总线数据加载
回调按钮。然后,模拟模型和视图仪表板上的加载数据块范围。
当你部分指定的数据总线,包括嵌套总线或嵌套数组的巴士,你可以指定整个嵌套总线或嵌套数组的公交车[]
和从工作区块提供地面公共汽车或嵌套数组的所有元素的值的公交车。你也可以被省略部分指定数组的数据总线数据的一个或多个数组中包含的公交车的公交车。
负载总线数据的数组
当你使用从工作区中加载数据块数组的巴士,你必须指定输出数据类型参数的万博1manbetxSimulink.Bus
对象定义了公交巴士的数组包含。所有巴士公交车必须定义的数组中相同的万博1manbetxSimulink.Bus
对象。从工作区中加载数据块的公共汽车有它的数组输出数据类型设置为总线:SinusoidBus
。为定义的详细信息公共汽车
对象,看到总线数据加载。
的创建一系列公交数据加载
回调按钮块创建一个数组,其中包含两个结构timeseries
对象层次结构和字段名称匹配的层次结构和元素的名称SinusoidBus
对象。第二个结构,bus2
,作为第一个使用相同的数据,转移了1
所以你可以看到所有六个仪表盘上的信号范围。
sampleTime = 0.01;numSteps = 1001;时间= sampleTime * (0: numSteps-1);时间= ';data =罪(2 *π/ 3 *时间);cosdata = cos(2 *π/ 3 *时间);ampdata = 2 *数据;bus1。cos = timeseries (cosdata、时间);bus1.SineBus。正弦 = timeseries(data,time); bus1.SineBus.BigSine = timeseries(ampdata,time); bus2.Cosine = timeseries((cosdata-1),time); bus2.SineBus.Sine = timeseries((data-1),time); bus2.SineBus.BigSine = timeseries((ampdata-1),time); busin = [bus1,bus2];
加载总线数据的数组,您可以运行代码来创建busin
在MATLAB命令窗口加载变量或选择然后点击创建一系列公交数据加载
回调按钮。然后,模拟模型和视图仪表板上的加载数据块范围。