主要内容

预测

预测模型确定K-step-ahead输出

描述

预测命令计算K-step-ahead输出使用测量确定模型的输入输出数据。识别模型,首先收集所有的输入输出数据,然后离线估计模型参数。执行在线状态估计的非线性系统使用实时数据,使用预测命令扩展而无味卡尔曼滤波器。

例子

yp=预测(sys,数据,K)预测一个识别模型的输出sys,K步骤使用测量的输入输出数据。

预测命令预测的输出响应测量数据的时间跨度。相比之下,预测执行预测未来在一个时间范围之外的最后即时测量数据。使用预测来验证sys在测量数据的时间跨度。

数据可以是一个时间表,逗号分隔输入/输出矩阵对,还是一个iddata对象。

例子

yp=预测(sys,数据,K,选择)使用选项组选择指定附加选项预测等初始条件和数据补偿的处理。

例子

(yp,集成电路,sys_pred)=预测(___)还返回初始条件的估算值集成电路和预测模型sys_pred。使用这个语法与任何以前的输入参数组合。

预测(sys,数据,K,___)情节预测的输出。使用任何以前的输入参数组合。改变显示选项的情节,右键单击访问上下文菜单的阴谋。关于菜单的更多细节,请参阅提示

你也可以反应使用的预测模型比较命令。的比较命令比较预测结果与观测数据并显示定量拟合优度。

预测(sys,Linespec,数据,K,___)使用Linespec指定行类型、标记符号和颜色。

预测(sysN sys1……,数据,K,___)情节多个识别模型的预测输出。预测自动选择颜色和线条样式。

例子

预测(sys1 Linespec1,…, sysN LinespecN,数据,K,___)使用线类型、标记符号和颜色指定为每个模型。

例子

全部折叠

模拟时间序列数据。

init_sys = idpoly (-0.99 [1], [], [1 1 0.2]);选择= simOptions (“AddNoise”,真正的);u = iddata ([], 0 (400 0), 1);data = sim (init_sys u选择);

数据是一个iddata对象包含模拟响应数据的时间序列模型。

估计ARMAX模型使用数据估计数据。

na = 1;nb = 2;sys = armax(数据(1:200)、(na nb));

预测模型的输出使用预测地平线的4。

K = 4;yp =预测(sys、数据、K);

yp是一个iddata对象。预测输出返回的OutputData对象的属性。

比较预测和估计数据输出。

情节(数据(201:400),yp (201:400));传奇(“估计数据”,的预测数据);

图包含一个坐标轴对象。坐标轴对象与标题y1包含2线类型的对象。这些对象表示估计数据,预测数据。

另外,绘制预测响应和估计数据,使用比较(sys、数据、K)

负荷估算数据。

负载sdata1tt1;数据= tt1;

估计一个ARX模型[2 2 1]。

sys1 = arx(数据,(2 2 1));

估计2杆的传递函数。

sys2 =特遣部队(数据,2);

创建一个预测选项设置为指定零初始条件的预测。

选择= predictOptions (“InitialCondition”,“z”);

情节估计模型的预测输出。使用指定的预测选项设置,选择,并指定预测地平线10。指定行风格绘制每个系统的预测输出。

预测(sys1“r——”sys2,“b”10、数据、选择);

图包含一个坐标轴对象。ylabel y坐标轴对象包含2线类型的对象。这些对象代表验证数据(y), sys1 sys2。

改变显示选项,右键单击访问上下文菜单的阴谋。例如,查看评估数据,选择显示验证数据从上下文菜单中。查看预测误差,选择预测误差图

你也可以画出预测响应使用比较命令。要做到这一点,首先创建一个选项设置比较指定使用零初始条件。

选择= compareOptions (“InitialCondition”,“z”);比较(数据、sys1“r——”sys2,“b”10、选择);

图包含一个坐标轴对象。ylabel y坐标轴对象包含3线类型的对象。这些对象代表验证数据(y), sys1: 54.31%, sys2: 70.57%。

使用估计的数据来估计模型,然后计算出预测模型输出和预测模型使用预测命令。模拟预测模型预测输出繁殖。

负荷估算数据。

负载sdata3umat3ymat3Ts

估计一个多项式模型的数据。

