主要内容

克隆

复制在线状态估计对象

描述

例子

obj_clone=克隆(obj创建在线状态估计对象的副本obj具有相同的属性值。

如果要复制现有对象,然后修改被复制对象的属性,请使用克隆命令。不使用语法创建额外的对象Obj2 = obj.以这种方式创建的新对象的属性所做的任何更改(methoda)也会改变原始对象的属性(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

使用克隆生成与原始对象具有相同属性的对象。

Obj2 =克隆(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的属性methoda

methoda。测量噪声= 2;

验证MeasurementNoise原对象属性obj保持不变,等于1。

obj。MeasurementNoise
Ans = 1

输入参数

全部折叠

对象,用于非线性系统的在线状态估计,使用以下命令之一创建:

输出参数

全部折叠

在线状态估计对象的克隆obj,作为extendedKalmanFilterunscentedKalmanFilterparticleFilter具有相同属性的obj

在R2016b中引入