主要内容

热扩散的连续时间灰盒模型估计

该算例说明了如何估计加热棒系统的连续时间灰盒模型的导热系数和传热系数。

该系统由一根绝缘良好的长金属棒组成l还有热扩散系数 κ .系统的输入是加热功率u (t)测量输出y (t)是另一端的温度。

在理想条件下,该系统可以用热扩散方程来描述,这是一个时空偏微分方程。

x t ξ t κ 2 x t ξ ξ 2

为了得到连续时间状态空间模型,可以使用以下差分近似表示二阶导数:

2 x t ξ ξ 2 x t ξ + Δ l 2 x t ξ + x t ξ Δ l Δ l 2 在哪里 ξ k Δ l

这个转换产生一个状态空间的秩序模型 n l Δ l ,其中状态变量 x t k Δ l 集总表示是 x t ξ 对于以下值范围:

k Δ l ξ < k + 1 Δ l

的维度x取决于空间网格的大小 Δ l 在近似中。

将热扩散方程映射到以下连续时间状态空间模型结构,以确定状态空间矩阵:

x ˙ t F x t + G u t + K ˜ w t y t H x t + D u t + w t x 0 x 0

状态空间矩阵由热扩散系数κ和棒的远端传热系数参数化h特遣部队.表达式也取决于网格的大小,Ngrid,和杆的长度l.初始条件x0是初始室温的函数,在本例中作为已知量处理。

  1. 创建一个MATLAB®文件。

    下面的代码描述了该模型的状态空间方程。参数是k和h特遣部队而辅助变量是Ngridl和初始室温临时.网格大小是作为辅助变量提供的,因此ODE函数可以很容易地适应各种网格大小。

    函数[A,B,C,D,K,x0] =热(kappa,htf,T,Ngrid,L,温度)% ODE文件参数化热扩散模型% kappa(第一个参数)-热扩散系数% HTF(第二个参数)-传热系数在杆的远端%用于计算状态空间矩阵的辅助变量:% Ngrid:空间离散化中的点数% L:杆的长度% temp:初始室温(均匀)%计算空间间隔delta = L/Ngrid;% A矩阵A = 0 (Ngrid,Ngrid);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/delta /delta;% 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);
  2. 使用以下语法定义idgrey的模型对象heatd代码文件:

    M = idgrey(“heatd”{0.27 - 1},“c”{10 1 22});

    此命令指定作为函数输入的辅助参数,包括模型顺序(网格大小)10,杆长为1米,初始温度为22摄氏度。该命令还将热导率的初始值指定为0.27,为传热系数为1

  3. 对于给定数据,你可以使用感动的估计灰盒参数值:

    Me = greyest(data,m)

下面的命令显示了如何使用不同的辅助变量指定估计一个新模型:

m.Structure.ExtraArguments = {20,1,22};Me = greyest(data,m);

此语法使用ExtraArguments模型结构属性以指定使用较大值的更细网格Ngrid.有关线性灰盒模型属性的更多信息,请参见idgrey参考页面。

另请参阅

|

相关的话题