MATLAB 帮助中心
本页采用了机器翻译。点击此处可查看英文原文。
复制在线状态估计对象
obj_clone = clone(obj)
obj_clone = clone(obj) 会创建一个与在线状态估计对象 obj 具有相同属性值的副本。
obj_clone
obj
如果要复制一个现有对象,然后修改该复制的对象的属性,请使用 clone 命令。请勿使用语法 obj2 = obj 创建额外的对象。对以这种方式创建的新对象 (obj2) 的属性所做的任何更改,也会改变原始对象 (obj) 的属性。
clone
obj2 = obj
obj2
示例
全部折叠
为一个具有两个状态和一个输出的范德波尔振荡器创建一个扩展卡尔曼滤波器对象。要创建该对象,请使用之前编写并保存的状态转移函数和测量函数 vdpStateFcn.m 和 vdpMeasurementFcn.m。将这两个状态的初始值指定为 [2;0]。
vdpStateFcn.m
vdpMeasurementFcn.m
obj = extendedKalmanFilter(@vdpStateFcn,@vdpMeasurementFcn,[2;0])
obj = extendedKalmanFilter with properties: HasAdditiveProcessNoise: 1 StateTransitionFcn: @vdpStateFcn HasAdditiveMeasurementNoise: 1 MeasurementFcn: @vdpMeasurementFcn StateTransitionJacobianFcn: [] MeasurementJacobianFcn: [] State: [2×1 double] StateCovariance: [2×2 double] ProcessNoise: [2×2 double] MeasurementNoise: 1 HasMeasurementWrapping: 0
使用 clone 生成一个与原始对象具有相同属性的对象。
obj2 = clone(obj)
obj2 = extendedKalmanFilter with properties: HasAdditiveProcessNoise: 1 StateTransitionFcn: @vdpStateFcn HasAdditiveMeasurementNoise: 1 MeasurementFcn: @vdpMeasurementFcn StateTransitionJacobianFcn: [] MeasurementJacobianFcn: [] State: [2×1 double] StateCovariance: [2×2 double] ProcessNoise: [2×2 double] MeasurementNoise: 1 HasMeasurementWrapping: 0
修改 obj2 的 MeasurementNoise 属性。
MeasurementNoise
obj2.MeasurementNoise = 2;
请确认原始对象 obj 的 MeasurementNoise 属性保持不变且等于 1。
obj.MeasurementNoise
ans = 1
extendedKalmanFilter
unscentedKalmanFilter
particleFilter
用于非线性系统在线状态估计的对象,由以下任一命令创建:
在线状态估计对象 obj 的克隆,返回时为 extendedKalmanFilter、unscentedKalmanFilter 或 particleFilter 对象,其属性与 obj 相同。
在 R2016b 中推出
predict | correct | extendedKalmanFilter | unscentedKalmanFilter | particleFilter | initialize
predict
correct
initialize
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处