このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
predict
拡張カルマン フィルター、アンセンテッド カルマン フィルター、または粒子フィルターを使用した次のタイム ステップにおける状態および状態推定誤差の共分散の予測
構文
説明
predict
コマンドは、次のタイム ステップで extendedKalmanFilter
オブジェクト、unscentedKalmanFilter
オブジェクトまたは particleFilter
オブジェクトの状態および状態推定誤差の共分散を予測します。拡張カルマン フィルター アルゴリズムまたはアンセンテッド カルマン フィルター アルゴリズムを実装するには、predict
コマンドと correct
コマンドを一緒に使用します。現在の出力測定値が存在する場合、predict
と correct
を使用できます。測定値がない場合は、predict
のみを使用できます。コマンドの使用順序の詳細については、predict コマンドと correct コマンドの使用を参照してください。
[
は、次のタイム ステップで拡張カルマン フィルター オブジェクト、アンセンテッド カルマン フィルター オブジェクト、または粒子フィルター オブジェクト PredictedState
,PredictedStateCovariance
] = predict(obj
)obj
の状態推定および状態推定誤差の共分散を予測します。
extendedKalmanFilter
コマンド、unscentedKalmanFilter
コマンド、または particleFilter
コマンドを使用して obj
を作成します。非線形システムの状態遷移関数と測定関数を obj
に指定します。また、これらの関数においてプロセス ノイズ項と測定ノイズ項が加法性であるか非加法性であるかを指定します。オブジェクトの State
プロパティには最新の推定状態値が格納されます。タイム ステップ k
で、obj.State
が であると仮定します。この値は、時間 k
の状態推定であり、時間 k
までに測定された出力を使用して推定されます。predict
コマンドを使用すると、PredictedState
出力に が返されます。 は時間 k+1
の状態推定であり、時間 k
までに測定された出力を使用して推定されます。コマンドは の状態推定誤差の共分散を PredictedStateCovariance
出力に返します。ソフトウェアはまた、これらの修正された値をもつ obj
の State
プロパティと StateCovariance
プロパティを更新します。
obj.StateTransitionFcn
で指定した状態遷移関数 f が次のいずれかの形式をとる場合、この構文を使用します。
x(k) = f(x(k-1))
— 加法性プロセス ノイズの場合。x(k) = f(x(k-1),w(k-1))
— 非加法性プロセス ノイズの場合。
ここで x
と w
はシステムの状態とプロセス ノイズです。f への入力は、状態とプロセス ノイズのみです。
システムの状態遷移関数にこれらの入力が必要な場合、[
は追加の入力引数を指定します。複数の引数を指定できます。PredictedState
,PredictedStateCovariance
] = predict(obj
,Us1,...Usn
)
状態遷移関数 f が次のいずれかの形式をとる場合、この構文を使用します。
x(k) = f(x(k-1),Us1,...Usn)
— 加法性プロセス ノイズの場合。x(k) = f(x(k-1),w(k-1),Us1,...Usn)
— 非加法性プロセス ノイズの場合。
例
入力引数
出力引数
詳細
バージョン履歴
R2016b で導入