exponenta event banner

recursiveLS

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

Синтаксис

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

С интерактивными объектами системы оценки в Toolbox™ Идентификация системы можно использовать следующие команды:

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

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

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

release

Разблокируйте объект System. Эта команда используется для включения настройки неперестраиваемых параметров.

reset

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

clone

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

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

isLocked

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

Используйте 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, системы.

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

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 представляют собой параметры

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

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=[u1u0u2u1⋮⋮u10u9],

где самая последняя точка в кадре - 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

Окончательные оценки идентичны выборочной оценке.

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

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

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

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

свернуть все

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

Исходное значение параметров, указанное как одно из следующих:

  • Скаляр (Scalar) - все параметры имеют одинаковое начальное значение.

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

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

Примечание

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

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

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

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

Свойства

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

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

obj = recursiveLS;
obj.ForgettingFactor = 0.99;

NumberOfParameters

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

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

По умолчанию: 1

Parameters

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

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

InitialParameters

Исходные значения параметров, указанные как одно из следующих:

  • Скаляр (Scalar) - все параметры имеют одинаковое начальное значение.

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

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

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

По умолчанию: 1

InitialOutputs

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

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

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

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

Определить InitialOutputs только когда History является Finite.

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

По умолчанию: 0

InitialRegressors

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

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

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

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

Определить InitialRegressors только когда History является Finite.

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

По умолчанию: 0

ParameterCovariance

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

ParameterCovariance применима только тогда, когда EstimationMethod является 'ForgettingFactor' или 'KalmanFilter' или когда History является Finite.

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

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

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

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

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

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

InitialParameterCovariance

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

  • Вещественный положительный скаляр, α - ковариационная матрица - диагональная матрица N-на-N, с α в качестве диагональных элементов. N - количество оцениваемых параметров.

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

  • N-на-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 или 1- step команда оценивает значения параметров для этого временного шага и обновляет значения параметров.

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

    Примечание

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

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

По умолчанию: true

DataType

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

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

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

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

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

По умолчанию: 'double'

ProcessNoiseCovariance

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

  • Вещественный неотрицательный скаляр, α - ковариационная матрица - диагональная матрица N-на-N, с α в качестве диагональных элементов.

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

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

N - количество оцениваемых параметров.

ProcessNoiseCovariance применяется, когда EstimationMethod является 'KalmanFilter'.

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

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

По умолчанию: 0.1

AdaptationGain

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

AdaptationGain применяется, когда EstimationMethod является 'Gradient' или 'NormalizedGradient'.

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

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

По умолчанию: 1

NormalizationBias

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

NormalizationBias применяется, когда EstimationMethod является 'NormalizedGradient'.

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

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

По умолчанию: eps

History

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

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

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

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

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

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

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

По умолчанию: 'Infinite'

WindowLength

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

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

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-by-Np вектор, где Np - количество параметров.

    • Frame-based с M выборок на кадр

      • y и EstimatedOutput являются M-by-1 векторами.

      • H является M-by-Np матрица.

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

По умолчанию: 'Sample-based'

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

свернуть все

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

Совет

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

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

.
Представлен в R2015b