prescale
状態空間モデルの最適なスケーリング
構文
scaledsys = prescale(sys)
scaledsys = prescale(sys,focus)
[scaledsys,info] = prescale(...)
prescale(sys)
説明
scaledsys = prescale(sys)
は、状態空間モデル sys
の状態ベクトル要素をスケーリングして、連続した周波数領域の解析精度を最大化します。スケーリングしたモデル scaledsys
は、sys
と等価です。
scaledsys = prescale(sys,focus)
は精度を最大化するための周波数範囲 focus
= {fmin
,fmax
} (rad/TimeUnit
単位、ここで TimeUnit
は sys
の TimeUnit
プロパティで指定されたシステムの時間単位) を指定します。これは、sys
が遅いダイナミクスと速いダイナミクスをもち、スケーリングがダイナミック レンジ全体で高い精度に達しない場合に有効です。既定では、prescale
は支配的なダイナミクスの周波数帯域で精度を高めようとします。
[scaledsys,info] = prescale(...)
は次の表に一覧表示されているフィールドを含む構造体 info
を返します。
SL | 左側のスケーリング係数 |
SR | 右側のスケーリング係数 |
Freqs | 精度をテストするために使われる周波数 |
RelAcc | これらの周波数で保証される相対精度 |
テスト周波数は、指定された場合、周波数範囲 focus
内になります。スケーリングした状態空間行列は次のようになります。
ここで、TL = diag(SL) および TR = diag(SR)。TL および TR は、明示的なモデル (E = [ ]) に対して互いに逆です。
prescale(sys)
は次の役割を果たす対話型 GUI を開きます。
sys
の精度のトレードオフを視覚化するsys
の精度を最大化した周波数区間を調整する
スケーリングおよびスケーリング ツールの GUI の詳細は、状態空間モデルのスケーリングを参照してください。
ヒント
ほとんどの周波数領域解析コマンドは、scaledsys = prescale(sys)
と等価な自動スケーリングを実行します。
時間領域のシミュレーションではスケーリングが必要ないため、スケーリングを行うと、initial
と lsim
シミュレーションで使用される初期条件 x0
が無効になる可能性があります。
バージョン履歴
R2008b で導入