热扩散的连续时间灰盒估计模型
这个例子展示了如何估计热棒系统的连续时间灰盒模型的热导率和传热系数。
这个系统由一根绝缘良好的长金属棒组成l还有热扩散系数 .系统的输入是加热功率u (t)以及测量的输出y (t)是另一端的温度。
在理想条件下,该系统可用热扩散方程来描述,这是一个空间和时间上的偏微分方程。
为了得到一个连续时间的状态空间模型,你可以用下面的差分近似来表示二阶导数:
这种转换产生了秩序的状态空间模型 ,其中状态变量 集中表示是 对于以下值范围:
的维度x取决于空间网格大小 在近似中。
将热扩散方程映射到以下连续时间状态空间模型结构,以识别状态空间矩阵:
状态空间矩阵由热扩散系数κ和棒远端的热传递系数参数化h特遣部队.表达式也取决于网格大小,Ngrid,以及杆的长度l.初始条件x0是初始室温的函数,在本例中作为已知量处理。
创建MATLAB®文件。
下面的代码描述了这个模型的状态空间方程。参数为κ和h特遣部队辅助变量是Ngrid,l和初始室温
临时
.网格大小是作为辅助变量提供的,因此ODE函数可以很容易地适应各种网格大小。函数[A,B,C,D,K,x0] =热(kappa,htf,T,Ngrid,L,temp)参数化热扩散模型的ODE文件% kappa(第一个参数)-热扩散系数% HTF(第二个参数)-传热系数%在杆的远端用于计算状态空间矩阵的辅助变量:% Ngrid:空间离散化中的点数% L:杆的长度% temp:初始室温(均匀)%计算空间间隔delta = L/Ngrid;% A矩阵A =零(Ngrid,Ngrid);为kk = 2:Ngrid-1 A(kk,kk-1) = 1;A(kk,kk) = -2;A(kk,kk+1) = 1;结束绝缘端边界条件A(1,1) = -1;A(1,2) = 1;A(Ngrid,Ngrid-1) = 1;A(Ngrid,Ngrid) = -1;A = A*kappa/deltaL/deltaL;% B矩阵B = 0 (Ngrid,1);B(Ngrid,1) = htf/delta;% C矩阵C = 0 (1,Ngrid);C(1,1) = 1;% D矩阵(固定为零)D = 0;% K矩阵:固定为零K = 0 (Ngrid,1);初始状态:固定在室温x0 = temp*ones(Ngrid,1);
使用以下语法定义
idgrey
对象的模型heatd
代码文件:M = idgrey(“heatd”{0.27 - 1},“c”{10 1 22});
该命令指定辅助参数作为函数的输入,包括模型顺序(网格大小)。
10
,杆长为1米,初始温度为22
摄氏度。该命令还指定热导率的初始值为0.27
,为传热系数为1
.对于给定
数据
,你可以使用感动的
估算灰盒参数值:Me =灰色(数据,m)
下面的命令显示了如何使用不同的辅助变量来估计一个新模型:
m.Structure.ExtraArguments = {20,1,22};Me =灰色(数据,m);
此语法使用ExtraArguments
模型结构属性使用更大的值指定更精细的网格Ngrid
.有关线性灰盒模型属性的更多信息,请参见idgrey
参考页面。