TransferFunctionModel[g[s],s]
複素変数 s を持つ伝達関数行列 g[s]のモデルを表す.
TransferFunctionModel[{n[s],d[s]},s]
伝達関数モデルの分子 n[s] と分母 d[s] を指定する.
TransferFunctionModel[{z,p,g},s]
伝達関数モデルの零点 z,極 p,ゲインg を指定する.
系のモデル sys の伝達関数モデルを与える.
TransferFunctionModel
TransferFunctionModel[g[s],s]
複素変数 s を持つ伝達関数行列 g[s]のモデルを表す.
TransferFunctionModel[{n[s],d[s]},s]
伝達関数モデルの分子 n[s] と分母 d[s] を指定する.
TransferFunctionModel[{z,p,g},s]
伝達関数モデルの零点 z,極 p,ゲインg を指定する.
系のモデル sys の伝達関数モデルを与える.
詳細とオプション
- TransferFunctionModelは,通常,信号フィルタおよび制御設計に使われる.
でモデル化される連続時間系(ただし,
は出力のラプラス変換,
は入力のラプラス変換,
は伝達行列)はTransferFunctionModel[g[s],s]として指定できる.
でモデル化される離散時間系(ただし,
は出力のZ変換,
は丹入力のZ変換,
は伝達行列)は,TransferFunctionModel[g[z],z,SamplingPeriodτ]として指定できる.- SystemsModelDelayを使って,任意の伝達関数モデルに時間遅延を含ませることができる.
- TransferFunctionModel[sys]は,次の系を変換することができる.
-
AffineStateSpaceModel 近似テイラー(Taylor)変換 NonlinearStateSpaceModel 近似テイラー変換 StateSpaceModel 厳密変換 - TransferFunctionModel[…]["prop"]は,特性"prop"の値を与える.
- TransferFunctionModel[…]["Properties"]は,使用可能な特性のリストを与える.
- 使用可能なオプション
-
Appearance Automatic モデルの外観 Method Automatic 状態空間モデルの伝達関数を求めるためのメソッド SamplingPeriod Automatic 系のサンプリング周期 SystemsModelLabels Automatic 入出力変数のラベル ExternalTypeSignature Automatic 埋め込まれたコードの変数型 - オプションAppearanceは,Automatic,"Detailed","Structured","Elided","Iconized"の値を取ることができる.
- Methodオプションの設定値には"DeterminantExpansion","ResolventIdentities","Inverse","Generic"等がある.Method->Automaticとすると,伝達関数モデルは行列式の展開を使って計算される.
例題
すべて開く すべて閉じる例 (5)
TransferFunctionModel[{{(1/s)}}, s]TransferFunctionModel[{{(2/1 + s^2), (s/s - 1)}}, s]TransferFunctionModel[StateSpaceModel[{{{a}}, {{b}}, {{c}}, {{0}}},
SamplingPeriod -> None, SystemsModelLabels -> None]]TransferFunctionModel[(1/(z - 1)(z - 0.605)), z, SamplingPeriod -> 1]tfm = TransferFunctionModel[(s + 0.25/s^2 + s + 1), s];
tfm[I Range[0.01, 5, 0.5]]Plot[Abs[tfm[I f]], {f, 0, 5}]スコープ (19)
TransferFunctionModel[(1/T s + 1), s]TransferFunctionModel[(Subsuperscript[ω, n, 2]/s^2 + 2ζ Subscript[ω, n] s + Subsuperscript[ω, n, 2]), s]TransferFunctionModel[k (Subsuperscript[∑, i = 0, 2]Subscript[b, i]s^i/Subsuperscript[∑, i = 0, 5]Subscript[a, i]s^i), s]TransferFunctionModel[k (Subsuperscript[∏, i = 1, 3](s + Subscript[z, i])/(Subsuperscript[∏, i = 1, 2](s + Subscript[p, i]))Subsuperscript[∏, i = 1, 2](s^2 + 2 Subscript[ξ, i]Subscript[ω, i]s + Subsuperscript[ω, i, 2])), s]TransferFunctionModel[(1/z - 1), z, SamplingPeriod -> τ]TransferFunctionModel[{{(1/s), (1/s + 1)}}, s]SystemsModelDimensions[%]TransferFunctionModel[{{(1/s)}, {(1/s + 1)}}, s]SystemsModelDimensions[%]TransferFunctionModel[{{(1/s), (1/s + 1)}, {(1/s + 2), (1/s + 3)}}, s]SystemsModelDimensions[%]TransferFunctionModel[{{{1}}, {{s + 1}}}, s]TransferFunctionModel[{{{1, s}, {s + 2, s + 4}}, {{s - 5, s + 3}, {s - 1, s + 4}}}, s]TransferFunctionModel[{{{3(s + 1), s + 6}, {s + 3, s + 2}}, (s + 1)(s + 2)}, s]TransferFunctionModel[{{{{z}}}, {{{p}}}, {{g}}}, s]TransferFunctionModel[{(| | |
| ----- | ----- |
| {z11} | {z12} |
| {z21} | {z22} |), (| | |
| ----- | ----- |
| {p11} | {p12} |
| {p21} | {p22} |), (| | |
| --- | --- |
| g11 | g12 |
| g21 | g22 |)}, s]TransferFunctionModel[10]TransferFunctionModel[10, SamplingPeriod -> 1]TransferFunctionModel[g]% /. g -> 5TransferFunctionModel[StateSpaceModel[{{{-3, 0}, {0, -2}}, {{1}, {2}}, {{1, 0}}, {{0}}}, SamplingPeriod -> None,
SystemsModelLabels -> None], s]AffineStateSpaceModelにテイラー線形化を施し,その伝達関数表現を得る:
TransferFunctionModel[AffineStateSpaceModel[{{Subscript[x, 1] + Subscript[x, 2]^2,
(-Subscript[x, 1])*Subscript[x, 2]},
{{1}, {Subscript[x, 1]}}, {Subscript[x, 1]}, {{0}}},
{Subscript[x, 1], Subscript[x, 2]}, {u}, {Automatic},
Automatic, SamplingPeriod -> None], s]非零の平衡値を使ったAffineStateSpaceModelの線形化:
TransferFunctionModel[AffineStateSpaceModel[{{Subscript[x, 1] + 2*Subscript[x, 2] +
Subscript[x, 2]^2, 1 - Subscript[x, 1] +
Subscript[x, 2] - Subscript[x, 1]*Subscript[x, 2]},
{{1}, {Subscript[x, 1]}}, {-1 + Subscript[x, 1]}, {{0}}},
{{Subscript[x, 1], 1}, {Subscript[x, 2], -1}}, {u},
{Automatic}, Automatic, SamplingPeriod -> None], s]NonlinearStateSpaceModelのテイラー線形化:
TransferFunctionModel[NonlinearStateSpaceModel[{{-1 + u*x}, {-1 + x}},
{{x, 1}}, {{u, 1}}, {Automatic}, Automatic, SamplingPeriod -> None], s]TransferFunctionModel[{{{3 + s}}, 10 + 7*s + s^2}, s]["Properties"]一般化と拡張 (2)
オプション (5)
SamplingPeriod (3)
TransferFunctionModel[(1/s^2 + a s + b), s]TransferFunctionModel[(1/s^2 + a s + b), s, SamplingPeriod -> None]TransferFunctionModel[(z/z - 1), z, SamplingPeriod -> 1]TransferFunctionModel[(1/s^2 + a s + b), s, SamplingPeriod -> T]% /. T -> 2SystemsModelLabels (1)
TransferFunctionModel[(| | | |
| ----------- | --------- | ----------- |
| (s/2 + s^2) | (1/s) | (1/2 + s^2) |
| (1/s) | (1 + s/s) | (1/2 + s^2) |), s, SystemsModelLabels -> {{"SubscriptBox[u, 1]", "SubscriptBox[u, 2]", "SubscriptBox[u, 3]"}, {"SubscriptBox[y, 1]", "SubscriptBox[y, 2]"}}]デフォルトで,外観はノートブック内の表示に適合するように選択される:
TransferFunctionModel[{{(18/(s + 1)(s + 3)(s + 6)), (10/(s + 5)(s + 2)), (3/s^3 + s^2 + s + 3), (2/s(s + 1)(s + 2))}, {(100/s^2 + 3s + 100), (3/s(s + 1)(s + 3)(s + 6)), (3/s^3 + s^2 + s + 3), (4/(s + 1)(s + 2)(s + 5)(s + 3))}, {(20/(s + 5)(s + 4)), (10/s^2 + 10), (5/s^2 + s + 5), (10/s^4 + 5 s^2 + 10)}}, s]TransferFunctionModel[(1/s + 1), s]アプリケーション (18)
TransferFunctionModel[Subscript[k, p] + (Subscript[k, i]/ s), s]TransferFunctionModel[Subscript[k, p] + Subscript[k, d] s, s]pid[kp_, ki_, kd_] := TransferFunctionModel[kp + (ki/ s) + kd s, s]pid[1, 2.5, 0.5]dpid[kp_, ki_, kd_, τ_] := TransferFunctionModel[kp + ki(τ z/z - 1) + kd (z - 1/τ z), z, SamplingPeriod -> τ]dpid[260, 130, 5, 0.1]lead[k_, T_ /; T > 0, α_ /; 0 < α < 1] := TransferFunctionModel[k(s + (1/T)/ s + (1/α T)), s]lead[200, 0.02, 0.5]lag[k_, T_ /; T > 0, α_ /; α > 1] := TransferFunctionModel[k(s + (1/T)/ s + (1/α T)), s]lag[1000, 0.08, 2]dlag[zero_, pole_, τ_] /; zero < pole < 1 := TransferFunctionModel[((1 - pole)(z - zero)/ (1 - zero)(z - pole)), z, SamplingPeriod -> τ];dlag[0.2, 0.5, 0.01]アナログのローパスバターワース(Butterworth)フィルタについての一般式:
butterworth[ω_, n_ ? OddQ] := TransferFunctionModel[(ω/s + ω)Underoverscript[∏, i = 1, (n - 1) / 2](ω^2/s^2 + 2Cos[(π i/n)]ω s + ω^2), s]
butterworth[ω_, n_] := TransferFunctionModel[Underoverscript[∏, i = 1, n / 2](ω^2/s^2 + 2Cos[(π (i - 1 / 2)/n)]ω s + ω^2), s]butterworth[Subscript[ω, N], 3]butterworth[Subscript[ω, N], 4]//NTransferFunctionModel[(15/ s^3 + 6s^2 + 15 s + 15), s]order2[ζ_, ω_] := TransferFunctionModel[ (ω^2/s^2 + 2ζ ω s + ω^2), s];Table[{Last[damping], sys = order2[First[damping], 6], Plot[OutputResponse[sys, UnitStep[t], t]//Evaluate, {t, 0, 8}, PlotRange -> All]}, {damping, {{0, "Undamped"}, {0.7, "Underdamped"}, {1, "Critically damped"}, {5, "Overdamped"}}}]//TableForminvpend[M_, m_, l_, g_] := TransferFunctionModel[{{{-s^2}, { l s^2 - g}, {-s^3}, {l s^3 - g s}}, M l s^4 - g(M + m)s^2}, s, SystemsModelLabels -> {"u", {"θ", "x", "θ'", "x'"}}]invpend[5, 3.75, 1.5, 9.8]
smd[k_, m_, b_] := TransferFunctionModel[ (1/m s^2 + b s + k), s];smd[0.1, 0.5, 0.2]直列モーターの,入力電圧とシャフトの角度位置の間の伝達関数:
dcmotor[Kt_, Kf_, J_, B_, L_, R_] := TransferFunctionModel[ (Kt/(J s^2 + B s)(L s + R) + Kt Kf s), s];dcmotor[0.02, 0.02, 0.015, 0.1, 0.5, 1.3]
TransferFunctionModel[(-5.9(s - 0.05)(s^2 + 0.46s + 1.1978)/(s + 0.067)(s + 0.7)(s^2 + 0.8054s + 4.21031)), s]TransferFunctionModel[(Subscript[k, p]/1 + Subscript[τ, p] s), s]
rlc[r_, l_, c_] := TransferFunctionModel[(r/r + s l + (1/s c)), s];rlc[100, 10^-4, 10^-6]TransferFunctionModel[{{(-0.0005(s - 70)(s + 0.5)/(s^2 + 0.0065s + 0.006)(s^2 + s + 1.4))}, {(-0.02(s + 80)(s^2 + 0.0065s + 0.006)/(s^2 + 0.005s + 0.006)(s^2 + s + 1.4))}, {(-1.4(s + 0.02)(s + 0.4)/(s^2 + 0.005s + 0.006)(s^2 + s + 1.4))}}, s]TransferFunctionModel[{{{-0.425 / E ^ (1.52 * s), 0.1052 * (1 + 47.1 * s)},
{2.977, 1.063 / E ^ (2.26 * s)}}, {{1 + 11.7 * s, 1 + 11.5 * s}, {1 + 5.5 * s, 1 + 2.5 * s}}}, s,
SystemsModelLabels -> {{"FreshFeed", "SumpWater"}, {"Product", "Throughput"}}]特性と関係 (6)
TransferFunctionModelは引数が1つの純関数として動作する:
lsys = TransferFunctionModel[{{(2/1 + s^2), (s/s - 1)}}, s]lsys[x]lsys[10. I]lsys[Range[3, 7]I]TransferFunctionFactorを使って因子分解された形を得る:
TransferFunctionFactor[TransferFunctionModel[(1/s) + (1/s - 1), s]]TransferFunctionExpand[TransferFunctionModel[(1/s) + (1/s - 1), s]]TransferFunctionCancelを使って共通の極と零点を相殺する:
TransferFunctionModel[{{{s + 10}}, (s + 10)}, s]TransferFunctionCancel[%]tfm = TransferFunctionModel[{{(s/1 + s^2), (s + 3/s - 1), (1/s + 1)}, {(s - 3/s + 2), (s + 1/s + 2), (s + 4/1 + s^2)}}, s];TransferFunctionPoles[tfm]TransferFunctionZeros[tfm]StateSpaceModel[ TransferFunctionModel[{{(10(s - 2)/(s^2 + 2 s + 1.25) (s^2 + 6 s + 25))}}, s]]考えられる問題 (3)
TransferFunctionModel[m,var]では,極零点ペアは処理される前に相殺されることがある:
((s + 2)(s + 3)/(s + 2)(s + 4))TransferFunctionModel[((s + 2)(s + 3)/(s + 2)(s + 4)), s]Unevaluatedを使って相殺を防ぐ:
TransferFunctionModel[Unevaluated[((s + 2)(s + 3)/(s + 2)(s + 4))], s]あるいはTransferFunctionModel[{num,den},var]を使って:
TransferFunctionModel[{{{(s + 2)(s + 3)}}, (s + 2)(s + 4)}, s]あるいはTransferFunctionModel[{z,p,g},var]を使って:
TransferFunctionModel[{{{{-3, -2}}}, {-4, -2}, {{1}}}, s]TransferFunctionModel[m,var]では結果がより高次の系になる可能性がある:
m = (1/(s + 1)) - (1/(s + 1)^2);
TransferFunctionModel[m, s]TransferFunctionModel[%, s]//SimplifyあるいはTransferFunctionModelに渡す前に m を簡約する:
Together[m]TransferFunctionModel[%, s]複素変数 var が指定されていない場合,それは連続時間系ではsであると解釈される:
TransferFunctionModel[(s/10s + 1)]%[var]TransferFunctionModel[(/10 + 1)][var]TransferFunctionModel[(1/ + 0.4), SamplingPeriod -> τ][var]関連するガイド
-
▪
- フーリエ(Fourier)解析 ▪
- 基本的な系のモデル化 ▪
- 制御系 ▪
- 遅延制御系 ▪
- ディスクリプタ制御系 ▪
- 信号フィルタリングとフィルタ設計 ▪
- 系のモデル化 ▪
- 時系列過程 ▪
- システムモデルの解析と設計
テキスト
Wolfram Research (2010), TransferFunctionModel, Wolfram言語関数, https://reference.wolfram.com/language/ref/TransferFunctionModel.html (2014年に更新).
CMS
Wolfram Language. 2010. "TransferFunctionModel." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/TransferFunctionModel.html.
APA
Wolfram Language. (2010). TransferFunctionModel. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/TransferFunctionModel.html
BibTeX
@misc{reference.wolfram_2026_transferfunctionmodel, author="Wolfram Research", title="{TransferFunctionModel}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/TransferFunctionModel.html}", note=[Accessed: 02-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_transferfunctionmodel, organization={Wolfram Research}, title={TransferFunctionModel}, year={2014}, url={https://reference.wolfram.com/language/ref/TransferFunctionModel.html}, note=[Accessed: 02-November-2026]}