灰箱模型参数估计

1视图(30天)
Mattia Guarnieri
Mattia Guarnieri 2021年2月4日
嗨,每个人,
我试图用灰色矩形模型在matlab工具,实现最佳的拟合参数的非线性系统的颂歌用来模拟数据。
当我试着改变optionset模拟块的属性或者需要很长时间完成迭代提供最适合的参数的估计数据。此外,我想插入参数的上、下界估计为了有一个好的比较(例如负的参数或过高的值不是很好)。然后我想更好地理解如何设置这个nlgreyest工具为了有最好的配合,考虑我的系统和输入。
这里显示的代码系统和greybox非线性拟合
颂歌 系统代码
函数 (dx, y) = non_linear_model3 (t, x, u, k01 k_01,β,a, b,变长度输入宗量)
%状态方程
dx = [k01 * (1 u (1) + x (4)) * (1 - x - x (1) (2) - x (3)) -k_01 * (u (1) - x(4)) *(1) +β* x (3);
k_01 * (u (1) - x (4)) * x (3) -k01 * (1 u (1) + x (4)) * x(2) +β* (1 - x - x (1) (2) - x (3));
k01 * (1 u (1) + x (4)) * x (2) -k_01 * (u (1) - x(4)) *(3)β* x (3);
——* x (4) + b * x (x (2) + (3)];
%输出方程
y = x (2) + (3);
结束
灰色 盒子模型代码
负载( “datis.mat” );
u =;
y =意味着(fluoMA, “omitnan” );
y = (y-min (y)) / (max (y)分钟(y));
y = y ';
data = iddata (y, u, 15 * 60 “名字” , “数据” );
data.OutputName = “数据” ;
data.OutputUnit = “%” ;
data.InputName = 输入你的 ;
k01 = 0.015; k_01 = 0.015;
β= 0.005;
一个= 0.00015;
b = 0.000088;
%建立非线性模型
文件名= “non_linear_model3” ; %文件描述模型结构。
订单= (1 1 4); %模型[纽约νnx]命令。
参数= {k01 k_01,β,a、b}; %对初始参数(向量)。
InitialStates = 0 (4,1); %初始状态的初始值。
t = 0;
old_model = idnlgrey(文件名、秩序、参数、InitialStates Ts, “名字” ,
非线性系统的 ,
“TimeUnit” , “年代” );
礼物(old_model);
选择= nlgreyestOptions ( “显示” , “上” );
opt.Regularization。λ= 150;
opt.Regularization。R = (900、900、800、600、600);
opt.Regularization。名义= “模型” ; %“零”“模型”
opt.SearchMethod = “汽车” ; %的汽车,‘gn’,‘lm’,‘玲娜’,‘fmincon’,‘lsqnonlin’
opt.SearchOptions。MaxIterations = 500;
old_model = nlgreyest(数据、old_model选择);
k01_est = old_model.Parameters (1) value;
k_01_est = old_model.Parameters (2) value;
beta_est = old_model.Parameters (3) value;
现代= old_model.Parameters (4) value;
b_est = old_model.Parameters (5) value;
[linear_k01_est, dlinear_k01_est] = getpvec (old_model, “免费” );
[linear_k_01_est, dlinear_k_01_est] = getpvec (old_model, “免费” );
[linear_beta_est, dlinear_beta_est] = getpvec (old_model, “免费” );
[linear_a_est, dlinear_a_est] = getpvec (old_model, “免费” );
[linear_b_est, dlinear_b_est] = getpvec (old_model, “免费” );
比较(数据、old_model);
我想知道如何设置为了获得最适合的工具。而且我注意到,估计是强烈依赖于初始参数选择启动。
我很欣赏一些答案以及其他类似的技术,在matlab仿真软件。万博1manbetx我在仿真软件上看到万博1manbetx一些作品(演示名义直流电机),但我不知道如何开始从零问题。我没有找到任何类似的情况。
谢谢!

答案(0)