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

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

Эта система состоит из хорошо изолированного металлического стержня длины 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. Размер сетки поставляется как вспомогательная переменная, так что функция ODE может быть легко адаптирована для различных размеров сетки.

    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 страница с описанием.

См. также

|

Похожие темы