Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

TF

伝達関数モデル

説明

TFを使用,実数または复素数値伝达モデルを作成するか,または動的システム モデルを伝達関数形式に変換します。

伝達関数は線形時不変システムの周波数領域表現です。たとえば、伝達関数系统(s) = N(s)/D(s)で表される連続時間 SISO 動的システムについて考えます。ここで、s = jwであり、N(s)D(s)はそれぞれ分子多項式および分母多項式と呼ばれます。TFモデル オブジェクトは SISO または MIMO 伝達関数を連続時間または離散時間で表現できます。

伝達関数モデル オブジェクトを作成するには、その係数を直接指定するか、あるいは (状態空間モデルSSなどの别のモデル伝达关数にすることができます。については,,伝達関数を参照しください。

TFを使用し,状态空间(genss) モデルや不確かさをもつ状態空間 (uss(Robust Control Toolbox))モデルをするもできます。

作成

説明

系统= tf(分子,denominator)は、Numeratorプロパティと分母プロパティをて连続の伝达关数をします。たとえば,伝达关数系统(s) = N(s)/D(s)で表される連続時間 SISO 動的システムについて考えます。入力引数の分子denominatorは、それぞれN(s)D(s)の係数です。

系统= tf(分子,denominator,TS)は、Numerator分母Tsの各プロパティを設定して離散時間の伝達関数モデルを作成します。たとえば、伝達関数系统(z) = N(z)/D(z)で表される離散時間 SISO 動的システムについて考えます。入力引数の分子denominatorは、それぞれN(z)d(z)の係数です。サンプル時間を未指定のままにするには、TS入力引数を-1に设定し。

系统= tf(分子,denominator,ltiSys)は、サンプル時間も含め、動的システム モデルltiSysから継承したプロパティをもつ伝達関数モデルを作成します。

系统= tf(m)は、静的ゲインmを表す关数モデル作成します。

系统= tf(___,姓名,Value)は、前述の任意の入力引数の組み合わせについて姓名,Valueのペアの引数を 1 つ以上使用して、伝達関数モデルのプロパティを設定します。

系统= tf(ltiSys)は、動的システム モデルltiSysを伝達関数モデルに変換します。

系统= tf(ltiSys,component)は、ltiSysの指定されたcomponentを伝達関数形式に変換します。この構文を使用するのは、ltiSysが同定された線形時不変 (LTI) モデルである場合のみです。

s = tf('s')は,の关数モデル作成するの有理で使用できる,特殊な変数sを作成します。有理式を使用すると、多項式係数を指定するよりも簡単でより直観的になる場合があります。

z = tf('z',TS)は,の关数モデル作成するの有理で使用できる,特殊な変数zを作成。サンプルを未指定ままするするはは,TS入力引数を-1に设定し。

入力引数

すべて展开する

伝達関数の分子係数。以下として指定します。

  • 多項式係数の行ベクトル。

  • 行ベクトルからなるNyNu细胞配列配列。はmimo伝达伝达关数指定,,,,Nyは出力の数、Nuは入力の数です。

伝達関数を作成するとき、分子係数は降べきの順に指定します。たとえば、伝達関数の分子が3s^2-4s+5の场合,分子[3 -4 5]として指定します。分子が2z-1である離散時間の伝達関数の場合、分子[2 -1]に设定し。

TFオブジェクトのプロパティでもあります。詳細については、Numeratorを参照しください。

分母系数以下として指定。。

  • 多項式係数の行ベクトル。

  • 行ベクトルからなるNyNu细胞配列配列。はmimo伝达伝达关数指定,,,,Nyは出力の数、Nuは入力の数です。

伝達関数を作成するとき、分母係数は降べきの順に指定します。たとえば、伝達関数の分母が7s^2+8s-9である場合、denominator[7 8 -9]として指定します。分母が2z^2+1である離散時間の伝達関数の場合、denominator[2 0 1]に设定し。

TFオブジェクトのプロパティでもあります。詳細については、分母を参照しください。

スカラーとして指定されたサンプル時間。TFオブジェクトのプロパティでもあります。詳細については、Tsを参照しください。

動的システム。SISO または MIMO動的システム モデルか、動的システム モデルの配列として指定します。使用できる動的システムには次のようなものがあります。

  • TFZPKSS,またはpidモデルなどの連続時間または離散時間の数値 LTI モデル。

  • genssuss(Robust Control Toolbox)モデルなど一般された,あるいは不确かさをもつもつもつもつもつもつモデルモデルモデルモデルモデルモデルモデルモデルモデルモデルモデルモデル不确不确不确不确不确かかかかかさささをををモデルモデルモデルを使用使用するするするにににににににににににににはははははは

    結果の伝達関数は次を仮定します。

    • 調整可能な制御設計ブロックについては調整可能なコンポーネントの現在値。

    • 不確かさをもつ制御設計ブロックについてはモデルのノミナル値。

  • idtf(System Identification Toolbox)idss(System Identification Toolbox)idproc(System Identification Toolbox)iDpoly(System Identification Toolbox)idgrey(System Identification Toolbox)ltiたモデルモデルモデル。同定されモデルの変换するする成分をを选択,,,,componentを指定します。componentを指定し场合,TFは、同定されたモデルの測定成分を既定で変換します。(同定さたモデルを使用するにはは系统标识工具箱™ソフトウェア必要です)。

静的ゲイン。スカラーまたは行列として指定します。システムの静的ゲインまたは定常状態ゲインは、定常状態の条件下における出力の入力に対する比率を表します。

同定されたモデルの変換対象とするコンポーネント。次のいずれかとして指定します。

  • “测量”系统の測定成分を変換します。

  • 'noise'系统のノイズ成分を変換します。

  • 'augmented'系统の測定成分とノイズ成分の両方を変換します。

componentが適用されるのは、系统が同定された LTI モデルである場合のみです。

同定された LTI モデルおよびその測定成分とノイズ成分の詳細については、同定された LTI モデルを参照しください。

出力引数

すべて展开する

出力システム モデル。以下として返されます。

  • 入力引数分子およびdenominatorが数値である场合,伝达(TF) モデル オブジェクト。

  • 入力引数分子またはdenominatorrealpパラメーターまたは化行列(genmat) などの調整可能なパラメーターが含まれる場合は、一般化状態空間モデル (genss) オブジェクト。例については、調整可能なローパス フィルターを参照しください。

  • 入力引数分子またはdenominatorに不確かさをもつパラメーターが含まれる場合は、不確かさをもつ状態空間モデル (uss) オブジェクト。不確かさをもつモデルを使用するには Robust Control Toolbox ソフトウェアが必要です。例については、Transfer Function with Uncertain Coefficients(Robust Control Toolbox)を参照しください。

プロパティ

すべて展开する

分子係数。以下として指定します。

  • 降べき顺(多变的's''z''p',または'q'の場合) か昇べきの順 (多变的'z^-1'または'q^-1'の場合) に並べた多項式係数の行ベクトル。

  • 行ベクトルからなるNyNu细胞配列配列。はmimo伝达伝达关数指定,,,,Nyは出力の数、Nuは。。。配列配列各は与え与えた入出力ののペアに対し分子分子系数ますますNumerator分母cell配列をとして指定场合,これら次元は同じばなりなりませ。。。

Numeratorの系数実数または复素にできます。

分母系数以下として指定。。

  • 降べき顺(多变的's''z''p',または'q'の場合) か昇べきの順 (多变的'z^-1'または'q^-1'の場合) に並べた多項式係数の行ベクトル。

  • 行ベクトルからなるNyNu细胞配列配列。はmimo伝达伝达关数指定,,,,Nyは出力の数、Nuは入力の数です。cell 配列の各要素は、与えられた入出力の組み合わせに対し分子係数を指定します。Numerator分母cell配列をとして指定场合,これら次元は同じばなりなりませ。。。

MIMO 伝達関数のすべての SISO エントリが同じ分母をもつ場合、分母を行ベクトル、Numeratorを cell 配列として指定することができます。

分母の系数実数または复素にできます。

伝達関数表示変数。以下のいずれかとして指定します。

  • 's'— 連続時間モデルの場合の既定値

  • 'z'— 離散時間モデルの既定値

  • 'p''s'と等価

  • 'q''z'と等価

  • 'z^-1''z'の逆

  • 'q^-1''z^-1'と等価

多变的の値は表示に反映され、また、離散時間モデルのNumeratorおよび分母係数の解釈にも影響を与えます。

  • 多变的の値が's''z''p',または'q'の场合,係数は変数の降べきの順に並べられる。たとえば、行ベクトル[AK ... A1 A0]について考えます。多項式の順序は a k z k + ... + a 1 z + a 0 として指定されます。

  • 多变的の値が'z^-1'または'q^-1'の场合はの升べきの顺られる。たとえば,ベクトルベクトル[b0 b1 ... bk]について考えます。多項式の順序は b 0 + b 1 z 1 + ... + b k z k として指定されます。

例については、离散时间关数多项式顺序付けの指定有理式を使用した伝達関数モデル、および有理式を使用した離散時間の伝達関数モデルを参照しください。

伝達遅延。次のいずれかとして指定します。

  • スカラー — SISO システムに伝達遅延を、または MIMO システムのすべての入出力ペアに対して同じ伝達遅延を指定します。

  • NyNu列ののののシステムの力ペアにの伝达遅延を指定しますますでで,,Nyは出力の数、Nuは入力の数です。

连続时间の场合は,TimeUnitプロパティによって指定された時間単位で伝達遅延を指定します。離散時間システムの場合、サンプル時間Tsの整数倍で伝達遅延を指定します。

各入力チャネルの入力遅延。次のいずれかとして指定します。

  • スカラー — SISO システムに入力遅延を、または多入力システムのすべての入力に同じ遅延を指定します。

  • Nu1列列ベクトルベクトル— 多入力システムの入力に別々の入力遅延を指定します。Nuは入力の数です。

连続时间の场合は,TimeUnitプロパティによってれ时间単位入力を指定し。离散时间システムシステムの场合场合は,Tsの整数倍で入力遅延を指定します。

详细については,線形システムでのむだ時間を参照しください。

各出力チャネルの出力遅延。次のいずれかとして指定します。

  • スカラー — SISO システムに出力遅延を、または多出力システムのすべての出力に同じ遅延を指定します。

  • Ny1列列ベクトルベクトル— 多出力システムの出力に別々の出力遅延を指定します。Nyは出力のです。

连続时间の场合は,TimeUnitプロパティによってれ时间単位出力を指定し。离散时间システムシステムの场合场合は,Tsの整数倍で出力遅延を指定します。

详细については,線形システムでのむだ時間を参照しください。

サンプル时间以下として指定。。

  • 0(連続時間システムの場合)。

  • 離散時間システムのサンプリング周期を表す正のスカラー。TsTimeUnitプロパティによって指定される時間単位で指定します。

  • -1(サンプル時間が指定されていない離散時間システムの場合)。

メモ

Tsを変更してもモデルの離散化やリサンプリングは行われません。連続時間表現と離散時間表現の間の変換を行うには、c2dd2cを使用します。離散時間システムのサンプル時間を変更するには、d2dを使用します。

時間変数の単位。次のいずれかとして指定します。

  • 'nanoseconds'

  • 'microseconds'

  • 'milliseconds'

  • 'seconds'

  • '分钟'

  • '小时'

  • 'days'

  • 'weeks'

  • 'months'

  • 'years'

TimeUnitの変更は他のプロパティには影響しませんが、システム全体の動作が変わります。chgTimeUnitを使用して、システム動作を変更せずに時間単位を変換します。

入力チャネル名。以下のいずれかとして指定します。

  • 文字ベクトル (単入力モデルの場合)。

  • 文字ベクトルの细胞配列(多入力モデルの場合)。

  • ''(いずれの入力チャネルにも名前を指定しない場合)。

あるいは、自動的なベクトル拡張を使用して多入力モデルの入力名を割り当てることもできます。たとえば、系统が 2 入力モデルである場合は、以下のようになります。

系统.InputName ='controls';

入力名は自動的に{'controls(1)';'controls(2)'}へと拡張されます。

省略形表記uを使用して、InputNameプロパティを参照できます。たとえば、系统.u系统.InputNameと同じです。

InputNameの使用目的は次のとおりです。

  • モデル表示プロット上の识别识别

  • MIMO システムのサブシステムの抽出

  • モデル相互时における接続指定指定

入力チャネル単位。以下のいずれかとして指定します。

  • 文字ベクトル (単入力モデルの場合)。

  • 文字ベクトルの细胞配列(多入力モデルの場合)。

  • ''(いずれの入力チャネルにも単位を指定しない場合)。

InputUnitを使用して入力信号の単位を指定します。InputUnitはシステムの動作に影響しません。

入力チャネル グループ。構造体として指定します。InputGroupプロパティを使用して、MIMO システムの入力チャネルをグループに割り当て、各グループを名前で参照します。InputGroupのフィールド名はグループ名であり、フィールドの値は各グループの入力チャネルです。以下に例を示します。

系统.InputGroup.controls = [1 2]; sys.InputGroup.noise = [3 5];

これは、入力チャネル12、および35をそれぞれ含む、controlsおよびnoiseという名前の入力グループを作成します。その後、以下を使用してcontrols入力からのにサブを抽出できます。

系统(:,'controls')

既定では、InputGroupはフィールドのない構造体です。

出力チャネル名。次のいずれかとして指定されます。

  • 文字ベクトル (単出力モデルの場合)。

  • 文字ベクトルの cell 配列 (多出力モデルの場合)。

  • ''(いずれのチャネルもを指定ない场合场合)。

あるいは、自動的なベクトル拡張を使用して多出力モデルの出力名を割り当てることもできます。たとえば、系统が 2 出力力モデルである場合は、以下のようになります。

系统.OutputName ='measurements';

出力名は自動的に{'measurements(1)';'measurements(2)'}へと拡張されます。

省略形表記yを使用してOutputNameプロパティを参照することもできます。たとえば、系统.y系统.OutputNameと同じです。

OutputNameの使用目的は次のとおりです。

  • モデル表示プロット上の识别识别

  • MIMO システムのサブシステムの抽出

  • モデル相互时における接続指定指定

出力チャネル単位。次のいずれかとして指定されます。

  • 文字ベクトル (単出力モデルの場合)。

  • 文字ベクトルの cell 配列 (多出力モデルの場合)。

  • ''(いずれの出力チャネルにも単位を指定しない場合)。

OutputUnitを使用して出力信号の単位を指定します。OutputUnitはシステムの動作に影響しません。

出力チャネル グループ。構造体として指定します。OutputGroupプロパティを使用して、MIMO システムの出力チャネルをグループに割り当て、各グループを名前で参照します。OutputGroupのフィールド名はグループ名であり、フィールドの値は各グループの出力チャネルです。以下に例を示します。

系统.OutputGroup.temperature = [1]; sys.InputGroup.measurement = [3 5];

これは、出力チャネル1、および35をそれぞれ含む、温度およびmeasurementという出力グループを作成します。その後、以下を使用してすべての入力からmeasurement出力にサブシステムを抽出できます。

系统('measurement',:)

既定では、OutputGroupはフィールドのない構造体です。

システム名。文字ベクトルとして指定します。たとえば、'system_1'とします。

システムに関連付けるユーザー指定のテキスト。文字ベクトルまたは文字ベクトルの cell 配列として指定します。たとえば、'System is MIMO'とします。

システムに関連付けるユーザー指定のデータ。任意の MATLAB データ型として指定します。

モデル配列のサンプリング グリッド。構造体配列として指定します。

采样格里德をし,配列の各モデル关连付けられている値をを追迹追迹しますますます。。。。。。。これこれこれこれにははは同定同定同定ささされれれた线形

体のを変数変数名前に设定ますます。値値をを,,配列配列配列内内ののモデルモデルにに关连关连付け付けられてているいるサンプリングサンプリングサンプリングサンプリングささささのの値値値値値ばならず,のの配列モデル配列次元としなければなりません。

たとえば、t = 0:10の各時点で線形時変システムのスナップショットを記録することにより、線形モデルの 11 行 1 列の配列Sysarrを作成することができます。次のコードは線形モデルでの時間サンプルを格納します。

Sysarr.SamplingGrid = struct('time',0:10)

同様同様に,つの変数変数Zetawを個別にサンプリングすることにより、6 行 9 列のモデル配列Mを作成できます。次のコードは(zeta,w)の値をMにマッピングします。

[zeta,w] = ndgrid(<6 values of zeta>,<9 values of w>) M.SamplingGrid = struct('zeta',Zeta,'w',w)

Mを表示する際、配列の各エントリは対応するZetawの値を取り込みます。

M
M(:,:,1,1) [zeta=0.3, w=5] = 25 -------------- s^2 + 3 s + 25 M(:,:,2,1) [zeta=0.35, w=5] = 25 ---------------- s^2 + 3.5 s + 25 ...

複数のパラメーター値または操作点で Simulink®モデルを化により生成されモデル配列の场合,采样格里德には配列の各エントリに対応する変数値が自動的に入力されます。たとえば、金宝appSimulink Control Design™のコマンドlinearize(Simulink Control Design)およびslLinearizer(Simulink Control Design)により、采样格里德が自動的に入力されます。

既定では、采样格里德はフィールドのない構造体です。

オブジェクト関数

以下のリストは,TFモデルで使用できる関数の代表的なサブセットが含まれています。一般に、動的システム モデルに适用すべての关数はTFオブジェクトに適用できます。

すべて展开する

動的システムのステップ応答プロット、ステップ応答データ
冲动 動的システムのインパルス応答プロット、インパルス応答データ
lsim 動的システムの任意の入力へのシミュレーションされた時間応答をプロットする。シミュレーションされた応答データ
bode 周波数応答、またはゲインと位相データのボード線図
奈奎斯特 周波数応答のナイキスト線図
nichols 周波数応答ニコルス线図
bandwidth 周波数応答帯域幅
動的システムの極
SISO 動的システムの零点とゲイン
pzplot プロットのオプションをした动システムの-零点-零点-零点-零点
margin Gain margin, phase margin, and crossover frequencies
ZPK 零点-極-ゲイン モデル
SS 状态空间モデル
c2d 連続時間から離散時間へモデルを変換
d2c 離散時間から連続時間へモデルを変換
d2d 離散時間モデルのリサンプリング
反馈 複数のモデルのフィードバック接続
connect 動的システムのブロック線図相互接続
series 2つのの接続接続
parallel 2つのの接続接続
pidtune 線形プラント モデルのための PID 調整アルゴリズム
rlocus 动的システム根轨迹プロット
lqr 線形 2 次レギュレーター (LQG) 設計
lqg 線形 2 次ガウシアン (LQG) 設計
lqi 線形 2 次積分制御
kalman カルマンフィルター设计カルマン推定器

すべて折りたたむ

この例では、次の SISO 伝達関数モデルについて考えます。

s y s ( s ) = 1 2 s 2 + 3 s + 4 .

sの降べきの順に分子係数と分母係数を指定して、伝達関数モデルを作成します。

分子= 1; denominator = [2,3,4]; sys = tf(numerator,denominator)
系统= 1 --------------- 2 s^2 + 3 s + 4 Continuous-time transfer function.

この例では、次の離散時間 SISO 伝達関数モデルについて考えます。

s y s ( z ) = 2 z 4 z 3 + 3 z - 1 .

zの降べきの順に分子係数と分母係数を指定し、サンプル時間を 0.1 秒に指定します。離散時間伝達関数モデルを作成します。

分子= [2,0]; denominator = [4,0,3,-1]; ts = 0.1; sys = tf(numerator,denominator,ts)
sys z = 2  --------------- 4 z ^ 3 + 3 z - 1样本time: 0.1 seconds Discrete-time transfer function.

この例,既知固有振动数减衰比をををもつもつもつ次次システムを表す伝达伝达关数モデルモデル。

2 次システムの伝達関数を減衰比 ζ と固有振动数 ω 0 で表現すると、次のようになります。

s y s ( s ) = ω 0 2 s 2 + 2 ζ ω 0 s + ω 0 2 .

減衰比 ζ = 0.25 および固有振動数 ω 0 = 3 rad/sをして,,,次次关数作成し。。

Zeta = 0.25;W0 = 3;分子= W0^2;分母= [1,2*Zeta*W0,W0^2];sys = tf(分子,分母)
系统= 9 --------------- s^2 + 1.5 s + 9 Continuous-time transfer function.

ステップ入力に対するこの伝達関数の応答を調べます。

步plot(sys)

Figure contains an axes. The axes contains an object of type line. This object represents sys.

プロットでは、低減衰比の 2 次システムで予想されるリングダウンが示されています。

离散时间入力,のモデルの关数作成作成ますます。

s y s ( z ) = [ 1 z + 0 . 3 z z + 0 . 3 - z + 2 z + 0 . 3 3 z + 0 . 3 ]

サンプル时间はTS= 0.2秒です。

分母係数を 2 行 2 列の行列として指定します。

分子= {1 [1 0]; [ -  1 2] 3};

共通分母の係数を行ベクトルとして指定します。

denominator = [1 0.3];

離散時間 MIMO 伝達関数モデルを作成します。

TS= 0.2; sys = tf(numerators,denominator,ts)
系统= From input 1 to output... 1 1: ------- z + 0.3 -z + 2 2: ------- z + 0.3 From input 2 to output... z 1: ------- z + 0.3 3 2: ------- z + 0.3 Sample time: 0.2 seconds Discrete-time transfer function.

MIMO 伝達関数の作成の詳細については、MIMO 伝達関数を参照しください。

この例では、SISO 伝達関数モデルを連結して MIMO 伝達関数モデルを作成します。次の単入力 2 出力の伝達関数について考えます。

s y s ( s ) = [ s - 1 s + 1 s + 2 s 2 + 4 s + 5 ] .

siso要素をてmimo伝达伝达モデル指定し。。。

sys1 = tf([1 -1],[1 1]);sys2 = tf([1 2],[1 4 5]);sys = [sys1; sys2]
系统= From input to output... s - 1 1: ----- s + 1 s + 2 2: ------------- s^2 + 4 s + 5 Continuous-time transfer function.

MIMO 伝達関数の作成の詳細については、MIMO 伝達関数を参照しください。

この例では、有理式を使用して連続時間の伝達関数モデルを作成します。有理式を使用すると、分子と分母の多項式係数を指定するよりも簡単でより直観的になる場合があります。

以下のシステムを考えます。

s y s ( s ) = s s 2 + 2 s + 1 0 .

伝达关数を作成には,まずsTFオブジェクトとして指定します。

s = tf('s')
s = s Continuous-time transfer function.

有理式でs を使用して伝達関数モデルを作成します。

系统= s/(s^2 + 2*s + 10)
系统= s -------------- s^2 + 2 s + 10 Continuous-time transfer function.

例で有理を使用使用て离散时间の关数を作成作成しますますますます。。有理式式使用使用するするとと多项式多项式系数を指定指定するよりよりも

以下のシステムを考えます。

s y s ( z ) = z - 1 z 2 - 1 . 8 5 z + 0 . 9 . Discrete-time transfer function

伝达关数を作成には,まずzTFオブジェクトとして指定し、サンプル時間Tsを指定します。

TS = 0.1;z = tf('z',ts)
z = z Sample time: 0.1 seconds Discrete-time transfer function.

有理式でzを使用して伝達関数モデルを作成します。

系统= (z - 1) / (z^2 - 1.85*z + 0.9)
系统= z - 1 ------------------ z^2 - 1.85 z + 0.9 Sample time: 0.1 seconds Discrete-time transfer function.

この例では,別の伝達関数モデルから継承されたプロパティをもつ伝達関数モデルを作成します。次の 2 つの伝達関数について考えます。

s y s 1 ( s ) = 2 s s 2 + 8 s a n d s y s 2 ( s ) = s - 1 7 s 4 + 2 s 3 + 9 .

この例では、TimeUnitプロパティとInputDelayプロパティを 'minutes' に設定して系统1を作成します。

分子1 = [2,0]; denominator1 = [1,8,0]; sys1 = tf(numerator1,denominator1,'TimeUnit','分钟','InputUnit','分钟')
系统1 = 2 s --------- s^2 + 8 s Continuous-time transfer function.
propValues1 = [sys1.TimeUnit,sys1.InputUnit]
propValues1 =1x2 cell{'minutes'} {'minutes'}

系统1から継承されたプロパティをもつ 2 つ目の伝達関数モデルを作成します。

分子2 = [1,-1]; denominator2 = [7,2,0,0,9]; sys2 = tf(numerator2,denominator2,sys1)
系统2 = s - 1 ----------------- 7 s^4 + 2 s^3 + 9 Continuous-time transfer function.
propValues2 = [sys2.timeunit,sys2.inputunit]
propValues2 =1x2 cell{'minutes'} {'minutes'}

伝達関数モデル系统2系统1と同じパティもつこと确认してください。

forループをし伝达モデルの配列指定できます。

まず、伝達関数配列にゼロを事前に割り当てます。

sys = tf(零(1,1,3));

最初の 2 つのインデックスはモデルの出力と入力の数を表し、3 つ目のインデックスは配列内のモデルの数を表します。

forループで有理式を使用して伝達関数モデルの配列を作成します。

s = tf('s');fork = 1:3 sys(:,:,k) = k/(s^2+s+k);end系统
系统(:,:,1,1) = 1 ----------- s^2 + s + 1 sys(:,:,2,1) = 2 ----------- s^2 + s + 2 sys(:,:,3,1) = 3 ----------- s^2 + s + 3 3x1 array of continuous-time transfer functions.

この例では、次の状態空間モデルの伝達関数を計算します。

A = [ - 2 - 1 1 - 2 ] , B = [ 1 1 2 - 1 ] , C = [ 1 0 ] , D = [ 0 1 ] .

状態空間行列を使用して状態空間モデルを作成します。

a = [-2 -1; 1 -2];b = [1 1; 2 -1];C = [1 0];d = [0 1];ltisys = ss(a,b,c,d);

状态空间モデルltiSysを伝達関数に変換します。

系统= tf(ltiSys)
系统= From input 1 to output: s + 6.28e-16 ------------- s^2 + 4 s + 5 From input 2 to output: s^2 + 5 s + 8 ------------- s^2 + 4 s + 5 Continuous-time transfer function.

この例では、同定された多項式モデルの測定成分とノイズ成分を 2 つの別々の伝達関数に抽出します。

识别model.mattox-jenkins多项式多项式モデルltiSysを読み込みます。

load('identifiedModel.mat','ltiSys');

ltiSysは同定された y ( t ) = B F u ( t ) + C D e ( t ) 形式の離散時間モデルで、 B F は測定成分、 C D はノイズ成分を表します。

測定成分とノイズ成分を伝達関数として抽出します。

sysmeas = tf(ltisys,“测量”)
系统Meas = From input "u1" to output "y1": -0.1426 z^-1 + 0.1958 z^-2 z^(-2) * ---------------------------- 1 - 1.575 z^-1 + 0.6115 z^-2 Sample time: 0.04 seconds Discrete-time transfer function.
系统Noise = tf(ltiSys,'noise')
系统Noise = From input "v@y1" to output "y1": 0.04556 + 0.03301 z^-1 ---------------------------------------- 1 - 1.026 z^-1 + 0.26 z^-2 - 0.1949 z^-3 Input groups: Name Channels Noise 1 Sample time: 0.04 seconds Discrete-time transfer function.

測定成分はプラント モデルとすることができ、ノイズ成分は制御システム設計の外乱モデルとして使用できます。

伝達関数モデル オブジェクトには、モデルが何を表しているかを見失わないために役立つモデル データが含まれています。たとえば、モデルの入力と出力に名前を割り当てることができます。

次の連続時間 MIMO 伝達関数モデルについて考えます。

s y s ( s ) = [ s + 1 s 2 + 2 s + 2 1 s ]

モデルには 1 つの入力 - 電流と、2 つの出力 - トルクと速度があり。。

まず、モデルの分子係数と分母係数を指定します。

分子= {[1 1];1};分母= {[1 2 2];[1 0]};

入力名と出力名を指定して、伝達関数モデルを作成します。

系统= tf(分子s,denominators,'InputName','Current',...'OutputName',{“扭矩”'Angular Velocity'})
sys =从输入“电流”到输出... s + 1扭矩:------------------------------------------------------------- s + 2 s + 2 1角速度: -  s连续时传输函数。

この例では、'多变的' プロパティを使用して離散時間伝達関数モデルの多項式の順序付けを指定します。

サンプル時間が 0.1 秒の、次の離散時間伝達関数について考えます。

s y s 1 ( z ) = z 2 z 2 + 2 z + 3 s y s 2 ( z - 1 ) = 1 1 + 2 z - 1 + 3 z - 2 .

z係数を指定して最初の離散時間伝達関数を作成します。

分子= [1,0,0];分母= [1,2,3];TS = 0.1;sys1 = tf(分子,分母,TS)
系统1 = z^2 ------------- z^2 + 2 z + 3 Sample time: 0.1 seconds Discrete-time transfer function.

系统1の係数はzの降べきの順に並べられます。

TFは '多变的' プロパティの値に基づいて表記を切り替えます。系统2系统1の逆伝達関数モデルであるため、'多变的' を 'z^-1' に指定して同じ分子係数と分母係数を使用します。

系统2 = tf(numerator,denominator,ts,'Variable','z^-1')
系统2 = 1 ------------------- 1 + 2 z^-1 + 3 z^-2 Sample time: 0.1 seconds Discrete-time transfer function.

これで、系统2の係数はz^-1の昇べきの順に並べられます。

異なる表記に基づいて、'多变的' プロパティを使用して伝達関数モデルにおける多項式の順序付けを指定できます。

この例では、1 つの調整可能なパラメーターaをもつローパス フィルターを作成します。

F = a s + a

tunableTFブロックの分母のが独立しいる,,,tunableTFを使用してFを表すことはできません。代わりに、調整可能な実数パラメーター オブジェクトrealpを使ってFを構成します。

初期値10の実数の調整可能なパラメーターを作成します。

a = realp('一个',10)
a = Name: 'a' Value: 10 Minimum: -Inf Maximum: Inf Free: 1 Real scalar parameter.

調整可能なローパス フィルターFを作成するには、TFを使用します。

分子= a; denominator = [1,a]; F = tf(numerator,denominator)
F =具有1个输出,1个输入,1个状态和以下块的广义连续时间空间模型:A:标量参数,2个出现。键入“ ss(f)”以查看当前值,get(f)”以查看所有属性和“ f.blocks”以与块相互作用。

Fは、プロパティに调整なパラメーターaをもつgenssオブジェクトです。Fを他の調整可能なモデルまたは数値モデルと接続して、より複雑な制御システムのモデルを作成できます。例については、調整可能なコンポーネントを含む制御システムを参照しください。

この例,静的ゲインののの伝达伝达モデル作成し。。

次の 2 入力、2 出力の静的ゲイン行列mについて考えます。

m = [ 2 4 3 5 ]

ゲイン行列を指定して静的ゲイン伝達関数モデルを作成します。

m = [2,4;...3,5]; sys1 = tf(m)
SYS1 =从输入1到输出... 1:2 2:3从输入2到输出... 1:4 2:5静态增益。

上記で取得した静的ゲイン伝達関数モデル系统1を使用して、別の伝達関数モデルとカスケードさせることができます。

この例では、2 入力 2 出力の離散伝達関数モデルをもう 1 つ作成し、関数seriesを使用して 2 つのモデルを接続します。

分子s = {1,[1,0];[-1,2],3}; denominator = [1,0.3]; ts = 0.2; sys2 = tf(numerators,denominator,ts)
sys2 =从输入1到输出... 1 1:------- Z + 0.3 -z + 2 2:-------- Z + 0.3从输入2到输出... z 1:z 1:------- Z + 0.3 3 2:------- Z + 0.3样本时间:0.2秒离散时间传输函数。
系统= series(sys1,sys2)
系统= From input 1 to output... 3 z^2 + 2.9 z + 0.6 1: ------------------- z^2 + 0.6 z + 0.09 -2 z^2 + 12.4 z + 3.9 2: --------------------- z^2 + 0.6 z + 0.09 From input 2 to output... 5 z^2 + 5.5 z + 1.2 1: ------------------- z^2 + 0.6 z + 0.09 -4 z^2 + 21.8 z + 6.9 2: --------------------- z^2 + 0.6 z + 0.09 Sample time: 0.2 seconds Discrete-time transfer function.

制限

  • 伝達関数モデルは、数値計算に適していません。作成後は他のモデルとの組み合わせやモデルの変換を行う前に、状態空間形式に変換してください。その後、結果のモデルを検査目的で伝達関数形式に変換し直すことができます。

  • 同定された非線形モデルはTFを使用伝达モデルに変换ません伝达关数モデルを取得するにには,,行い行い行い

    1. Linapp(System Identification Toolbox)idnlarx/linearize(System Identification Toolbox),またはidnlhw/linearize(System Identification Toolbox)を使用して、同定された非線形モデルを同定された LTI モデルに変換します。

    2. 次に、結果のモデルをTFを使用て关数モデル変换します。

R2006Aよりに导入导入