iddata
在时域或频域中用于系统辨识的输入-输出数目据及其属性
说明
使用 iddata 对象封装您想要辨识的系统的输入和输出测量数据。系统辨识函数使用这些测量值来估计模型。模型验证函数使用输入测量值来提供仿真的输入,并使用输出测量值来比较估计的模型响应与原始数据的拟合度。
iddata 对象可以包含一组测量值或多组测量值。每组数据对应一个试验。对象具有以下特征,这些特征在对象属性中编码:
数据可以位于频域中,也可以位于时域中。您可以将对象从一个域转换到另一个域。
在时域中,数据可以均匀采样,也可以非均匀采样。然而,要使用
iddata对象进行估计,必须对数据进行均匀采样,并且必须在同一时刻记录每个试验的输入和输出数目据。您可以指定数据属性,例如采样时间、开始时间、时间点、频率采样点和采样间行为。
您可以提供标签和注释来区分和注释数据组件、试验和整个对象。
要访问对象属性,请使用圆点表示法。例如,假设您使用命令 sys = iddata(ym,um,Tsamp) 创建了一个 iddata 对象,其中 ym 是测量的输出数目据,um 是测量的输入数目据,Tsamp 是采样时间。iddata 分别将这些变量存储在属性 InputData、OutputData 和 Ts 中。您可以使用 sys.InputData、sys.OutputData 和 sys.Ts 查看或修改数据。有关使用圆点表示法查看和修改属性的示例,请参阅查看和修改属性。
创建对象
语法
描述
使用时域数据
创建一个包含时域输出信号 data = iddata(y,u,Ts)y 和输入信号 u 的 iddata 对象。Ts 指定试验数据的采样时间。
您可以通过将 y 和 u 指定为元胞数组来使用 iddata 创建多试验 iddata 对象。您也可以创建单试验 iddata 对象并使用 merge (iddata) 将这些对象组合成一个多试验 iddata 对象。有关多试验 iddata 对象的详细信息,请参阅Create Multiexperiment Data at the Command Line。
使用频域数据
配置其他属性
使用名称-值参量设置附加属性。在前面语法中的任何输入参量组合后指定 data = iddata(___,Name,Value)Name,Value。
输入参量
属性
对象函数
一般来说,任何适用于系统辨识数据的函数都适用于 iddata 对象。这些函数有三种通用类型。
对
iddata对象进行运算并返回该对象的函数使您能够操作和处理iddata对象。使用
fft和ifft将现有的iddata对象转换为时域和频域。例如:datafd = fft(Data); datatd = ifft(Dataf);
使用
merge (iddata)将iddata对象合并为包含多个试验的单个iddata对象。要从多试验iddata对象中提取试验,请使用getexp。例如:data123 = merge(data1,data2,data3); data2 = getexp(data123,2);
有关更详细的示例,请参阅提取并建模特定数据段。
使用预处理函数(例如
detrend或idfilt)来过滤iddata对象中的数据并删除不正确的数据。例如:data_d = detrend(data); data_f = idfilt(data,filter);
对
iddata对象执行解析处理并创建绘图或返回特定参数或值的函数可让您分析数据并确定用于估计的输入。使用
iddata对象中的数据来估计、仿真和验证模型的函数可让您创建动态模型并评估模型响应与验证数据的匹配度。以下列表包含可与
iddata对象一起使用的函数的代表性子集。

