我试图让MATLAB创建一个带有初始值的状态空间模型,后来我必须使用系统识别工具箱进行微调。
问题是我正在使用" white-box"模型,这意味着我的模型中的A矩阵不仅仅是一个数值矩阵,而是由几个其他参数组成。
由于构成矩阵的每个参数都具有物理意义,因此我想单独估计而不仅仅是A矩阵的值。
这有可能吗?看过genss,idss和其他几种工具,但是还没有能够使它们中的任何一种工作。
我正在使用的系统版本如下(C和D矩阵不相关,因为这只是测试真的):
A = [-H_infil/Ca+Hsa_i^2/(Ca*(Hms_i+Hsa_i))-Hsa_i/Ca-H_win/Ca+Hsa_e^2/(Ca*(Hsa_e+Hms_e))-Hsa_e/Ca-H_vent/Ca Hsa_i*Hms_i/((Hms_i+Hsa_i)*Ca) Hsa_e*Hms_e/((Hsa_e+Hms_e)*Ca);
Hms_i*Hsa_i/((Hms_i+Hsa_i)*Ci) Hms_i^2/((Hms_i+Hsa_i)*Ci)-Hms_i/Ci 0;
Hms_e*Hsa_e/((Hsa_e+Hms_e)*Ce) 0 Hms_e^2/((Hsa_e+Hms_e)*Ce)-Hms_e/Ce-Hem/Ce];
Bc = [Hsa_i*S*wi/(Ca*(Hms_i+Hsa_i))+S*wa/Ca Hsa_i*fi/(Ca*(Hms_i+Hsa_i))+fa/Ca+Hsa_e*fe/(Ca*(Hsa_e+Hms_e)) H_infil/Ca+H_win/Ca H_vent/Ca;
Hms_i*S*wi/((Hms_i+Hsa_i)*Ci) Hms_i*fi/((Hms_i+Hsa_i)*Ci) 0 0;
0 Hms_e*fe/((Hsa_e+Hms_e)*Ce) Hem/Ce 0];
Cc = [0 0 0];
Dc = [0 0 0 0]
我意识到我可能会遇到几个解决方案的问题,但后来我认为系统识别只会选择一个。
有什么想法吗?
提前致谢!
哦,初始值如下:
%% Q_Heating ratio factors are defined
% Factors
ki = 0.6;
ke = 0;
ka = 1 - ki - ke;
%% Internal heat gain factors are defined
fe = 0; % Internal heat gain ratio to external constructions
fi = 0; % Internal heat gain ratio to internal constructions
fa = 1 - fe - fi; % Internal heat gain ratio to room air
%% Solar heat gain factors are defined
S = 0.558; % Shading factor
wi = 0.6; % Solar heat gain ratio to internal constructions
wa = 1 - wi; % Solar heat gain ratio to room air
%% Capacities
% Air node
Ca = 60708.707;
% Internal node
Ci = 6.160*10^6*1.3;
% External node
Ce = 5.489*10^5*1.3;
%% Heat transfer coefficients
% Air to surface heat transfer coefficients
Hsa_i = 581.286;
Hsa_e = 52.094;
% Surface to mass heat transfer coefficients
Hms_i = 3235.007;
Hms_e = 284.432;
% Mass to external air/ground heat transfer coefficient
Hem = 0.986*1.3;
% Room air to external air heat transfer coefficients
H_infil = 0;
H_win = 1.627;
% Ventilation heat transfer coefficient
H_vent = 0;