MATLAB ヘルプ センター
このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
低速/高速分解
[G1,G2] = freqsep(G,fcut)
[G1,G2] = freqsep(G,[fmin,fmax])
[G1,G2] = freqsep(G,___,SepTol=st)
[G1,G2,info] = freqsep(___)
[G1,G2] = freqsep(G,fcut) は、線形動的システムを、指定されたカットオフ周波数で低速成分と高速成分に分解します。分解は G = G1 + G2 です。ここで、G1 には固有振動数が fcut 未満のすべてのモードが含まれます。
G1
G2
G
fcut
例
[G1,G2] = freqsep(G,[fmin,fmax]) は、G1 に固有振動数 fmin ≤ ωn ≤ fmax のすべてのモードが含まれ、G2 に残りのモードが含まれる分解を計算します。 (R2023b 以降)
[fmin,fmax]
[G1,G2] = freqsep(G,___,SepTol=st) は、精度損失係数を st と等しく設定します。 (R2023b 以降)
st
[G1,G2,info] = freqsep(___) は、ブロック対角化変換行列が含まれている構造体 info を返します。 (R2023b 以降)
info
すべて折りたたむ
動的システム モデルを読み込みます。
load numdemo Pd bode(Pd)
Pd には 4 つの複素数の極と 1 つの実極があります。ボード線図には 210 rad/s 付近の共振と 10,000 rad/s 未満の高周波共振が示されています。
Pd
このモデルを 1000 rad/s 付近で分解してこれら 2 つの共振を分離します。
[Gs,Gf] = freqsep(Pd,10^3); bode(Pd,Gs,Gf) legend('original','slow','fast','Location','Southwest')
ボード線図には、低速成分 Gs に低周波数の共振のみが含まれることが示されます。また、この成分は元のモデルの DC ゲインと一致します。高速成分 Gf には高周波数の共振が含まれ、高周波における元のモデルの応答に一致します。2 つの成分の和 Gs+Gf は元のモデルになります。
Gs
Gf
Gs+Gf
モデルを、間隔が狭い極の間で低速成分と高速成分に分解します。
次のシステムには、実極と複素共役極が含まれ、すべて s = -2 の近くにあります。
G = zpk(-.5,[-1.9999 -2+1e-4i -2-1e-4i],10);
低速成分に実極、高速成分に複素共役極が含まれるように、モデルを約 2 rad/s で分解します。
[Gs,Gf] = freqsep(G,2);
Warning: One or more fast modes could not be separated from the slow modes. To force separation, relax the accuracy constraint by increasing the "SepTol" factor (see "freqsepOptions" for details).
これらの極は間隔が狭すぎて freqsep では分離できません。分離できるように相対許容誤差を増加させます。
freqsep
[Gs,Gf] = freqsep(G,2,SepTol=5e10);
今度は freqsep によりダイナミクスが分離されます。
slowpole = pole(Gs)
slowpole = -1.9999
fastpole = pole(Gf)
fastpole = 2×1 complex -2.0000 + 0.0001i -2.0000 - 0.0001i
この例では、モデルを分解し、freqsep を使用して指定した周波数範囲のモードを保持する方法を説明します。
モデル Gms を読み込み、その周波数応答を調べます。
Gms
load modeselect Gms bodeplot(Gms)
freqsep を使用して、周波数範囲 0.1 rad/s ~ 50 rad/s のダイナミクスを保持します。
[G1,G2] = freqsep(Gms,[0.1,50]);
この分解では、出力 G1 には固有振動数が [0.1,50] の範囲内であるすべての極が含まれ、G2 には残りの極が含まれます。
[0.1,50]
bodeplot(Gms,G1,G2) legend
分解する動的システム。ss または tf モデルなどの数値 LTI モデルとして指定します。
ss
tf
高速/低速分解のカットオフ周波数。正のスカラーとして指定します。出力 G1 には固有振動数が fcut 未満であるすべての極が含まれます。出力 G2 には固有振動数が fcut 以上であるすべての極が含まれます。
R2023b 以降
分解の周波数範囲。2 要素ベクトルとして指定します。出力 G1 には固有振動数が [fmin,fmax] の範囲内であるすべての極が含まれます。出力 G2 には残りの極が含まれます。
低速/高速分解の精度損失係数。非負のスカラー値として指定します。freqresp では、元のシステム G と分解されたシステムの和 G1+G2 の周波数応答の差が、G(s) の計算された値の絶対精度の SepTol 倍以下であることが保証されます。SepTol を増やすことは、精度を犠牲にして、低速/高速の境界をまたぐモードを分離するのに役立ちます。
freqresp
G1+G2
G(s)
SepTol
分解されたシステムの低速ダイナミクス。G と同じタイプの数値 LTI モデルとして返されます。G1 には、G の極のうち固有振動数が fcut 未満のものがすべて含まれ、G = G1 + G2 となります。
分解されたシステムの高速ダイナミクス。G と同じタイプの数値 LTI モデルとして返されます。Gf には、G の極のうち固有振動数が fcut 以上であるものがすべて含まれ、G = G1 + G2 となります。
[]
分解に関する追加情報。次のフィールドをもつ構造体として返されます。
TL
TR
アルゴリズムはモデル G の状態空間実現 (A, B, C, D) を以下に変換します。
TLATR=(A100A2),TLB=(B1B2),CTR=(C1C2)
入力モデル G が状態空間モデルでない場合、関数はこの引数に対して空の値 [] を返します。
Model Reducer
モデル次数の低次元化
すべて展開する
新しい構文 [G1,G2] = freqsep(G,[fmin,fmax]) は、G1 に固有振動数が [fmin,fmax] の範囲内であるすべての極が含まれ、G2 に残りの極が含まれる分解を得る場合に使用します。
R2023b 以降では、名前と値の引数として SepTol オプションを直接指定できます。以下に例を示します。
[G1,G2] = freqsep(G,2,SepTol=1e9);
この変更の結果として、freqsepOptions および構文 [Gs,Gf] = freqsep(G,fcut,options) は推奨されません。
freqsepOptions
[Gs,Gf] = freqsep(G,fcut,options)
Model Reducer | モデル次数の低次元化
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