主要内容

sdo.Experiment

指定试验I / O数据、模型参数和初始状态值

描述

使用一个sdo.Experiment对象将输入和输出数据与信号模型金宝app®模型。通常,您将测量数据收集从一个实验模型中相应的信号。

您可以使用createSimulator一个实验来创建一个模拟对象的函数。使用模拟对象来模拟模型和比较测量和模拟数据。如果模拟响应实验数据不匹配,您可以估计模型参数值的模型响应匹配的测量数据。

指定模型参数估计,首先创建一个估计目标函数,使用sdo.Experiment对象和实验设计变量,来评估设计要求。然后,您可以使用sdo.optimize估计参数值满足设计要求。关于工作流的更多信息,请参阅编写一个成本函数估计模型参数值(代码)

创建

描述

例子

经验值= sdo.Experiment (modelname)创建一个sdo.Experiment对象和设置ModelName财产。其余属性有默认值。

属性

全部展开

实验模型的初始状态,指定为一个param.State对象或向量的param.State对象。

  • 指定一个初始状态,使用param.State对象。

  • 要指定多个初始状态,使用一个向量的param.State对象。

获得模型的初始状态仿真软件模型,使用金宝appsdo.getStateFromModel

使用这个属性只对指定初始状态,不同于在模型中定义的初始状态值。

  • 估计一个初始状态的值,设置免费的产权的初始状态真正的

    当你有多个实验对于一个给定的模型,你可以根据每个实验中初始状态估计模型。为此,指定为每个实验模型的初始状态。您可以指定一个初始状态的初始猜测值的任何实验使用价值状态参数的属性。

  • 指定一个初始状态值作为已知量,不能估计,设置它免费的财产

在指定的初始状态估计的一个实验,使用getValuesToEstimategetValuesToEstimate返回一个向量的模型参数和初始状态,你想估计。你使用这个向量作为输入sdo.optimize指定你想要估计的参数。

实验输入数据,指定为一个数据对象。使用这个属性来指定信号应用于根级的输入端口。支持形式的输入数据的更多信息,请参阅金宝app形式的输入数据

金宝app模型与实验相关的模型名称,指定为一个字符或字符串向量。

MATLAB模型必须是可用的®路径。

例子:“spe_engine_throttle”

实验输出数据,指定为一个金宝appSimulink.SimulationData.Signal对象或向量的金宝appSimulink.SimulationData.Signal对象。

  • 指定一个单一的输出信号,使用金宝appSimulink.SimulationData.Signal对象。

  • 要指定多个输出信号,使用一个向量的金宝appSimulink.SimulationData.Signal对象。

实验中,模型参数值指定为一个param.Continuous对象或向量的param.Continuous对象。

  • 为一个参数指定一个值,使用一个param.Continuous对象。

  • 指定多个参数值,使用一个向量的param.Continuous对象。

从仿真软件模型,获得模型参数使用金宝appsdo.getParameterFromModel

使用这个属性只对指定参数值不同于在模型中定义的参数值。

  • 估计一个参数的值,设置免费的属性的参数真正的

    当你有多个实验对于一个给定的模型,您可以:

    • 估计模型参数在每个实验的基础上。为此,指定每个实验的模型参数。您可以选择指定参数的初始猜测值的任何实验使用价值财产。

    • 为模型参数估计的一个值使用所有的实验数据。要做到这一点,没有指定的模型参数实验。相反,叫sdo.optimize直接与模型参数。

    估计模型参数的一个示例在每个实验中基础和使用数据从多个实验,看看每个实验估计模型参数(代码)

  • 指定一个参数值作为已知量(估计),设置它免费的财产

在指定的参数你估计一个实验,使用getValuesToEstimategetValuesToEstimate返回一个向量的模型参数和初始状态,你想估计。你使用这个向量作为输入sdo.optimize指定你想要估计的参数。

实验名称,指定为一个字符或字符串向量。

例子:“Exp1”

实验描述,指定为一个字符或字符串向量。

例子:“摆实验1”

对象的功能

createSimulator 创建模拟对象的实验测量和模拟数据进行比较
getValuesToEstimate 从实验得到模型初始状态和参数估计
prepareToDeploy 为部署与配置实验金宝app编译器
setEstimatedValues 更新实验与初始状态估计模型和参数值
updateIOData 更新实验输入和输出数据

例子

全部折叠

加载测量实验数据。

负载sdoBattery_ExperimentData

的变量Charge_Data电池充电时,它包含的数据测量实验中,加载到MATLAB®工作区。第一列包含时间数据。第二和第三列包含电流和电压数据,分别。

指定一个实验模型。

modelname =“sdoBattery”;经验= sdo.Experiment (modelname);exp.Name =“充电”;exp.Description =2013年3月15日的电池充电收集的数据。”;

指定输入数据的实验。

exp.InputData = timeseries (Charge_Data (:, 2), Charge_Data (: 1));

指定输出数据的实验。

VoltageSig = 金宝appSimulink.SimulationData.Signal;VoltageSig。Name =“电压”;VoltageSig。BlockPath =“sdoBattery / SOC - >电压”;VoltageSig。PortType =“输出港”;VoltageSig。PortIndex = 1;VoltageSig。价值s = timeseries(Charge_Data(:,3),Charge_Data(:,1)); exp.OutputData = VoltageSig;
介绍了R2012b