主要内容

idnlarx/findop

计算非线性ARX模型的工作点

描述

例子

XU) = findop (系统“稳定”,InputLevelOutputLevel返回工作点状态值,X,和输入值,U,idnlarx模型系统,使用稳态输入和输出规范。

例子

XU) = findop (系统规范返回的稳态工作点系统使用操作点规范,规范

例子

XU) = findop (___选择权为所有以前的语法指定优化搜索选项。

例子

XU报告) = findop (___返回关于所有前面语法的优化搜索结果的摘要报告。

例子

XU) = findop (系统“快照”,T印尼返回的操作点系统在当时的模拟快照中,T,使用指定的输入,印尼. 初始状态系统假设为零。

例子

XU) = findop (系统“快照”,T印尼X0指定模拟的初始状态。

例子

全部折叠

估计一个非线性ARX模型。

负载iddata6;M = nlarx(z6,[4 3 1]);

找到输入电平固定的稳态工作点1输出是未知的。

[X, U] = findop (M,“稳定”,1,楠);

估计一个非线性ARX模型。

负载iddata7; M=nlarx(z7,[4 3*个一(1,2)2*个一(1,2)];

创建默认操作点规范对象。

规范= operspec (M);

设置输入信号的值。

规格输入值(1)=-1;规格输入值(2)=1;

设置输出信号的最大值和最小值。

spec.Output.Max=10;spec.Output.Min=-10;

使用给定的规格确定稳态工作点。

[X, U] = findop (M,规范);

估计一个非线性ARX模型。

负载iddata6; M=nlarx(z6[4,3,2]);

创建一个默认的findopOptions选项设置。

opt=findopOptions(M);

修改选项集以指定最大迭代次数为50次的最陡下降梯度搜索方法。

opt.SearchMethod =“研究生”;opt.SearchOptions.MaxIterations = 50;

使用指定的选项找到稳态工作点。

[X, U] = findop (M,“稳定”1 1、选择);

估计一个非线性ARX模型。

负载iddata7; M=nlarx(z7,[4 3*个一(1,2)2*个一(1,2)];

找到输入1设置为的稳态工作点1输入2是无限制的。对输出值的初始猜测是2

[X,U,R]=findop(M,“稳定”[1,2];

显示摘要报告。

disp (R);
为什么停止:“接近(本地)最小值,(norm(g) < tol)。”迭代:12 FinalCost: 0 FirstOrderOptimality: 0 SignalLevels: [1x1 struct]

加载估计数据并估计一个非线性ARX模型。

负载twotankdata;z = iddata (y, u, 1);M = nlarx(z,[4 3 1]);

假设初始状态为零,在10秒后找到模拟快照。

[X, U] = findop (M,“快照”10 z);

加载估计数据并估计一个非线性ARX模型。

负载twotankdata;z = iddata (y, u, 1);M = nlarx(z,[4 3 1]);

创建一个初始状态向量。前四个状态对应延迟输出值,最后三个状态对应延迟输入。

X0=[2;2;2;5;5;5];

在10秒后使用指定的初始状态查找模拟快照。

[X, U] = findop (M,“快照”,10,z,X0);

输入参数

全部折叠

非线性ARX模型,指定为idnlarx对象

用于计算工作点的稳态输入电平,指定为向量。的长度InputLevel必须等于在系统

优化算法假定InputLevel是固定的输入值。使用用初始猜测值指定未知输入信号0.所有输入的最小和最大值的默认值为+正分别地

用于计算工作点的稳态输出电平,指定为向量。的长度OutputLevel必须等于中指定的输出数系统

中的值OutputLevel指出优化算法的初始猜测。使用指定未知输出信号,初始估计为0.所有输出的最小和最大界限的默认值为+正分别地

工作点规范,如最小和最大输入/输出约束和已知输入,指定为operspec对象

工作点快照时间,指定为正标量。价值T必须在范围内[T0NT年代),N是输入样本数,T年代样品时间和T0为输入开始时间(Uin.Tstart).

快照模拟输入,指定为以下之一:

  • 时域iddata对象,该对象具有匹配的示例时间和输入大小系统

  • 有多少列就有多少输入通道的矩阵。如果矩阵有N行,假设输入数据对应于时间向量(1:N)*sys.Ts

模拟的初始状态,指定为大小等于中状态数的列向量系统X0提供对应于第一个输入样本时的初始条件(伊恩,开始,如果印尼是一个iddata对象,或系统Ts如果印尼是一个重矩阵)。

有关的状态的详细信息,请参见idnlarx模型,参见国家的定义

工作点搜索选项,指定为findopOptions选项设置。

输出参数

全部折叠

操作点状态值,返回为长度等于模型状态数的列向量。

操作点输入值,返回为长度等于输入数量的列向量。

搜索结果汇总报告,以具有以下字段的结构返回:

描述
SearchMethod 用于迭代参数估计的搜索方法。请参阅SearchMethodfindopOptions了解更多信息。
WhyStop 搜索算法终止条件。
迭代 执行的估计迭代次数。
最终成本 最小目标函数的最终值(误差的平方和)。
FirstOrderOptimality -搜索算法终止时搜索梯度向量的范数。
信号电平 包含字段的结构输入输出,分别为工作点输入和输出信号电平。

算法

全部折叠

findop根据稳态工作点规范或模拟快照计算工作点。

根据稳态规范计算工作点

要计算稳态工作点,调用findop使用下列任一语法:

[X,U] = findop(sys,'steady',InputLevel,OutputLevel) [X,U] = findop(sys,spec)

为了计算状态,X,以及输入,U,为稳态工作点,findop使误差的范数最小化et) =yt)-fxt),ut)),地点:

  • f为非线性估计量。

  • ut)为输入。

  • xt)是模型状态。

  • yt)为模型输出。

属性指定搜索算法和搜索选项findopOptions选项设置。

算法使用如下自变量进行最小化:

  • 未知(未指定)输入信号电平

  • 输出信号的水平

因为idnlarx模型状态是输入和输出变量的延迟样本,状态值是相应稳态输入和输出的常量值。有关非线性ARX模型状态定义的更多信息,请参阅国家的定义

在模拟快照处计算工作点

当您使用语法时[X, U] = findop (sys,“快照”,T,印尼,X0),算法模拟模型输出,直到快照时间,T.在快照时刻,算法将输入和输出样本传递给data2state命令将这些值映射到当前状态向量。

请注意

对于基于快照的计算,findop不执行数值优化。

扩展能力

介绍了R2008a