recursiveLS

Создайте Системный объект для онлайновой оценки параметра с помощью рекурсивного алгоритма наименьших квадратов

Синтаксис

obj = recursiveLS
obj = recursiveLS(Np)
obj = recursiveLS(Np,theta0)
obj = recursiveLS(___,Name,Value)

Описание

Используйте recursiveLS команда для оценки параметра с данными реального времени. Если все данные, необходимые для оценки, доступны целиком, и вы оцениваете независимую от времени модель, используете mldivide, \.

obj = recursiveLS создает Систему object™ для онлайновой оценки параметра одной выходной системы по умолчанию, которая линейна в предполагаемых параметрах. Такая система может быть представлена как:

y (t) = H (t) θ (t) +e (t).

Здесь, y является выход, θ параметры, H регрессоры, и e является бело-шумовым воздействием. Система по умолчанию имеет один параметр с начальным значением параметров 1.

После создания объекта используйте step команда, чтобы обновить оценки параметра модели с помощью рекурсивных алгоритмов наименьших квадратов и данных реального времени. В качестве альтернативы можно вызвать объект непосредственно. Для получения дополнительной информации смотрите Советы.

obj = recursiveLS(Np) также задает количество параметров, которые будут оценены.

obj = recursiveLS(Np,theta0) также задает количество параметров и начальные значения параметров.

obj = recursiveLS(___,Name,Value) задает дополнительные атрибуты системы и рекурсивного алгоритма оценки с помощью одного или нескольких Name,Value парные аргументы.

Описание объекта

recursiveLS создает Системный объект для онлайновой оценки параметра одной выходной системы, которая линейна в ее параметрах.

Системный объект является специализированным объектом MATLAB®, специально разработанным для реализации и симуляции динамических систем с входными параметрами то изменение в зависимости от времени. Системные объекты используют внутренние состояния, чтобы сохранить прошлое поведение, которое используется на следующем вычислительном шаге.

После того, как вы создадите Системный объект, вы используете команды, чтобы обработать данные или получить информацию из или об объекте. Системные объекты используют минимум двух команд, чтобы обработать данные — конструктор, чтобы создать объект и step команда, чтобы обновить параметры объекта с помощью данных реального времени. Это разделение объявления от выполнения позволяет вам создать несколько, персистентные, допускающие повторное использование объекты, каждого с различными настройками.

Можно использовать следующие команды с онлайновыми Системными объектами оценки в System Identification Toolbox™:

КомандаОписание
step

Обновите оценки параметра модели с помощью рекурсивных алгоритмов оценки и данных реального времени.

step помещает объект в заблокированное состояние. В заблокированном состоянии вы не можете изменить ненастраиваемые свойства или ввести технические требования, такие как порядок модели, тип данных или алгоритм оценки. Во время выполнения можно только изменить настраиваемые свойства.

release

Разблокируйте Системный объект. Используйте эту команду, чтобы позволить установить ненастраиваемых параметров.

reset

Сбросьте внутренние состояния заблокированного Системного объекта к начальным значениям и оставьте объект заблокированным.

clone

Создайте другой Системный объект с теми же значениями свойства объекта.

Не создавайте дополнительные объекты с помощью синтаксиса obj2 = obj. Любые изменения, внесенные в свойства нового объекта, создали этот путь (obj2) также измените свойства исходного объекта (obj).

isLocked

Запросите заблокированное состояние для входных атрибутов и ненастраиваемых свойств Системного объекта.

Используйте recursiveLS команда, чтобы создать онлайновый Системный объект оценки. Затем оцените системные параметры (theta) и выход с помощью step команда с регрессорами и входящими выходными данными, H и y.

[theta,EstimatedOutput] = step(obj,y,H)

Для recursiveLS свойства объектов, смотрите Свойства.

Примеры

свернуть все

