viewSurf
スケジューリング変数の関数としてのゲイン曲面の可視化
説明
viewSurf(
は、1 次元または 2 次元のゲイン曲面の値をスケジューリング変数の関数としてプロットします。GS
)GS
は調整可能なゲイン曲面で、tunableSurface
で作成します。プロットでは、GS.SamplingGrid
で指定された独立変数の値が使用されます。2 次元のゲイン曲面の場合、GS.SamplingGrid
の設計点は四角形のグリッド上になければなりません。
例
ゲイン曲面の表示
2 つの独立変数に依存する調整可能なゲイン曲面を表示します。
2 つのスケジューリング変数 および V に次のように双線形従属する、スカラー ゲイン K をモデル化します。
ここで、x と y は正規化されたスケジューリング変数です。 は 0 ~ 15 度の範囲の入射角で、V は 300 ~ 600 m/s の範囲の速度であると仮定します。x と y は次のように表されます。
係数 は、この変数ゲインの調整可能なパラメーターです。tunableSurface
を使用してこの変数ゲインをモデル化します。
[alpha,V] = ndgrid(0:1.5:15,300:30:600); domain = struct('alpha',alpha,'V',V); shapefcn = @(x,y) [x,y,x*y]; K = tunableSurface('K',1,domain,shapefcn);
一般的には、制御システムの一部として係数を調整します。その後、setBlockValue
または setData
を使用して調整後の係数を K
に書き戻し、調整されたゲイン曲面を表示します。この例では、調整する代わりに係数をゼロ以外の値に手動で設定し、結果のゲインを表示しています。
Ktuned = setData(K,[100,28,40,10]); viewSurf(Ktuned)
viewSurf
を実行すると、domain
で指定され Ktuned.SamplingGrid
に格納されている値の範囲に対し、ゲイン曲面がスケジューリング変数の関数として表示されます。
指定したブレークポイントのゲイン曲面のプロット
ゲイン曲面で指定された点とは別の設計点で評価した 1 次元のゲイン曲面を表示します。
tunableSurface
を使用してゲイン曲面を作成するときは、ゲイン係数を調整する設計点を指定します。これらの点は、一般的には、プラントをサンプリングまたは線形化したスケジューリング変数の値になります。ただし、指定された設計点とは別のブレークポイントをもつルックアップ テーブルとしてゲイン曲面を実装する場合もあります。この例では、一連の設計点をもつゲイン曲面を作成し、それとは別の一連のスケジューリング変数の値を使用して曲面を表示します。
1 つのスケジューリング変数 t の二次関数として変化するスカラー ゲインを作成します。t = 0 から t = 40 まで、5 秒ごとにプラントを線形化してあると仮定します。
t = 0:5:40; domain = struct('t',t); shapefcn = @(x) [x,x^2]; GS = tunableSurface('GS',1,domain,shapefcn);
一般的には、制御システムの一部として係数を調整します。この例では、調整する代わりに係数をゼロ以外の値に手動で設定しています。
GS = setData(GS,[12.1,4.2,2]);
別の一連の時間の値で評価したゲイン曲面をプロットします。
tvals = [0,4,11,18,25,32,39,42];
viewSurf(GS,'t',tvals)
このプロットでは、domain
で指定された設計点ではなく、tvals
で指定された点で折れ曲がったゲイン曲線が表示されます。また、tvals
には、domain
のスケジューリング変数の範囲から外れた値も含まれています。外挿の範囲が調整に使用された値の範囲から離れすぎていると、警告が表示されます。
2 次元のゲイン曲面の 1 次元投影の表示
2 つの独立変数に依存するゲイン曲面について、ゲイン曲面の値を 1 つの独立変数の関数としてプロットします。
2 つの独立変数 および V の双一次関数であるゲイン曲面を作成します。
[alpha,V] = ndgrid(0:1.5:15,300:30:600); domain = struct('alpha',alpha,'V',V); shapefcn = @(x,y) [x,y,x*y]; GS = tunableSurface('GS',1,domain,shapefcn);
一般的には、制御システムの一部として係数を調整します。この例では、調整する代わりに係数をゼロ以外の値に手動で設定しています。
GS = setData(GS,[100,28,40,10]);
選択した V の値でゲインをプロットします。
Vplot = [300:50:600];
viewSurf(GS,'V',Vplot);
viewSurf
は、指定された V の値でゲイン曲面を評価し、domain
内の のすべての値について V への依存関係をプロットします。プロットのいずれかのラインをクリックすると、対応する の値が表示されます。このプロットは、1 つの独立変数によるゲインの全範囲の変動を可視化する場合に便利です。
指定したブレークポイントの 2 次元のゲイン曲面のプロット
ゲイン曲面で指定された設計点とは別のスケジューリング変数の値で評価した 2 次元のゲイン曲面を表示します。
tunableSurface
を使用してゲイン曲面を作成するときは、ゲイン係数を調整する設計点を指定します。これらの点は、一般的には、プラントをサンプリングまたは線形化したスケジューリング変数の値になります。ただし、指定された設計点とは別のブレークポイントをもつルックアップ テーブルとしてゲイン曲面を実装する場合もあります。この例では、一連の設計点をもつゲイン曲面を作成し、それとは別の一連のスケジューリング変数の値を使用して曲面を表示します。
2 つの独立変数 および V の双一次関数であるゲイン曲面を作成します。
[alpha,V] = ndgrid(0:1.5:15,300:30:600); domain = struct('alpha',alpha,'V',V); shapefcn = @(x,y) [x,y,x*y]; GS = tunableSurface('GS',1,domain,shapefcn);
一般的には、制御システムの一部として係数を調整します。この例では、調整する代わりに係数をゼロ以外の値に手動で設定しています。
GS = setData(GS,[100,28,40,10]);
選択した および V の値でゲインをプロットします。
alpha_vec = [7:1:13]; V_vec = [500:25:625]; viewSurf(GS,'alpha',alpha_vec,'V',V_vec);
ゲイン曲面を評価するブレークポイントは、domain
で指定された範囲内でなくてもかまいません。ただし、ゲインを評価する範囲が調整に使用された範囲から離れすぎていると、警告が表示されます。
ブレークポイントは等間隔にする必要もありません。また、スケジューリング変数を任意の順序で指定することで曲面の形状を異なる視点から確認できます。最初に指定した変数がプロットの X 軸として使用されます。
alpha_vec2 = [1,3,6,10,15]; V_vec2 = [300,350,425,575]; viewSurf(GS,'V',V_vec2,'alpha',alpha_vec2);
入力引数
GS
— ゲイン曲面
tunableSurface
オブジェクト
プロットするゲイン曲面。tunableSurface
オブジェクトとして指定します。GS
は 1 つまたは 2 つのスケジューリング変数に依存し、スカラー値でなければなりません。
xvar
— X 軸の変数
文字ベクトル
プロットの X 軸の変数。文字ベクトルとして指定します。変数名 xvar
は GS.SamplingGrid
のスケジューリング変数名と一致しなければなりません。
xdata
— X 軸の変数の値
数値ベクトル
ゲイン曲面を評価してプロットする X 軸の変数の値。数値ベクトルとして指定します。
yvar
— Y 軸の変数
文字ベクトル
プロットの Y 軸の変数。文字ベクトルとして指定します。変数名 yvar
は GS.SamplingGrid
のスケジューリング変数名と一致しなければなりません。
ydata
— Y 軸の変数の値
数値ベクトル
ゲイン曲面を評価してプロットする Y 軸の変数の値。数値ベクトルとして指定します。
バージョン履歴
R2015b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)