基于“增大化现实”技术或ARMAX系统标识功能

4视图(30天)
亲属畅苏
亲属畅苏 2021年9月15日
评论道: 亲属畅苏2021年9月18日
你好,
我想适合两个指数之和与时域数据使用ar或armax系统辨识工具箱函数。看起来,配件质量不是很好,这不是我的期望。下面我附上简单的代码。我想知道如果我犯了任何简单的错误。任何想法都是受欢迎的。谢谢!
%生成数据:2经验值的和
N = 1000;
x = (0: (n - 1))的;
y0 = exp (-0.01 * x) + 0.8 * exp (-0.1 * x); %正和两个衰减的经验
y = y0 + 0.01 *马克斯(y0) * randn (N, 1); %添加一点噪音
%应用SYSID工具:ar或armax
n = 2;
犹太人= iddata (y, [], 1);
% sys = ar(犹太人,n);
sys = armax(犹太人,n [0]);
(yh,健康,x0] =比较(犹太人,sys);
%显示结果
图(1);
clf;
情节(x, y, x, yh.y “线宽” 4);
传奇( “数据” , “SYSID” );
disp ( “系统极点” );
disp(根(sys.a));
亲属

接受的答案

Ivo Houtzager
Ivo Houtzager 2021年9月16日
编辑:Ivo Houtzager 2021年9月17日
定义一个阶跃输入和符合OE模型该模型结构最适合你的数据。请参见下面的代码更新。
%生成数据:2经验值的和
d = 10;%的输入延迟
p = 100;%开始步
N = 1000;
x = [0 (p + d, 1);(1:(N-p-d)));
y0 = exp (-0.01 * x) + 0.8 * exp (-0.1 * x);%正和两个衰减的经验
y = y0 + 0.01 *马克斯(y0) * randn (N, 1);%添加一点噪音
y = y - y0 (1);%去除开始值,适合模型在稳态零
u = [0 (p, 1);(阻燃剂,1)];
犹太人= iddata (y, u, 1);
%应用SYSID工具:oe
n = 2;
[sys1, ic1] = oe(犹太人,[n n d]);
[yh1, FIT1] =比较(犹太人,sys1);
%应用SYSID工具:oe初始估计
init_sys = idpoly (zpk (0.8 [0.99—0.9], y0 (1), 1));%初始系统
init_sys。nk = d;%的样本输入延迟
选择= oeOptions (“InitialCondition”,“零”);%初始状态
[sys2, ic2] = oe(犹太人,init_sys选择);
[yh2, FIT2] =比较(犹太人,sys2);
%显示结果
图(1);
clf;
t = 0: n - 1;
情节(t, u, t y + y0 (1), t, yh1.y + y0 (1), t, yh2.y + y0 (1),“线宽”4);
传奇(“输入”,“数据”,“SYSID1”,“SYSID2”);
disp (“系统极点”);
disp(根(sys2.f));
3评论
亲属畅苏
亲属畅苏 2021年9月18日
再次感谢你伊,解释和例子。现在我知道这个函数更好。

登录置评。

更多的答案(0)

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!