obj = recursiveLS
obj = 
  recursiveLS with properties:

            NumberOfParameters: 1
                    Parameters: []
             InitialParameters: 1
           ParameterCovariance: []
    InitialParameterCovariance: 10000
              EstimationMethod: 'ForgettingFactor'
              ForgettingFactor: 1
              EnableAdaptation: true
                       History: 'Infinite'
               InputProcessing: 'Sample-based'
                      DataType: 'double'

Система имеет два параметра и представлена как:

y(t)=a1u(t)+a2u(t-1)

Здесь,

  • u и y входные и выходные данные в реальном времени, соответственно.

  • u(t) и u(t-1) регрессоры, H, из системы.

  • a1 и a2 параметры, theta, из системы.

Создайте Системный объект для онлайновой оценки с помощью рекурсивного алгоритма наименьших квадратов.

obj = recursiveLS(2);

Загрузите данные об оценке, которые для этого примера являются статическим набором данных.

load iddata3
input = z3.u;
output = z3.y;

Создайте переменную, чтобы сохранить u(t-1). Эта переменная обновляется на каждом временном шаге.

oldInput = 0;

Оцените параметры и выведите использование step и данные ввода - вывода, обеспечивая текущую пару регрессора в H. Вызовите step функционируйте неявно путем вызова obj системный объект с входными параметрами.

for i = 1:numel(input)
    H = [input(i) oldInput];
    [theta, EstimatedOutput] = obj(output(i),H);
    estimatedOut(i)= EstimatedOutput;
    theta_est(i,:) = theta;
    oldInput = input(i);
end

Постройте измеренные и предполагаемые выходные данные.

numSample = 1:numel(input);
plot(numSample,output,'b',numSample,estimatedOut,'r--');
legend('Measured Output','Estimated Output');

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Measured Output, Estimated Output.

Постройте параметры.

plot(numSample,theta_est(:,1),numSample,theta_est(:,2))
title('Parameter Estimates for Recursive Least Squares Estimation')
legend("theta1","theta2")

Figure contains an axes. The axes with title Parameter Estimates for Recursive Least Squares Estimation contains 2 objects of type line. These objects represent theta1, theta2.

Просмотрите итоговые оценки.

theta_final = theta
theta_final = 2×1

   -1.5322
   -0.0235

Используйте основанные на системе координат сигналы с recursiveLS команда. Интерфейсы машины часто обеспечивают данные о датчике в системах координат, содержащих несколько выборок, а не в отдельных выборках. recursiveLS объект принимает эти системы координат непосредственно, когда вы устанавливаете InputProcessing к Frame-based.

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

Этим примером является основанная на системе координат версия основанного на выборке recursiveLS пример в Оценочных Параметрах Системы Используя Рекурсивный Алгоритм Наименьших квадратов.

Система имеет два параметра и представлена как:

y(t)=a1u(t)+a2u(t-1)

Здесь,

  • u и y входные и выходные данные в реальном времени, соответственно.

  • u(t) и u(t-1) регрессоры, H, из системы.

  • a1 и a2 параметры,θ, из системы.

Создайте Системный объект для онлайновой оценки с помощью рекурсивного алгоритма наименьших квадратов.

obj_f = recursiveLS(2,'InputProcessing','Frame-Based');

Загрузите данные, которые содержат сигналы временных рядов ввода и вывода. Каждый сигнал состоит из 30 систем координат, и каждая система координат содержит десять отдельных выборок времени.

load iddata3_frames input_sig_frame output_sig_frame
input = input_sig_frame.data;
output = output_sig_frame.data;
numframes = size(input,3)
numframes = 30
mframe = size(input,1)
mframe = 10

Инициализируйте систему координат регрессора, которая для данной системы координат, имеет форму

Hf=[u1u0u2u1u10u9],

где новая точка в системе координат u10.

Hframe = zeros(10,2);

Для этого примера первого порядка система координат регрессора включает одну точку от предыдущей системы координат. Инициализируйте эту точку.

oldInput = 0;

