ヘルプ センターヘルプ センター
このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
並列形式 PID コントローラーのアクセス係数
[Kp,Ki,Tf] = piddata(sys)
[Kp,Ki,Kd,Tf,Ts] = piddata(sys)
[Kp,Ki,Kd,Tf,Ts] = piddata(sys,J,J1,...,JN)
例
[Kp,Ki,Tf] = piddata(sys) は PID ゲイン Kp、Ki、Kd、および動的システムの sys で表される、並列形式コントローラーのフィルター時定数 Tf を返します。
Kp
Ki
Tf
sys
Kd
[Kp,Ki,Kd,Tf,Ts] = piddata(sys) はサンプル時間 Ts も返します。
Ts
[Kp,Ki,Kd,Tf,Ts] = piddata(sys,J,J1,...,JN) は、sys におけるエントリのサブセットのデータを抽出します。ここで、sys は動的システムの N 次元配列です。インデックス J は、抽出する配列エントリを指定します。
J
すべて折りたたむ
通常は、pidtune や getBlockValue などの別の関数によって取得したコントローラーから係数を抽出します。この例では、乱数の係数をもつ PID コントローラーを作成します。
pidtune
getBlockValue
rng('default'); % for reproducibility C = pid(rand,rand,rand,rand);
PID ゲインとフィルター時定数を抽出します。
[Kp,Ki,Kd,Tf] = piddata(C)
Kp = 0.8147
Ki = 0.9058
Kd = 0.1270
Tf = 0.9134
PI コントローラーを標準形式で作成します。
C = pidstd(2,3)
C = 1 1 Kp * (1 + ---- * ---) Ti s with Kp = 2, Ti = 3 Continuous-time PI controller in standard form
等価な並列形式 PID コントローラーのゲインを計算します。
[Kp,Ki] = piddata(C)
Kp = 2
Ki = 0.6667
微分フィルターをもつ有効な離散時間の並列形式 PID コントローラーを表す動的システムから係数を抽出します。
H(z)=(z-0.5)(z-0.6)(z-1)(z+0.8)
H = zpk([0.5 0.6],[1,-0.8],1,0.1);
[Kp,Ki,Kd,Tf,Ts] = piddata(H)
Kp = 0.4383
Ki = 1.1111
Kd = 0.0312
Tf = 0.0556
Ts = 0.1000
離散時間システムでは、piddata が既定の ForwardEuler 離散積分器の式を IFormula と DFormula の両方に使用して、係数値を計算します。
piddata
ForwardEuler
IFormula
DFormula
通常は、プラント モデルの配列の pidtune を使用して、コントローラーの配列を取得します。この例では PI コントローラーの 2 行 3 列の配列を乱数値の Kp および Ki で作成します。
rng('default'); C = pid(rand(2,3),rand(2,3));
配列からすべての係数を抽出します。
[Kp,Ki] = piddata(C);
各出力は、それ自体が 2 行 3 列の配列です。たとえば、Ki を調べます。
Ki = 2×3 0.2785 0.9575 0.1576 0.5469 0.9649 0.9706
配列のエントリ (2,1) の係数のみを抽出します。
[Kp,Ki] = piddata(C,2,1)
Kp = 0.9058
Ki = 0.5469
sys が pid オブジェクトではない場合、それは並列 PID 形式で記述できる、有効な PID コントローラーを表現しなければなりません。
pid
モデル配列 sys から抽出するエントリのインデックス。正の整数として指定します。sys における配列の次元数と同じ数のインデックスを指定します。
例: たとえば、sys が、pid コントローラーの 4 行 5 列の (2 次元) 配列か、または PID コントローラーを表す動的システム モデルであるとします。次のコマンドは、配列のエントリ (2,3) のデータを抽出します。
[Kp,Ki,Kd,Tf,Ts] = piddata(sys,2,3);
sys が pid コントローラー オブジェクトの場合、出力 Kp は sys の Kp 値と等しくなります。
sys が pid オブジェクトでない場合、Kp は sys と等価な並列形式 PID コントローラーの比例ゲインとなります。
sys が動的システムの配列の場合、Kp は sys と同じ次元の配列となります。
sys が pid コントローラー オブジェクトの場合、出力 Ki は sys の Ki 値と等しくなります。
sys が pid オブジェクトではない場合、Ki は sys と等価な並列 PID コントローラーの積分ゲインとなります。
sys が動的システムの配列の場合、Ki は sys と同じ次元の配列となります。
sys が pid コントローラー オブジェクトの場合、出力 Kd は sys の Kd 値と等しくなります。
sys が pid オブジェクトではない場合、Kd は sys と等価な並列 PID コントローラーの微分ゲインとなります。
sys が動的システムの配列の場合、Kd は sys と同じ次元の配列となります。
sys が pid コントローラー オブジェクトの場合、出力 Tf は sys の Tf 値と等しくなります。
sys が pid オブジェクトでない場合、Tf は sys と等価な並列形式 PID コントローラーのフィルター時定数となります。
sys が動的システムの配列の場合、Tf は sys と同じ次元の配列となります。
動的システム sys のサンプル時間 Ts は常にスカラー値です。
sys が pid コントローラー オブジェクトでない場合、piddata は Kp、Ki、Kd、および sys と等価な並列形式コントローラーのフィルター時定数 Tf を返します。
離散時間 sys の場合、piddata は等価な並列形式コントローラーのパラメーターを返します。このコントローラーは、ForwardEuler に設定された離散積分器の式 IFormula と DFormula をもちます。離散積分器の式の詳細は、pid のリファレンス ページを参照してください。
R2010b で導入
pid | pidstd | get
pidstd
get
次の 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:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office