主要内容

本页采用了机器翻译。点击此处可查看英文原文。

在命令行中创建多试验数据

为什么要创建多试验数据集?

您可以创建包含多个试验的 iddata 对象。针对具有多个试验结果的 iddata 对象进行模型辨识,将得到一个平均 模型。

在 System Identification Toolbox™ 产品中,试验 既可以指在不同会话期间收集的数据,也可以指在单次会话期间收集的数据的一部分。在后一种情况下,您可以通过将单次会话的数据拆分为多个片段来剔除无效数据,并将有效数据部分合并,从而创建一个多试验的 iddata 对象。

注意

idfrd 对象不支持与多试验数据相对应的 iddata

数据集限制

您只能合并同时具备以下所有特征的数据集:

  • 输入通道数与输出通道数相同。

  • 输入和输出通道名称相同。

  • 同一数据域(即时域数据或频域数据)。

直接输入多试验数据

要构建一个包含 N 数据集的 iddata 对象,可以使用以下语法:

data = iddata(y,u,Ts)

其中 yuTs 是 1×N 的元胞数组,包含来自不同试验的数据。同样地,当您为 iddata 对象指定 TstartPeriodInterSampleSamplingInstants 属性时,必须将这些属性的值赋值为 1 行 N 列的元胞数组。

合并数据集

本示例演示了如何通过合并 iddata 对象来创建一个多试验 iddata 对象,其中每个对象要么包含单个试验的数据,要么本身就是一个多试验数据集。

加载 iddata 对象 z1z3

load iddata1     
load iddata3

将试验 z1z3 合并到 iddata 对象 z 中。

z = merge(z1,z3)
z = 
Time domain data set containing 2 experiments.

Experiment   Samples      Sample Time          
   Exp1         300            0.1             
   Exp2         300            1               
                                               
Outputs      Unit (if specified)               
   y1                                          
                                               
Inputs       Unit (if specified)               
   u1                                          
                                               
Data Properties

这些命令会创建一个名为 iddata 的对象,其中包含两个试验,这两个试验分别被赋予默认名称 'Exp1''Exp2'

向现有的 iddata 对象添加试验

作为合并数据集的另一种方法,您可以将试验逐个添加到 iddata 对象中。

例如,要将 iddata 对象中的 dat4 试验添加到 data 中,请使用以下语法:

data(:,:,:,'Run4') = dat4

该语法将试验名称 'Run4' 显式地分配给新试验。iddata 对象的 Experiment 属性用于存储试验名称。

有关在多试验数据集中进行子引用试验的更多信息,请参阅Subreferencing Experiments

另请参阅

主题