Оцените параметры и выведите использование step и данные ввода - вывода, обеспечивая текущий регрессор структурируют в Hframe.

  • Массивы ввода и вывода имеют три измерения. Третья размерность является индексом системы координат, и первые две размерности представляют содержимое отдельных систем координат.

  • Используйте circshift функция, чтобы заполнить второй столбец Hframe с прошлым input значение для каждой пары регрессора путем сдвига входного вектора одним положением.

  • Заполните Hframe элемент, содержащий самое старое значение, Hframe(1,2), со значением регрессора, сохраненным от предыдущей системы координат.

  • Вызовите step функционируйте неявно путем вызова obj системный объект с входными параметрами. step функция совместима с системами координат, таким образом, никакая функция цикла в системе координат не необходима.

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

EstimatedOutput = zeros(10,1,30);
theta = zeros(2,30);
for i = 1:numframes
    Hframe = [input(:,:,i) circshift(input(:,:,i),1)];
    Hframe(1,2) = oldInput;
    [theta(:,i), EstimatedOutput(:,:,i)] = obj_f(output(:,:,i),Hframe);
    oldInput = input(10,:,i);
end

Постройте параметры.

theta1 = theta(1,:);
theta2 = theta(2,:);
iframe = 1:numframes;
plot(iframe,theta1,iframe,theta2)
title('Frame-Based Recursive Least Squares Estimation')
legend('theta1','theta2','location','best')

Figure contains an axes. The axes with title Frame-Based Recursive Least Squares Estimation contains 2 objects of type line. These objects represent theta1, theta2.

Просмотрите итоговые оценки.

theta_final = theta(:,numframes)
theta_final = 2×1

   -1.5322
   -0.0235

Итоговые оценки идентичны основанной на выборке оценке.

Создайте Системный объект для онлайновой оценки параметра с помощью рекурсивного алгоритма наименьших квадратов системы двумя параметрами и известными начальными значениями параметров.

obj = recursiveLS(2,[0.8 1],'InitialParameterCovariance',0.1);

InitialParameterCovariance представляет неопределенность в вашем предположении для начальных параметров. Как правило, InitialParameterCovariance по умолчанию (10000) является слишком большим относительно значений параметров. Это приводит к исходным предположениям, высказанным меньше важности во время оценки. Если вы уверены в начальных предположениях параметра, задаете меньшую начальную ковариацию параметра.

Входные параметры

свернуть все

Количество параметров в системе в виде положительного целого числа.

Начальное значение параметров в виде одного из следующего:

  • Скаляр — Все параметры имеют то же начальное значение.

  • Вектор из действительных значений длины Npi th параметр имеет начальное значение theta0(i).

Начальным значением по умолчанию для всех параметров является 1.

Примечание

Если начальные значения параметров намного меньше, чем InitialParameterCovariance, этим начальным значениям дают меньше важности во время оценки. Задайте меньшую начальную ковариацию параметра, если у вас есть высокое доверие к начальным значениям параметров. Этот оператор применяется только для оценки бесконечной истории. Оценка конечной истории не использует InitialParameterCovariance.

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Используйте Name,Value аргументы, чтобы задать перезаписываемые свойства recursiveLS Системный объект во время создания объекта. Например, obj = recursiveLS(2,'EstimationMethod','Gradient') создает Системный объект, чтобы оценить системные параметры с помощью 'Gradient' рекурсивный алгоритм оценки.

Свойства

recursiveLS Свойства системного объекта состоят из и перезаписываемых свойств только для чтения. Перезаписываемые свойства являются настраиваемыми и ненастраиваемыми свойствами. Ненастраиваемые свойства не могут быть изменены, когда объект заблокирован, то есть, после того, как вы используете step команда.

Используйте Name,Value аргументы, чтобы задать перезаписываемые свойства recursiveLS объекты во время создания объекта. После создания объекта используйте запись через точку, чтобы изменить настраиваемые свойства.

obj = recursiveLS;
obj.ForgettingFactor = 0.99;

NumberOfParameters

Количество параметров, которые будут оценены, возвращенные как положительное целое число.

