Ковариация параметра идентифицированной модели
возвращает необработанную ковариацию параметров идентифицированной модели.cov_data =
getcov(sys)
Если sys одна модель, затем cov_data np-by-np матрица. np является количеством параметров sys.
Если sys массив моделей, затем cov_data массив ячеек размера, равного размеру массивов sys.
cov_data(i,j,k,...) содержит данные о ковариации для sys(:,:,i,j,k,...).
Получите идентифицированную модель.
load iddata1 z1 sys = tfest(z1,2);
Получите необработанную ковариацию параметра для модели.
cov_data = getcov(sys)
cov_data = 5×5
1.2131 -4.3949 -0.0309 -0.5531 0
-4.3949 115.0838 1.8598 10.6660 0
-0.0309 1.8598 0.0636 0.1672 0
-0.5531 10.6660 0.1672 1.2433 0
0 0 0 0 0
cov_data содержит ковариационную матрицу для вектора параметра [sys.Numerator,sys.Denominator(2:end),sys.IODelay].
sys.Denominator(1) фиксируется к 1 и не обработанный в качестве параметра. Записи ковариационной матрицы, соответствующие параметру задержки (пятая строка и столбец), являются нулем, потому что задержка не была оценена.
Получите идентифицированный массив моделей.
load iddata1 z1; sys1 = tfest(z1,2); sys2 = tfest(z1,3); sysarr = stack(1,sys1,sys2);
sysarr 2 1 массив непрерывного времени, идентифицированных передаточных функций.
Получите необработанную ковариацию параметра для моделей в массиве.
cov_data = getcov(sysarr)
cov_data=2×1 cell array
{5x5 double}
{7x7 double}
cov_data 2 1 массив ячеек. cov_data{1} и cov_data{2} необработанные ковариационные матрицы параметра для sys1 и sys2.
Загрузите данные об оценке.
load iddata1 z1 z1.y = cumsum(z1.y);
Оцените модель.
init_sys = idtf([100 1500],[1 10 10 0]); init_sys.Structure.Numerator.Minimum = eps; init_sys.Structure.Denominator.Minimum = eps; init_sys.Structure.Denominator.Free(end) = false; opt = tfestOptions('SearchMethod','lm'); sys = tfest(z1,init_sys,opt);
sys idtf модель шестью параметрами, четыре из которых оцениваются.
Получите ковариационную матрицу для предполагаемых параметров.
cov_type = 'value'; cov_data = getcov(sys,cov_type,'free')
cov_data = 4×4
105 ×
0.0269 -0.1237 -0.0001 -0.0017
-0.1237 1.0221 0.0016 0.0133
-0.0001 0.0016 0.0000 0.0000
-0.0017 0.0133 0.0000 0.0002
cov_data 4x4 ковариационная матрица, с записями, соответствующими четырем предполагаемым параметрам.
Получите идентифицированную модель.
load iddata1 z1 sys = tfest(z1,2);
Получите учтенную ковариацию параметра для модели.
cov_type = 'factors';
cov_data = getcov(sys,cov_type);Получите идентифицированный массив моделей.
load iddata1 z1 sys1 = tfest(z1,2); sys2 = tfest(z1,3); sysarr = stack(1,sys1,sys2);
sysarr 2 1 массив непрерывного времени, идентифицированных передаточных функций.
Получите учтенную ковариацию параметра для моделей в массиве.
cov_type = 'factors';
cov_data = getcov(sysarr,cov_type)cov_data=2×1 struct array with fields:
R
T
Free
cov_data 2 1 массив структур. cov_data(1) и cov_data(2) учтенные структуры ковариации для sys1 и sys2.
Загрузите данные об оценке.
load iddata1 z1 z1.y = cumsum(z1.y);
Оцените модель.
init_sys = idtf([100 1500],[1 10 10 0]); init_sys.Structure.Numerator.Minimum = eps; init_sys.Structure.Denominator.Minimum = eps; init_sys.Structure.Denominator.Free(end) = false; opt = tfestOptions('SearchMethod','lm'); sys = tfest(z1,init_sys,opt);
sys, idtf модель, имеет шесть параметров, четыре из которых оцениваются.
Получите учтенную ковариацию для предполагаемых параметров.
cov_type = 'factors'; cov_data = getcov(sys,cov_type,'free');
sys — Модель Identifiedidtf, idss, idgrey, idpoly, idproc, idnlarx, idnlhw, или idnlgrey возразите | массив моделейcov_type — Тип ковариации'value' (значение по умолчанию) | 'factors'Ковариация возвращает тип в виде любого 'value' или 'factors'.
Если cov_type 'value', затем cov_data возвращен как матрица (необработанная ковариация).
Если cov_type 'factors', затем cov_data возвращен как структура, содержащая факторы ковариационной матрицы.
Используйте эту опцию для выборки данных о ковариации, если ковариационная матрица содержит неличные значения, не положительна определенный, или плохо обусловливается. Можно вычислить неопределенность ответа с помощью факторов ковариации вместо численно невыгодной ковариационной матрицы.
Эта опция не предлагает числового преимущества в следующих случаях:
Типы данных: char
cov_data — Ковариация параметра sysКовариация параметра sys, возвращенный как матрица, массив ячеек матриц, структуры или массива ячеек структур. cov_data [] для idnlarx и idnlhw модели.
Если sys одна модель и cov_type 'value', затем cov_data np-by-np матрица. np является количеством параметров sys.
Значение ненулевых элементов этой матрицы равно sys.Report.Parameters.FreeParCovariance когда sys получен через оценку. Записи строки и столбца, которые соответствуют фиксированным параметрам, являются нулем.
Если sys одна модель и cov_type 'factors', затем cov_data структура с полями:
R — Обычно верхняя треугольная матрица.
T — Матрица преобразования.
Free — Логический вектор из длины np, указывая, ли параметр модели свободен (оцененный) или нет. np является количеством параметров sys.
Получить ковариационную матрицу с помощью учтенной формы, введите:
Free = cov_factored.Free; T = cov_factored.T; R = cov_factored.R; np = nparams(sys); cov_matrix = zeros(np); cov_matrix(Free, Free) = T*inv(R'*R)*T';
Для числовой точности вычислите T*inv(R'*R)*T' как X*X', где X = T/R.
Если sys массив моделей, затем cov_data массив ячеек размера, равного размеру массивов sys.
cov_data(i,j,k,...) содержит данные о ковариации для sys(:,:,i,j,k,...).
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.