sys =保利(umat3、ymat3 [2 2 2 0 0 1);

使用预测地平线4预测系统响应。

K = 4;[yp, ic, sysp] =预测(sys, umat3 ymat3 K);

yp是预测模型反应,集成电路包含估计初始条件,sysp是预测模型。

模拟预测模型的输入[data.OutputData, data.InputData]和初始条件集成电路

选择= simOptions;opt.InitialCondition = ic;y = sim (sysp, [ymat3 umat3],选择);

情节的预测和模拟输出。

ns =大小(y, 1);t = (1: Ts: ns) ';情节(t, yp,“b”、t、y“r”);传奇(“预测输出”,模拟输出的)

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。一个或多个行显示的值只使用这些对象标记代表预测输出,模拟输出。

您在前面获得初始条件合并到您的模型预测。

加载数据。

负载iddata1icz1i

指定ARMAX估计选项来估计初始状态。

estimOpt = armaxOptions (“InitialCondition”,“估计”);

估计ARMAX模型和返回一个initialCondition对象集成电路封装了状态空间形式的初始条件。

na = 2;nb = 2;数控= 2;nk = 1;(sys, ic) = armax (z1i (na nb数控nk) estimOpt);

指定初始条件的预测。

predictOpt = predictOptions (“InitialCondition”、集成电路);

预测模型和获得模型响应。情节的响应y测量数据。

y =预测(sys、z1i predictOpt);情节(z1i y)传说(的测量数据,“预测响应”)

图包含2轴对象。坐标轴对象1标题y1包含2线类型的对象。这些对象表示测量数据,预测反应。坐标轴对象2标题u1包含一个类型的对象。这个对象表示测量数据。

测量和预测反应的预测显示良好的协议。

使用历史数据指定执行模型预测初始条件。你第一次预测使用预测命令并指定使用的历史数据predictOptions选项集。然后复制预测响应通过手动映射初始状态的历史数据。

加载两个输入,一个输出数据集。

负载iddata7z7

确定一个5次使用状态空间模型数据。

sys = n4sid (z7 5);

将数据集分为两部分。

咱= z7 (1:15);zB = z7(16:结束);

假设您想要计算10-step-ahead响应识别系统的预测数据zB。对于初始条件,使用信号值历史记录。也就是说,输入和输出值的时间立即前的数据zB

IO =结构(“输入”zA.InputData,“输出”,zA.OutputData);选择= predictOptions (“InitialCondition”IO);

生成10-step-ahead预测数据zB使用指定的初始条件预测

[yp, x0,预测]=预测(sys zB 10,选择);

yp是预测模型反应,x0相对应的初始状态预测模型吗预测。你可以模拟预测使用x0繁殖的初始条件yp.OutputData

现在复制输出通过手动映射初始状态的历史数据。为此,最小化互译预测错误的时间跨度

x0 = data2state (sys,咱);

x0包含的五个州的值sys当时即时最近期的数据样本后立即

预测比原系统有更多的国家由于所述预测地平线。指定额外的状态由地平线零初始值,然后添加x0

x0Predictor = 0(订单(预测),1);x0Predictor (end-4:结束)= x0;

模拟预测使用[zB.OutputData, zB.InputData]作为输入信号x0Predictor作为初始条件。

uData = [zB.OutputData, zB.InputData];%所需信号预测[ysim t, xsim] = lsim(预测、uData [], x0Predictor);

情节的预测输出预测命令yp.OutputData和手工计算结果ysim

yp.OutputData情节(t, t, ysim,“。”)

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。一个或多个行显示的值只使用标记

ysim是一样的yp.OutputData

输入参数

全部折叠

确定模型的输出预测,指定为以下之一:

如果一个模型不可用,估计sys数据使用命令等基于“增大化现实”技术,armax,特遣部队,nlarx,党卫军

测量均匀采样输入/输出数据,指定为一个时间表逗号分隔的数字输入/输出矩阵,或一个iddata对象。的规范数据依赖于数据类型。

时间表

指定数据作为一个时间表定期使用间隔时间向量。包含变量代表输入和输出通道。

逗号分隔矩阵对

指定数据作为一个逗号分隔的矩阵包含输入和输出的时域信号值u,y。指定输入矩阵的维度Ns——- - - - - -ν和输出矩阵的维度Ns——- - - - - -纽约,在那里ν输入的数量,纽约是输出的数量,和Ns是样品的数量。

对于时间序列数据,指定[],y

只使用依赖于数据的离散时间模型。

数据对象

指定数据作为iddata对象包含输入和输出数据。对于时间序列数据(输入),指定数据作为一个iddata没有输入对象。

关于处理估计数据类型的更多信息,见数据域和数据类型在系统辨识工具箱

预测地平线,指定为以下之一:

  • 正整数,输出yp计算K走进未来,K代表一个的倍数数据样品时间。

    输出时即时t利用以前测量输出计算时间tk和输入时间即时t

  • ——没有先前的输出是用于计算,和预测返回相同的结果作为模拟使用sim卡命令。

对于输出误差模型,没有区别K提前预测和模拟输出。这是因为输出误差模型只使用过去的输入来预测未来输出。

请注意

细致的模型验证,领先一步预测(K = 1)通常不是一个好的测试验证模型sys在测量数据的时间跨度。即使是微不足道的一个提前预测, y ^ ( t ) = y ( t 1 ) ,可以给好的预测。所以一个贫穷的模型可能看起来对领先一步预测的数据具有小样本。预测与K =正执行模拟,这是一样的sim卡命令,可以导致不同输出数据强调因为低频干扰,尤其是对模型与集成。使用一个K值之间1捕获的中心频率行为测量数据。

预测选项,指定为一个predictOptions选项设置。使用选项设置为指定预测选项等初始条件和数据补偿的处理。

线型、标志和颜色,指定为一个特征向量。例如,“b”“b +:”

关于配置的更多信息Linespec,请参阅Linespec参数情节

输出参数

全部折叠

预测输出响应,返回相同的形式数据

数据是一个iddata对象,OutputData的属性yp存储的值预测输出。时间变量的值的范围为代表data.SamplingInstants

输出时即时t利用以前测量输出计算时间tk和输入时间即时t。换句话说,预测响应时间点r测量的数据存储在r + k - 1的样本yp。请注意,在时间r,未来的输入u (r + 1),u (r + 2)、……u (r + K)预测所需的假定为已知。对于multi-experiment数据,yp包含每个实验的预测数据集。预测的时间跨度输出观测数据的匹配。

sys指定使用一个idnlhwidnlgrey模型中,yp是一样的模拟响应计算使用吗data.InputData作为输入。

估计初始条件相应的预测模型sys_pred,作为一个列向量,返回一个initialCondition对象,或一个单元阵列。

  • 如果sys是一个线性传递函数和多项式模型,然后呢集成电路是一个initialCondition对象。的initialCondition对象封装的自由响应sys状态方程形式,相应的初始状态向量。

  • 如果sys是任何其他类型的线性或非线性动力学模型,然后呢集成电路是一个初始状态向量,作为一个列向量的大小等于返回的状态数。

  • 如果数据包含multiexperiment数据集成电路单元阵列的尺寸吗,在那里是实验的数量。

复制的预测结果,可以模拟sys_pred使用集成电路作为初始条件。例如,看到的复制通过仿真预测结果

如果sys是一个idnlarx模型中,集成电路返回空的。

预测模型,作为一个动态系统模型返回。对于multi-experiment数据,sys_pred模型是一个数组,每个实验的一个条目。您可以使用预测模型sys_pred和估计初始条件集成电路复制的结果预测:

  • 如果sys是一个线性模型,预测模型作为一个模型相同类型的返回sys或作为模型的状态版本(中的难点)。复制的结果预测,模拟sys_pred使用(数据。OutputData data.InputData]作为输入和集成电路作为初始条件。模拟输出预测的输出是一样的yp.OutputData。例如,看到的复制通过仿真预测结果

  • sys是一个非线性灰色矩形模型(idnlgrey)或Hammerstein-Wiener模型(idnlhw),模型的噪声分量是微不足道,所以预测模型是一样的模型。sys_pred返回空的。复制的结果预测,模拟sys使用初始条件集成电路。一个定义的状态idnlhw模型,看到idnlhw状态的定义

  • 如果sys是一个非线性ARX模型(idnlarx),sys_pred集成电路返回空的。你不能复制模拟的预测结果。

离散数据的时域或频域数据与样品时间Ts大于零,sys_pred是一个离散时间模型,即使sys是一个连续时间模型。

提示

  • 右击的情节预测输出打开上下文菜单,你可以访问以下选项:

    • 系统——选择视图预测响应系统。默认情况下,所有系统的反应是策划。

    • 数据实验——仅供multi-experiment数据。从不同的实验数据之间切换。

    • 特征——查看以下数据特点:

      • 峰值——视图数据的绝对峰值。只适用于时域数据。

      • 峰值响应——视图数据的峰值响应。只适用于频率特性数据。

      • 平均值——视图数据的平均值。只适用于时域数据。

    • 显示——只用于频域和频率特性数据。

      • ——查看系统的频率响应的大小。

      • 阶段——查看系统的频率响应的阶段。

    • 显示验证数据——数据用于预测模型响应。

    • I / O分组——数据集包含多个输入或输出通道。选择分组输入和输出通道的阴谋。

      • 没有一个输出通道——情节在自己单独的轴。

      • 所有——所有一起输入通道和输出通道分组。

    • I / O选择器——数据集包含多个输入或输出通道。选择输入和输出通道的一个子集阴谋。默认情况下,所有输出通道绘制。

    • 网格——添加网格图。

    • 正常化——正常化y轴的所有数据。

    • 全视图——返回完整的视图。默认情况下,这个情节是全视图缩放。

    • 预测地平线——设置预测地平线,或选择模拟。

    • 初始条件——指定初始条件的处理。不适用于频率特性数据。

      指定为以下之一:

      • 估计——治疗初始条件估计参数。

      • ——设置初始条件为零。

      • 吸收延迟和估计——吸收非零延迟到模型系数和治疗初始条件作为评价参数。使用这个选项仅供离散时间模型。

    • 预测响应图——情节响应的预测模型。默认情况下,显示了响应图。

    • 预测误差图——情节响应和预测数据之间的误差模型。

    • 属性——打开属性编辑器对话框来定制属性。

版本历史

之前介绍过的R2006a

全部展开