NumberOfParameters свойство только для чтения. Если Np задан во время объектной конструкции, NumberOfParameters принимает значение, присвоенное Np.

Значение по умолчанию: 1

Parameters

Предполагаемые параметры, возвращенные как вектор-столбец действительных значений.

Parameters свойство только для чтения и первоначально пусто после того, как вы создадите объект. Это заполняется после того, как вы будете использовать step команда для онлайновой оценки параметра.

InitialParameters

Начальные значения параметров в виде одного из следующего:

  • Скаляр — Все параметры имеют то же начальное значение.

  • Вектор из действительных значений длины Npi th параметр имеет начальное значение InitialParameters(i).

Если начальные значения параметров намного меньше, чем InitialParameterCovariance, этим начальным значениям дают меньше важности во время оценки. Задайте меньшую начальную ковариацию параметра, если у вас есть высокое доверие к начальным значениям параметров. Этот оператор применяется только для оценки бесконечной истории. Оценка конечной истории не использует InitialParameterCovariance.

InitialParameters настраиваемое свойство. Можно изменить InitialParameters когда объект находится в заблокированном состоянии.

Значение по умолчанию: 1

InitialOutputs

Начальные значения выходных параметров буферизуют по оценке конечной истории в виде 0 или как W-by-1 вектор, где W является длиной окна.

InitialOutputs свойство обеспечивает средние значения управления начальным поведением алгоритма.

Когда InitialOutputs установлен в 0, объект заполняет буфер с нулями.

Если начальный буфер установлен в 0 или не содержит достаточно информации, вы видите предупреждающее сообщение во время начальной фазы вашей оценки. Предупреждение должно очиститься после нескольких циклов. Количество циклов, которые это берет для достаточной информации, которая будет буферизована, зависит от порядка ваших полиномов и ваших входных задержек. Если предупреждение сохраняется, необходимо оценить содержимое сигналов.

Задайте InitialOutputs только, когда History isfinite.

InitialOutputs настраиваемое свойство. Можно изменить InitialOutputs когда объект находится в заблокированном состоянии.

Значение по умолчанию: 0

InitialRegressors

Начальные значения регрессоров буферизуют по оценке конечной истории в виде 0 или как W-by-Np матрица, где W является длиной окна и Np количество параметров.

InitialRegressors свойство обеспечивает средние значения управления начальным поведением алгоритма.

Когда InitialRegressors установлен в 0, объект заполняет буфер с нулями.

Если начальный буфер установлен в 0 или не содержит достаточно информации, вы видите предупреждающее сообщение во время начальной фазы вашей оценки. Предупреждение должно очиститься после нескольких циклов. Количество циклов, которые это берет для достаточной информации, которая будет буферизована, зависит от порядка ваших полиномов и ваших входных задержек. Если предупреждение сохраняется, необходимо оценить содержимое сигналов.

Задайте InitialRegressors только, когда History isfinite.

InitialRegressors настраиваемое свойство. Можно изменить InitialRegressors когда объект находится в заблокированном состоянии.

Значение по умолчанию: 0

ParameterCovariance

Предполагаемая ковариация P из параметров, возвращенных как N-by-N симметричная положительно-определенная матрица. N является количеством параметров, которые будут оценены. Программное обеспечение вычисляет P при предположении, что остаточные значения (различие между предполагаемыми и измеренными выходными параметрами) являются белым шумом, и отклонение этих остаточных значений равняется 1.

ParameterCovariance применимо только когда EstimationMethod 'ForgettingFactor' или 'KalmanFilter' или когда History isfinite.

