exponenta event banner

клон

Копировать объект оценки состояния в режиме онлайн

Синтаксис

Описание

пример

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.

Представлен в R2016b