"recursiveLS" to "idpoly"

16 次查看(过去 30 天)
Diego Leal
Diego Leal 2021-3-19
I am using the "Online Estimation" objects from the System Identification Toolbox.
I get the following error converting recursiveLS to idpoly:
obj = recursiveLS(2);
sys = idpoly(obj);
Error using checkPolyValue (line 21)
Polynomial value must be a double row vector or cell array of double row vectors.
Error in idpoly (line 346)
A0 = A; A = checkPolyValue(A,'a',Ts);
The error does not occur if I use recursiveARMA instead:
obj = recursiveARMA([1 0]);
sys = idpoly(obj)
sys =
Discrete-time AR model: A(z)y(t) = e(t)
A(z) = 1 + 2.22e-16 z^-1
The following section of the toolbox documentation indicates I should be able to convert between any "online estimation" object and an "idpoly" (https://www.mathworks.com/help/ident/ug/validate-online-parameter-estimation-at-the-command-line.html)
" To use offline commands, convert your online estimation System object, obj, into an idpoly model object. Also convert your stream of input-output validation data, Output(t) and Input(t), into an iddata object. "
sys = idpoly(obj);
sys.Ts = Ts;
z = iddata(Output,Input,Ts)

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Model Type and Other Transformations 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by