Интерпретация P зависит от ваших настроек для History и EstimationMethod свойства.

  • Если History Infinite, затем ваш EstimationMethod выбор приводит к одному из следующего:

    • 'ForgettingFactor' — (R2 /2P приблизительно равно ковариационной матрице предполагаемых параметров, где R2 является истинным отклонением остаточных значений.

    • 'KalmanFilter'R2 P ковариационная матрица предполагаемых параметров, и R1/R2 является ковариационной матрицей изменений параметра. Здесь, R1 является ковариационной матрицей, которую вы задаете в ProcessNoiseCovariance.

  • Если History isfinite (оценка раздвижного окна) — R2 P ковариация предполагаемых параметров. Алгоритм раздвижного окна не использует эту ковариацию в процессе оценки параметра. Однако алгоритм действительно вычисляет ковариацию для выхода так, чтобы можно было использовать его для статистической оценки.

ParameterCovariance свойство только для чтения и первоначально пусто после того, как вы создадите объект. Это заполняется после того, как вы будете использовать step команда для онлайновой оценки параметра.

InitialParameterCovariance

Ковариация начального параметра оценивает в виде одного из следующего:

  • Действительная положительная скалярная величина, α — Ковариационной матрицей является N-by-N диагональная матрица с α как диагональные элементы. N является количеством параметров, которые будут оценены.

  • Вектором из действительных положительных скалярных величин, [α 1..., α N] — Ковариационная матрица является N-by-N диагональная матрица, с [α 1..., α N] как диагональные элементы.

  • N-by-N симметричная положительно-определенная матрица.

InitialParameterCovariance представляет неопределенность в начальных оценках параметра. Для больших значений InitialParameterCovariance, меньше важности помещается в начальные значения параметров и больше в результаты измерений в течение начала использования оценки step.

Используйте только когда EstimationMethod 'ForgettingFactor' или 'KalmanFilter'.

InitialParameterCovariance настраиваемое свойство. Можно изменить его, когда объект находится в заблокированном состоянии.

Значение по умолчанию: 10000

EstimationMethod

Рекурсивный алгоритм оценки методом наименьших квадратов использовал для онлайновой оценки параметров модели в виде одного из следующих значений:

  • 'ForgettingFactor' — Алгоритм используется для оценки параметра

  • 'KalmanFilter' — Алгоритм используется для оценки параметра

  • 'NormalizedGradient' — Алгоритм используется для оценки параметра

  • 'Gradient' — Ненормированный алгоритм градиента используется для оценки параметра

Упущение фактора и алгоритмов Фильтра Калмана более в вычислительном отношении интенсивно, чем градиент и ненормированные градиентные методы. Однако у них есть лучшие свойства сходимости. Для получения информации об этих алгоритмах смотрите Рекурсивные алгоритмы для Онлайновой Оценки Параметра.

Эти методы все использование бесконечная история данных, и доступны только когда History 'Infinite'.

EstimationMethod ненастраиваемое свойство. Вы не можете изменить его во время выполнения, то есть, после того, как объект будет заблокирован с помощью step команда.

Значение по умолчанию: Forgetting Factor

ForgettingFactor

Забывая фактор, λ, важный для оценки параметра в виде скаляра в области значений (0,1].

Предположим, что система остается приблизительно постоянной по выборкам T0. Можно выбрать λ, таким образом что:

T0=11λ

  • Установка λ = 1 не соответствует “никакому упущению” и оценке постоянных коэффициентов.

  • Установка λ <1 подразумевает, что прошлые измерения являются менее значительными для оценки параметра и могут быть “забыты”. Установите λ <1 оценивать изменяющиеся во времени коэффициенты.

Типичный выбор λ находится в области значений [0.98 0.995].

Используйте только когда EstimationMethod 'ForgettingFactor'.

ForgettingFactor настраиваемое свойство. Можно изменить его, когда объект находится в заблокированном состоянии.

Значение по умолчанию: 1

EnableAdapation

Включите или отключите оценку параметра в виде одного из следующего:

  • true или 1step команда оценивает значения параметров для того временного шага и обновляет значения параметров.

  • false или 0step команда не обновляет параметры для того временного шага и вместо этого выводит последнюю ориентировочную стоимость. Можно использовать эту опцию, когда система переходит к режиму, где значения параметров не меняются в зависимости от времени.

    Примечание

    Если вы устанавливаете EnableAdapation к false, необходимо все еще выполниться step команда. Не пропускать step сохранить значения параметров постоянными, потому что оценка параметра зависит от текущих и прошлых измерений ввода-вывода. step гарантирует, что прошлые данные о вводе-выводе хранятся, даже когда они не обновляют параметры.

EnableAdapation настраиваемое свойство. Можно изменить его, когда объект находится в заблокированном состоянии.

Значение по умолчанию: true

DataType

Точность с плавающей точкой параметров в виде одного из следующих значений:

  • 'double' Плавающая точка двойной точности

  • 'single' Плавающая точка с одинарной точностью

Установка DataType к 'single' сохраняет память, но приводит к потере точности. Задайте DataType на основе точности, требуемой целевым процессором, где вы развернете сгенерированный код.

DataType ненастраиваемое свойство. Это может только быть установлено во время объектной конструкции с помощью Name,Value аргументы и не могут быть изменены позже.

Значение по умолчанию: 'double'

ProcessNoiseCovariance

Ковариационная матрица изменений параметра в виде одного из следующего:

  • Действительный неотрицательный скаляр, α — Ковариационной матрицей является N-by-N диагональная матрица с α как диагональные элементы.

  • Вектором из действительных неотрицательных скаляров, [α 1..., α N] — Ковариационная матрица является N-by-N диагональная матрица, с [α 1..., α N] как диагональные элементы.

  • N-by-N симметричная положительная полуопределенная матрица.

N является количеством параметров, которые будут оценены.

ProcessNoiseCovariance применимо когда EstimationMethod 'KalmanFilter'.

Алгоритм фильтра Калмана обрабатывает параметры как состояния динамической системы и оценивает эти параметры с помощью Фильтра Калмана. ProcessNoiseCovariance ковариация шума процесса, действующего на эти параметры. Нулевые значения в шумовой ковариационной матрице соответствуют оценке постоянных коэффициентов. Значения, больше, чем 0, соответствуют изменяющимся во времени параметрам. Используйте большие значения для того, чтобы быстро изменить параметры. Однако большие значения приводят к более шумным оценкам параметра.

ProcessNoiseCovariance настраиваемое свойство. Можно изменить его, когда объект находится в заблокированном состоянии.

Значение по умолчанию: 0.1

AdaptationGain

Усиление адаптации, γ, использовало в градиенте рекурсивные алгоритмы оценки в виде положительной скалярной величины.

AdaptationGain применимо когда EstimationMethod 'Gradient' или 'NormalizedGradient'.

Задайте большое значение для AdaptationGain когда ваши измерения имеют высокое отношение сигнал-шум.

AdaptationGain настраиваемое свойство. Можно изменить его, когда объект находится в заблокированном состоянии.

Значение по умолчанию: 1

NormalizationBias

Сместите в масштабировании усиления адаптации, используемом в 'NormalizedGradient' метод в виде неотрицательного скаляра.

NormalizationBias применимо когда EstimationMethod 'NormalizedGradient'.

Нормированный алгоритм градиента делит усиление адаптации на каждом шаге квадратом 2D нормы вектора градиента. Если градиент близко к нулю, это может вызвать скачки в предполагаемых параметрах. NormalizationBias термин, введенный в знаменателе, чтобы предотвратить эти скачки. Увеличьте NormalizationBias если вы наблюдаете скачки в предполагаемых параметрах.

NormalizationBias настраиваемое свойство. Можно изменить его, когда объект находится в заблокированном состоянии.

Значение по умолчанию: eps

History

Определение типа истории данных, в виде какого типа рекурсивного алгоритма вы используете:

  • 'Infinite' — Используйте алгоритм, который стремится минимизировать ошибку между наблюдаемыми и предсказанными выходными сигналами, навсегда продвигается с начала симуляции.

  • 'Finite' — Используйте алгоритм, который стремится минимизировать ошибку между наблюдаемыми и предсказанными выходными сигналами для конечного числа прошлых временных шагов.

Алгоритмы с бесконечной историей стремятся производить оценки параметра, которые объясняют все данные начиная с запуска симуляции. Эти алгоритмы все еще используют установленную сумму памяти, которая не растет в зависимости от времени. Объект предоставляет несколько алгоритмов 'Infinite' History ввод. Определение этой опции активирует EstimationMethod свойство, с которым вы задаете алгоритм.

Алгоритмы с конечной историей стремятся производить оценки параметра, которые объясняют только конечное число прошлых выборок данных. Этот метод также называется оценкой sliding-window. Объект предоставляет один алгоритм 'Finite' ввод. Определение этой опции активирует WindowLength свойство это измеряет окно.

Для получения дополнительной информации о рекурсивных методах оценки смотрите Рекурсивные алгоритмы для Онлайновой Оценки Параметра.

History ненастраиваемое свойство. Это может быть установлено только во время объектной конструкции с помощью Name,Value аргументы и не могут быть изменены позже.

Значение по умолчанию: 'Infinite'

WindowLength

Размер окна, определяющий количество выборок времени, чтобы использовать для метода оценки раздвижного окна в виде положительного целого числа. Задайте WindowLength только, когда History isfinite.

Выберите размер окна, который балансирует эффективность оценки с нагрузки памяти и вычислительного. Измеряющие факторы включают номер и отклонение времени параметров в вашей модели. Всегда задавайте Window Length в выборках, даже если вы используете основанную на системе координат входную обработку.

WindowLength должен быть больше или быть равен количеству предполагаемых параметров.

Подходящая длина окна независима от того, используете ли вы основанную на выборке или основанную на системе координат входную обработку (см. InputProcessing). Однако при использовании основанной на системе координат обработки, ваша длина окна должна быть больше или быть равна количеству выборок (временные шаги), содержавшиеся в системе координат.

WindowLength ненастраиваемое свойство. Это может быть установлено только во время объектной конструкции с помощью Name,Value аргументы и не могут быть изменены позже.

Значение по умолчанию: 200

InputProcessing

Опция для основанной на выборке или основанной на системе координат входной обработки в виде вектора символов или строки.

  • Sample-based обработка работает с сигналами, передал одну выборку потоком за один раз.

  • Frame-based обработка работает с сигналами, содержащими выборки от нескольких временных шагов. Много датчиков машины соединяют интерфейсом с пакетом несколько выборок и передачи эти выборки вместе в системах координат. Frame-based обработка позволяет вам вводить эти данные непосредственно, не имея необходимость сначала распаковывать его.

Ваш InputProcessing спецификация влияет на размерности для сигналов ввода и вывода при использовании step команда:

[theta,EstimatedOutput] = step(obj,y,H)

  • Sample-based

    • y и EstimatedOutput скаляры.

    • H 1 Np вектор, где Np количество параметров.

    • Frame-based с выборками M на систему координат

      • y и EstimatedOutput M-by-1 векторы.

      • H M-by-Np матрица.

InputProcessing ненастраиваемое свойство. Это может быть установлено только во время объектной конструкции с помощью Name,Value аргументы и не могут быть изменены позже.

Значение по умолчанию: 'Sample-based'

Выходные аргументы

свернуть все

Системный объект для онлайновой оценки параметра, возвращенной как a recursiveLS Системный объект. Использование step команда, чтобы оценить параметры системы. Можно затем получить доступ к предполагаемым параметрам и ковариации параметра с помощью записи через точку. Например, введите obj.Parameters просмотреть предполагаемые параметры.

Советы

  • Запуск в R2016b, вместо того, чтобы использовать step команда, чтобы обновить оценки параметра модели, можно вызвать Системный объект с входными параметрами, как будто это была функция. Например, [theta,EstimatedOutput] = step(obj,y,H) и [theta,EstimatedOutput] = obj(y,H) выполните эквивалентные операции.

Расширенные возможности

Введенный в R2015b