Оцените модель серого ящика непрерывного времени для диффузии тепла

В этом примере показано, как оценить теплопроводность и коэффициент теплопередачи модели серого ящика непрерывного времени для системы горячего стержня.

Эта система состоит из хорошо изолированного металлического стержня длины L и коэффициента диффузии тепла κ. Вход к системе является нагревающейся степенью u (t), и измеренный выход y (t) является температурой в другом конце.

При идеальных условиях эта система описана уравнением диффузии тепла — который является дифференциальным уравнением с частными производными в пространстве и времени.

x(t,ξ)t=κ2x(t,ξ)ξ2

Чтобы получить модель в пространстве состояний непрерывного времени, можно представлять вторую производную с помощью следующего приближения различия:

2x(t,ξ)ξ2=x(t,ξ+ΔL)2x(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)=Fx(t)+Gu(t)+K˜w(t)y(t)=Hx(t)+Du(t)+w(t)x(0)=x0

Матрицы пространства состояний параметрируются коэффициентом диффузии тепла κ и коэффициентом теплопередачи в дальнем конце стержня htf. Выражения также зависят от размера сетки, Ngrid и длины стержня L. Начальные условия x0 являются функцией начальной комнатной температуры, обработанной как известное количество в этом примере.

  1. Создайте файл MATLAB®.

    Следующий код описывает уравнение пространства состояний для этой модели. Параметры являются κ и htf, в то время как вспомогательными переменными является Ngrid, L и начальная комнатная температура temp. Размер сетки предоставляется как вспомогательная переменная так, чтобы функция ОДУ могла быть легко адаптирована к различным размерам сетки.

    function [A,B,C,D,K,x0] = heatd(kappa,htf,T,Ngrid,L,temp)
    % ODE file parameterizing the heat diffusion model
    
    % kappa (first parameter) - heat diffusion coefficient
    % htf (second parameter) - heat transfer coefficient 
    %                          at the far end of rod
    
    % Auxiliary variables for computing state-space matrices:
    % Ngrid: Number of points in the space-discretization
    % L: Length of the rod
    % temp: Initial room temperature (uniform)
    
    % Compute space interval
    deltaL = L/Ngrid;
    
    % A matrix
    A = zeros(Ngrid,Ngrid);
    for kk = 2:Ngrid-1
      A(kk,kk-1) = 1;
      A(kk,kk) = -2;
      A(kk,kk+1) = 1;
    end
    
    % Boundary condition on insulated end
    A(1,1) = -1; A(1,2) = 1;
    A(Ngrid,Ngrid-1) = 1;
    A(Ngrid,Ngrid) = -1;
    A = A*kappa/deltaL/deltaL;
    
    % B matrix
    B = zeros(Ngrid,1);
    B(Ngrid,1) = htf/deltaL;
    
    % C matrix
    C = zeros(1,Ngrid);
    C(1,1) = 1;
    
    % D matrix (fixed to zero)
    D = 0;
    
    % K matrix: fixed to zero
    K = zeros(Ngrid,1);
    
    % Initial states: fixed to room temperature
    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. Для данного data, можно использовать greyest оценить значения параметров серого ящика:

    me = greyest(data,m)
    

Следующая команда показывает, как можно задать, чтобы оценить новую модель с различными вспомогательными переменными:

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

Этот синтаксис использует ExtraArguments атрибут структуры модели, чтобы задать более прекрасную сетку с помощью большего значения в Ngrid. Для получения дополнительной информации о линейных свойствах модели серого ящика, смотрите idgrey страница с описанием.

Смотрите также

|

Похожие темы