Main Content

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 単位、ここで TimeUnitsysTimeUnit プロパティで指定されたシステムの時間単位) を指定します。これは、sys が遅いダイナミクスと速いダイナミクスをもち、スケーリングがダイナミック レンジ全体で高い精度に達しない場合に有効です。既定では、prescale は支配的なダイナミクスの周波数帯域で精度を高めようとします。

[scaledsys,info] = prescale(...) は次の表に一覧表示されているフィールドを含む構造体 info を返します。

SL左側のスケーリング係数
SR右側のスケーリング係数
Freqs精度をテストするために使われる周波数
RelAccこれらの周波数で保証される相対精度

テスト周波数は、指定された場合、周波数範囲 focus 内になります。スケーリングした状態空間行列は次のようになります。

As=TLATRBs=TLBCs=CTREs=TLETR

ここで、TL = diag(SL) および TR = diag(SR)。TL および TR は、陽的なモデル (E = [ ]) に対して互いに逆です。

prescale(sys) は次の役割を果たす対話型 GUI を開きます。

  • sys の精度のトレードオフを視覚化する

  • sys の精度を最大化した周波数区間を調整する

スケーリングおよびスケーリング ツールの GUI の詳細は、状態空間モデルのスケーリングを参照してください。

ヒント

ほとんどの周波数領域解析コマンドは、scaledsys = prescale(sys) と等価な自動スケーリングを実行します。

時間領域のシミュレーションではスケーリングが必要ないため、スケーリングを行うと、initiallsim シミュレーションで使用される初期条件 x0 が無効になる可能性があります。

バージョン履歴

R2008b で導入

参考