1

制御対象の Simulink に連続システムがあるとします。まず、システムの状態を推定するためにカルマン フィルターを適用します。次の段階では、次のようx_hatにモデル予測コントローラー関数を呼び出す埋め込み MATLAB 関数で、推定された状態 ( )を使用します。my_mpc

function [u]= emd_fcn(x_hat , r,  t,  Ts)  

      % x_hat:  estimated state,  r: reference to be tracked, 
      t: clock time,   Ts: sampling  period

      %#codegen
      coder.extrinsic('my_mpc');  % to call the function my_mpc 

       ----- % some initialization code

      if mod(t, Ts)==0

            u=my_mpc(x, r)

      else
            u=-----; % some code.

      end


end  

ただし、時刻tは可変であるmod(t, Ts) == 0ため、そうではありません。私の質問は次のとおりです。離散 mpc 制御入力を連続システムに適用するために、サンプリングの瞬間をどのように検出できますか?

4

1 に答える 1

0

コントローラーを個別にするだけです。MATLAB Function ブロックを右クリックし、[ブロック パラメーター] を選択して、離散サンプル時間を指定します。

于 2014-08-16T22:58:15.060 に答える