generateSimulationEnsemble

方法生成集成数据万博1manbetx模型

描述

状态E=生成模拟集合(思敏通过运行Simulink为仿真集成生成数据万博1manbetx®指定的型号思敏.这个输入参数是一个向量万博1manbetx仿真软件。SimulationInput对象,该对象还指定要在不同模拟之间更改的其他参数,以生成集成。该函数将模拟数据日志文件写入当前文件夹。每个文件都包含相应的万博1manbetx仿真软件。SimulationInput对象和模型配置为为模拟记录的所有变量。输出参数指示任何模拟是否产生错误并返回任何此类错误。使用simulationEnsembleDatastore为与模拟数据交互创建集成数据存储。

有关数据集成的一般信息,请参见用于状态监测和预测性维护的数据集成

例子

状态E=生成模拟集合(思敏位置还指定要存储模拟结果的位置的路径。

状态E=生成模拟集合(思敏位置名称,值使用一个或多个指定的其他选项名称,值对参数。

例子

全部折叠

通过在改变故障参数的同时模拟机器的Simulink®模型,生成代表在故障条件下运行的机器的模拟集成数据存储。万博1manbetx

加载Simulin万博1manbetxk模型。此模型是中描述的齿轮箱模型的简化版本利用Simu万博1manbetxlink生成故障数据.对于本例,只建模了一种故障模式,即齿轮故障。

mdl =“TransmissionCasingSimplified”;open_system (mdl)

齿轮故障被建模为一个扰动齿轮齿形故障子系统。扰动的大小由模型变量控制ToothFaultGain,在那里牙faultgain = 0对应于无齿轮故障(健康运行)。要生成故障数据的集合,可以使用generateSimulationEnsemble的不同值对模型进行模拟ToothFaultGain,取值范围为-2 ~ 0。的数组万博1manbetx仿真软件。SimulationInput对象为集成中的每个成员配置Simulink模型。万博1manbetx每个模拟在它自己的数据文件中生成一个单独的集成成员。创建这样的数组,并使用setVariable为每次运行分配一个牙齿故障增益值。

牙faultvalues = -2:0.5:0;% 5牙faultgain值simin(ct) = Simulink.SimulationInput(mdl);万博1manbetx= setVariable(simin(ct),“ToothFaultGain”toothFaultValues (ct));结束

对于本例,模型已经配置为记录某些信号值,振动而且转速计(见使用信号记录导出信号数据(万博1manbetx模型))。generateSimulationEnsemble进一步配置模型为:

  • 将日志数据保存到指定文件夹中的文件中。

  • 使用时间表信号日志记录格式。

  • 存储每个万博1manbetx仿真软件。SimulationInput对象中对应的日志数据。

为生成的数据指定一个位置。对于本例,将数据保存到一个名为数据在当前文件夹中。的指标状态是1(真)如果所有的模拟完成无误。

mkdir数据Location = fullfile(pwd,“数据”);[status,E] = generateSimulationEnsemble(simin,location);
[23:25:46]运行模拟…[28-Feb-2020 23:26:12] 5次模拟中完成1次[28-Feb-2020 23:26:23] 5次模拟中完成3次[28-Feb-2020 23:26:33] 5次模拟中完成4次[28-Feb-2020 23:26:41] 5次模拟中完成5次

数据文件夹,检查其中一个文件。每个文件都是一个mat文件,包含以下MATLAB®变量:

  • SimulationInput- - -万博1manbetx仿真软件。SimulationInput对象,该对象用于配置生成文件中数据的模型。您可以使用它来提取有关运行此模拟的条件(例如错误或正常)的信息。

  • logsout——一个数据集对象,其中包含Simulink模型配置为要记录的所有数据。万博1manbetx

  • PMSignalLogName-包含日志数据的变量的名称(“logsout”在本例中)。的simulationEnsembleDatastore命令使用此名称解析文件中的数据。

  • SimulationMetadata-关于生成记录在文件中的数据的模拟的其他信息。

现在您可以使用生成的数据创建模拟集成数据存储。由此产生的simulationEnsembleDatastore对象指向生成的数据。对象列出集合中的数据变量,默认情况下选择所有变量进行读取。检查DataVariables而且SelectedVariables集合的属性来确认这些命名。

集合= simulationEnsembleDatastore(位置)
ensemble = simulationEnsembleDatastore with properties: DataVariables: [4x1 string] IndependentVariables: [0x0 string] ConditionVariables: [0x0 string] SelectedVariables: [4x1 string] ReadSize: 1 NumMembers: 5 LastMemberRead: [0x0 string] Files: [5x1 string]
合奏。数据Variables
ans =4 x1字符串"SimulationInput" SimulationMetadata" Tacho" Vibration"
合奏。选择edVariables
ans =4 x1字符串"SimulationInput" SimulationMetadata" Tacho" Vibration"

你现在可以使用系综读取和分析集成数据存储中生成的数据。看到simulationEnsembleDatastore更多信息。

输入参数

全部折叠

模拟配置,指定为的向量万博1manbetx仿真软件。SimulationInput对象。模拟配置为集合中每个生成的成员指定参数,例如:

  • 万博1manbetxSimulink模型要运行

  • 模型变量值

  • 块的参数

  • 模型初始状态

因此,例如,您可以创建一个向量万博1manbetx仿真软件。SimulationInput对象,其中除了用于模拟系统中故障的存在和严重程度的参数外,所有模拟配置都相同。然后,可以使用该向量生成模拟数据的集合,表示一系列正常和错误的操作条件。

要在其中存储模拟数据的文件夹路径,指定为字符串或字符向量。如果您不提供位置,该函数使用当前文件夹(返回的路径)松材线虫病).

在指定的文件夹中,该函数每次模拟写入一个mat文件。每个文件包含以下变量:

  • SimulationInput- - -万博1manbetx仿真软件。SimulationInput对象,该对象用于配置生成此文件中的数据的模型。您可以使用此对象提取有关运行此模拟的条件(例如错误或正常)的信息。

  • SimulationMetadata-文件中生成日志数据的模拟的其他信息。

  • 一个数据集对象,其中包含Simulink模型配置为要记录的所有信号和状态数据。万博1manbetx默认情况下,调用这个变量logsout,但是名称在模型中是可配置的。

  • PMSignalLogName-包含日志数据的变量的名称(“logsout”默认情况下)。的simulationEnsembleDatastore命令使用此名称解析文件中的数据。

有关数据日志记录的更多信息,请参见使用信号记录导出信号数据(万博1manbetx模型)。

例子:pwd + "\simResults"

名称-值对实参

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

例子:“UseParallel”,真的

是否并行运行模拟,指定为逗号分隔的对,由“UseParallel”和:

  • —不要并行运行模拟。

  • 真正的-使用并行池并行运行多个模拟(需要并行计算工具箱™)。

是否在MATLAB中显示仿真进度®命令窗口,指定为逗号分隔的对,由“ShowProgress”和:

  • 真正的-每次单独的模拟运行完成时显示一个模拟进度线。

  • —不显示模拟进度。

输出参数

全部折叠

模拟错误状态,作为逻辑值返回:

  • 1 (true)如果所有模拟运行到完成没有错误

  • 0 (false)否则

模拟错误,作为带字段的结构数组返回:

  • “SimulationInput”- - - - - -万博1manbetx仿真软件。SimulationInput对于生成错误的模拟运行

  • “ErrorDiagnostic”-包含错误的字符串

扩展功能

在R2018a中介绍