Main Content

clone

オンライン状態推定オブジェクトをコピー

説明

obj_clone = clone(obj) は、同じプロパティ値をもつ obj オンライン状態推定オブジェクトのコピーを作成します。

既存のオブジェクトをコピーし、コピーしたオブジェクトのプロパティを変更する場合は、clone コマンドを使用します。構文 obj2 = obj を使用した追加のオブジェクトは作成しません。この方法 (obj2) で作成された新しいオブジェクトのプロパティに加えられたすべての変更によって、元のオブジェクト (obj) のプロパティも変更されます。

すべて折りたたむ

2 つの状態と 1 つの出力を使用して、ファン デル ポール振動子の拡張カルマン フィルター オブジェクトを作成します。オブジェクトを作成するには、前に記述して保存した状態遷移関数 vdpStateFcn.m と測定関数 vdpMeasurementFcn.m を使用します。2 つの状態の初期状態の値を [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
         HasMeasurementWrapping: 0

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
         HasMeasurementWrapping: 0

obj2MeasurementNoise プロパティを変更します。

obj2.MeasurementNoise = 2;

元の obj オブジェクトの MeasurementNoise プロパティが変更されず、1 であることを確認します。

obj.MeasurementNoise
ans = 1

入力引数

すべて折りたたむ

次のいずれかのコマンドを使用して作成された、非線形システムのオンライン状態推定のためのオブジェクト。

出力引数

すべて折りたたむ

obj オンライン状態推定オブジェクトのクローン。obj と同じプロパティをもつ extendedKalmanFilterunscentedKalmanFilter、または particleFilter オブジェクトとして返されます。

バージョン履歴

R2016b で導入