В этом примере показано, как оценить теплопроводность и коэффициент теплопередачи модели «серого ящика» непрерывного времени для системы с нагретым стержнем.
Эта система состоит из хорошо изолированного металлического стержня длиной L и коэффициента теплодиффузионной обработки. Входным сигналом в систему является тепловая мощность u (t), а измеренным выходным сигналом y (t) является температура на другом конце.
В идеальных условиях эта система описывается теплодиффузионным уравнением - которое является дифференциальным уравнением в частных производных в пространстве и времени.
∂ ξ2
Чтобы получить непрерывную модель состояния-пространства, можно представить вторую производную, используя следующую аппроксимацию разности:
(ΔL) 2где ξ=k⋅ΔL
Это преобразование создает модель состояния-пространства порядка LΔL, где состояния
) ΔL
Размер x зависит от размера пространственной сетки в аппроксимации.
Уравнение теплодиффузионной связи отображается на следующую структуру модели состояния-пространства непрерывного времени для идентификации матриц состояния-пространства:
Du (t) + w (t) x (0) = x0
Матрицы «состояние-пространство» параметризуют по коэффициенту теплодиффузионной обработки, а также коэффициенту теплопередачи на дальнем конце стержня htf. Выражения также зависят от размера сетки, Ngrid и длины стержня L. Начальные условия x0 являются функцией начальной комнатной температуры, обрабатываемой в этом примере как известное количество.
Создайте файл 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);
Используйте следующий синтаксис для определения idgrey объект модели на основе heatd файл кода:
m = idgrey('heatd',{0.27 1},'c',{10,1,22});
Эта команда определяет вспомогательные параметры в качестве входных данных функции, включая порядок модели (размер сетки) 10длина стержня 1 метр и начальная температура 22 градусы Цельсия. Команда также задает начальные значения теплопроводности как 0.27и для коэффициента теплопередачи как 1.
Для данного data, вы можете использовать greyest для оценки значений параметра серого поля:
me = greyest(data,m)
Следующая команда показывает, как можно задать оценку новой модели с различными вспомогательными переменными.
m.Structure.ExtraArguments = {20,1,22};
me = greyest(data,m);В этом синтаксисе используется ExtraArguments атрибут структуры модели для задания более тонкой сетки с использованием большего значения для Ngrid. Дополнительные сведения о свойствах модели линейного серого поля см. в разделе idgrey справочная страница.