predict
拡張カルマン フィルター、アンセンテッド カルマン フィルター、または粒子フィルターを使用した次のタイム ステップにおける状態および状態推定誤差の共分散の予測
構文
説明
predict コマンドは、次のタイム ステップで extendedKalmanFilter オブジェクト、unscentedKalmanFilter オブジェクトまたは particleFilter オブジェクトの状態および状態推定誤差の共分散を予測します。拡張カルマン フィルター アルゴリズムまたはアンセンテッド カルマン フィルター アルゴリズムを実装するには、predict コマンドと correct コマンドを一緒に使用します。現在の出力測定値が存在する場合、predict と correct を使用できます。測定値がない場合は、predict のみを使用できます。コマンドの使用順序の詳細については、predict コマンドと correct コマンドの使用を参照してください。
この predict コマンドを使用して、リアルタイム データを使ったオンライン状態推定を行います。リアルタイムのデータが使用できない場合、同定されたモデルの K ステップ先の出力を計算するには predict を使用してオフラインの推定を行います。
[ は、次のタイム ステップで拡張カルマン フィルター オブジェクト、アンセンテッド カルマン フィルター オブジェクト、または粒子フィルター オブジェクト 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 で導入


