主要内容

使用从文件加载数据块

这个例子展示了如何从垫子上加载仿真输入数据文件使用的文件块,包括如何创建和格式化输入数据。您可以通过编程方式创建的数据加载,加载数据从另一个模拟记录,或负载实际收集的数据从传感器或实验室。从每个格式部分可以使用代码作为模板,了解如何自己的模拟输入数据格式。

检查模型

这个例子使用一个简单的模型。从两个不同的垫两个从文件加载数据块文件创建信号连接到两个外港块。一个从文件加载数据块为一个标量信号,而且只有文件名称为阻止改变参数默认值。其他文件配置加载数据块的一辆公共汽车。两个仪表板范围块显示输出信号由每个从文件块。模型还包含三个调按钮模块可以使用生成的文件输入数据使用每个支持的格式文件块。金宝app

该模型使用PreLoadFcn回调函数:

  • 创建并保存timeseries文件中的数据inputData.mat

  • 创建并保存输入数据总线的文件busData.mat

  • 创建金宝appSimulink.Bus对象定义的输出数据类型从文件加载数据块为一辆公共汽车。

使用回调按钮来创建数据块之前所需的格式的模拟模型。创建数据,单击以选中回调按钮并单击再次运行代码块。您可以查看每个回调按钮的代码块的块对话框或属性检查器。

创建时间和信号数据

从文件支持加载数据块存储在金宝apptimeseries对象和数据存储在一个数组中。数据从文件加载使用块必须包含一个时间值对应于每个样本值。这个示例创建和加载10秒的数据代表一个正弦波。

首先,创建一个向量。当你使用从文件加载数据块,时间值的数据类型必须,时间值必须增加单调。

sampleTime = 0.01;numSteps = 1001;时间= sampleTime * (0: numSteps-1);

使用表达式在这个示例创建一个向量为输入信号均匀间隔的时间,特别是当模型离散输入信号。MATLAB®支金宝app持几个其他方法创建一个向量均匀间隔的时间,但是其他方法可以引入双精度舍入误差的时间数据,这可能导致意想不到的仿真结果。

现在,创建信号数据使用函数。你负载使用的样本值从文件块必须不包含,,或值。

data =罪(2 *π/ 3 *时间);

负载timeseries数据

金宝app一般都使用仿真软件®加载和日志记录timeseries对象通过时间序列数据的模拟。从文件块支持加载各种输入数据保存数据时垫金宝app文件作为timeseries对象。信号值负载可以:

  • 一个内置的数字以外的数据类型一半,int64,uint64;定点数据类型有一个32位字长;或枚举数据类型。

  • 真实的或复杂的。

  • 标量、向量或多维。

当你加载数据timeseries对象使用的文件块,你必须保存timeseries7.3版垫文件中的数据。7.3版本的文件保存数据块垫文件。当你从文件加载数据使用一个文件块创建,您不需要转换文件的版本。

回调按钮的代码块标记创建文件,timeseries数据加载:

  1. 创建时间和信号数据行向量。

  2. 转置的行向量列向量,根据需要创建一个timeseries用标量数据值对象。

  3. 创建一个timeseries对象包含的数据。

  4. 保存timeseries在7.3版垫文件对象。

sampleTime = 0.01;numSteps = 1001;时间= sampleTime * [0:(numSteps-1)];data =罪(2 *π/ 3 *时间);时间= ';data =数据”;inputData = timeseries(数据、时间);保存(“inputData.mat”,“inputData”,“-v7.3”);

加载timeseries数据,您可以运行代码来创建inputData.mat文件使用MATLAB命令窗口或选择然后点击创建文件,timeseries数据加载回调按钮。然后,模拟模型和视图仪表板上的加载数据块范围。

数组数据加载

您可以使用从文件加载标量或矢量信号数据块格式化为一个数组,其中第一行包含时间数据和随后的行包含示例值。当你使用从文件加载阵列数据块,样本的值必须是真实的和。从文件块可以从任何垫数组数据加载文件版本。

回调按钮的代码块标记创建文件数组数据加载创建时间和信号数据,将行向量连接到一个数组,数组并保存到文件版本7席。

sampleTime = 0.01;numSteps = 1001;时间= sampleTime * [0:(numSteps-1)];data =罪(2 *π/ 3 *时间);inputData =(时间;数据);保存(“inputData.mat”,“inputData”)

加载数据数组,您可以运行代码来创建inputData.mat文件使用MATLAB命令窗口或选择然后点击创建文件数组数据加载回调按钮。然后,模拟模型和视图仪表板上的加载数据块范围。

总线数据加载

从文件块支持加载一个结构,其中包含金宝apptimeseries对象作为输入数据总线。每一个timeseries对象可以包含任何类型的数据结构在加载数据从一个支持金宝apptimeseries对象。

当你使用从文件加载总线数据块,你必须指定输出数据类型参数的金宝appSimulink.Bus对象定义了公共汽车。层次结构和字段名在总线结构,包含数据的层次结构和元素名称必须匹配公共汽车对象定义了输出数据类型。

从文件加载总线数据块有它输出数据类型设置配置为总线:SinusoidBus。的PreLoadFcn回调的模型和代码创建文件与总线数据加载块定义了回调按钮SinusoidBus对象。

一个公共汽车对象定义了公交层次结构以及总线中的元素的属性,如名称和数据类型。的公共汽车对象在本例定义了总线结构,名称中包含的信号总线,为嵌套总线和数据类型。公共汽车,SinusoidBus,包含一个信号,余弦,一个嵌套的总线SineBus,其中包含两个信号,正弦BigSine

elem (1) = 金宝appSimulink.BusElement;elem (1)。Name =的正弦;elem (2) = 金宝appSimulink.BusElement;elem (2)。Name =“BigSine”;SineBus = 金宝appSimulink.Bus;SineBus。元素= elem;清晰的初步的;elem (1) = 金宝appSimulink.BusElement;elem (1)。Name =“SineBus”;elem (1)。数据Type =“巴士:SineBus”;elem (2) = 金宝appSimulink.BusElement;elem (2)。Name =的余弦;SinusoidBus = 金宝appSimulink.Bus;SinusoidBus。元素= elem;

关于定义公共汽车使用的更多信息金宝appSimulink.Bus对象,看到指定总线属性模型。金宝app总线对象数据类型

创建总线数据加载回调按钮创建一个块结构timeseries对象层次结构和字段名称匹配的层次结构和元素的名称SinusoidBus对象和节省7.3版垫文件结构。

sampleTime = 0.01;numSteps = 1001;时间= sampleTime * [0:(numSteps-1)];时间= ';data =罪(2 *π/ 3 *时间);cosdata = cos(2 *π/ 3 *时间);ampdata = 2 *数据;busData。余弦= timeseries(cosdata,time); busData.SineBus.Sine = timeseries(data,time); busData.SineBus.BigSine = timeseries(ampdata,time); save(“busData.mat”,“busData”,“-v7.3”);

总线数据加载,您可以运行代码来创建busData.mat文件使用MATLAB命令窗口或选择然后点击创建总线数据加载回调按钮。然后,模拟模型和视图仪表板上的加载数据块范围。

当你从文件加载输入数据总线使用的块,您不需要为每个元素提供数据总线。部分指定输入数据总线,可以省略结构中的对应字段或指定其价值[]。当你部分指定的数据总线,包括嵌套的巴士,你可以指定整个嵌套总线[]和从文件块所有嵌套的元素提供了地面值总线。

另请参阅

对象

功能

相关的话题