主要内容

idnlarx / findop

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

描述

例子

XU) = findop (sys“稳定”,InputLevelOutputLevel返回操作点状态值,X,和输入值,U,idnlarx模型中,sys,使用稳态输入和输出规格。

例子

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

例子

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

例子

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

例子

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

例子

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

例子

全部折叠

估计一个非线性ARX模型。

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

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

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

估计一个非线性ARX模型。

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

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

规范= operspec (M);

设置输入信号的值。

spec.Input.Value (1) = 1;spec.Input.Value (2) = 1;

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

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

用给定的规格求出稳态工作点。

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

估计一个非线性ARX模型。

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

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

选择= findopOptions (M);

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

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

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

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

估计一个非线性ARX模型。

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

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

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

显示汇总报告。

disp (R);
WhyStop:“接近(本地)最小值,(norm(g) < tol)。”迭代:9 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; 2、5、5、5];

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

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

输入参数

全部折叠

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

用于计算工作点的稳态输入电平,指定为矢量。的长度InputLevel必须等于?中指定的输入数sys

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

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

中的值OutputLevel指出优化算法的初始猜测。使用指定具有初始猜测的未知输出信号0。所有输出的最小和最大边界的默认值为而且+正分别。

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

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

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

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

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

模拟的初始状态,指定为列向量,其大小等于中的状态数sysX0提供与第一个输入样例对应的初始条件(印尼。开始,如果印尼是一个iddata对象,或sys。Ts如果印尼是一个双矩阵)。

的状态的详细信息idnlarx模型中,看到idnlarx状态的定义

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

输出参数

全部折叠

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

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

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

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

算法

全部折叠

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模型状态定义的更多信息,请参见idnlarx状态的定义

计算模拟快照的工作点

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

请注意

snapshot-based计算,findop不执行数值优化。

扩展功能

版本历史

介绍了R2008a