клон

Скопируйте онлайновый объект оценки состояния

Синтаксис

obj_clone = clone(obj)

Описание

пример

obj_clone = clone(obj) создает копию онлайнового объекта obj оценки состояния с теми же значениями свойств.

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

Примеры

свернуть все

Создайте расширенный объект Фильтра Калмана для осциллятора Ван дер Поля с двумя состояниями и одним выводом. Чтобы создать объект, используйте ранее записанные и сохраненные функции изменения состояния и измерения, vdpStateFcn.m и vdpMeasurementFcn.m. Задайте значения начального состояния для двух состояний как [2; 0].

obj = extendedKalmanFilter(@vdpStateFcn,@vdpMeasurementFcn,[2;0])
obj = 
  extendedKalmanFilter with properties:

        HasAdditiveProcessNoise: 1
             StateTransitionFcn: @vdpStateFcn
    HasAdditiveMeasurementNoise: 1
                 MeasurementFcn: @vdpMeasurementFcn
     StateTransitionJacobianFcn: []
         MeasurementJacobianFcn: []
                          State: [2x1 double]
                StateCovariance: [2x2 double]
                   ProcessNoise: [2x2 double]
               MeasurementNoise: 1

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

obj2 = clone(obj)
obj2 = 
  extendedKalmanFilter with properties:

        HasAdditiveProcessNoise: 1
             StateTransitionFcn: @vdpStateFcn
    HasAdditiveMeasurementNoise: 1
                 MeasurementFcn: @vdpMeasurementFcn
     StateTransitionJacobianFcn: []
         MeasurementJacobianFcn: []
                          State: [2x1 double]
                StateCovariance: [2x2 double]
                   ProcessNoise: [2x2 double]
               MeasurementNoise: 1

Измените свойство MeasurementNoise obj2.

obj2.MeasurementNoise = 2;

Проверьте, что свойство MeasurementNoise исходного объекта obj остается неизменным и равняется 1.

obj.MeasurementNoise
ans = 1

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

свернуть все

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

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

свернуть все

Клон онлайнового объекта obj оценки состояния, возвращенного как extendedKalmanFilter, объект unscentedKalmanFilter или particleFilter с теми же свойствами как obj.

Введенный в R2017b