---
title: 伝達関数と極
url: https://doc.liz6.com/ja/theory/02-control-theory/05-transfer-functions-and-poles
locale: ja
area: theory
tags:
- 制御理論
- 基礎理論
date: 2026-09-10
modified: 2026-09-10
description: 同じ系を微分方程式、状態更新式、伝達関数で表せます。伝達関数は線形な動的要素の結合を扱いやすくします。動的モデルとPID制御を前提に、動作点からの偏差を使います。
---

# 伝達関数と極

同じ系を微分方程式、状態更新式、伝達関数で表せます。伝達関数は線形な動的要素の結合を扱いやすくします。[動的モデル](02-dynamic-models.md)と[PID制御](04-pid-control.md)を前提に、動作点からの偏差を使います。

## 微分を代数関係へ変換する

片側ラプラス変換は、収束する領域で$X(s)=\int_0^\infty x(t)e^{-st}dt$です。微分は$\mathcal L\{\dot x\}=sX(s)-x(0)$へ変換されます。$s=\sigma+j\omega$は指数的な増減と振動を表します。

温度偏差の式$2000\dot x+20x=1000v$は、初期値ゼロなら

$$(2000s+20)X=1000V,\qquad P(s)=\frac XV=\frac{50}{100s+1}.$$

$v$はデューティ比の偏差、$x$は温度偏差です。$x(0)\ne0$なら、変換した応答に$2000x(0)/(2000s+20)$も加わります。伝達比だけでは初期値問題全体を表せません。

$P(0)=50$ K/デューティ比が静的ゲイン、極$-0.01$は$e^{-0.01t}$の減衰に対応します。LTIモデルであり、飽和や動作点の変化を自動的に含むものではありません。

## 閉ループ分母の導出

単位負帰還では$E=R-Y$、$U=CE$、$Y=PU$です。整理すると

$$(1+PC)Y=PC R,\qquad \frac YR=\frac{PC}{1+PC}.$$

$1+PC=0$の分母を払って特性方程式を得ますが、実現に含まれる内部モードも確認します。センサに$H(s)$の動特性があれば分母は$1+PCH$であり、フィルタもループの一部です。

$C=K_p$なら

$$\frac YR=\frac{50K_p}{100s+1+50K_p},\qquad p=-\frac{1+50K_p}{100}.$$

$K_p=0.04$では極$-0.03$、時定数33.33 sですが、目標温度1 Kのステップに対する最終増分は$2/3$ Kです。速さと正確さは別の性質です。

## PIの極とゲイン

$C=K_p+K_i/s$では分母は

$$100s^2+(1+50K_p)s+50K_i.$$

$K_p=0.04$を固定すると、$K_i=0.0002$の極は$-0.00382,-0.02618$、$K_i=0.001$では$-0.015\pm0.01658j$です。積分を強めると二つの実モードが振動モードに変わります。正の係数による安定性は、この遅れのない二次式についての結論です。

**伝達関数と極 · 実験**

熱系PIの特性方程式は100s²+3s+50Ki=0、Kp=0.04固定です。Ki=0.00045で極が一致し、その後は実部−0.015で分かれます。物体の軌道ではなく極の位置です。


根の和が$-0.03$、積が$0.5K_i$であることを確かめます。判別式がゼロになる$K_i=0.00045$で根が一致します。根軌跡はパラメータに応じた極の位置であり、物体の運動軌跡ではありません。

## 零点と隠れた状態

$G_1(s)=1/(s+1)$と$G_2(s)=(1-s)/(s+1)$は、極$-1$と静的ゲイン1を共有します。しかし単位ステップ応答は$1-e^{-t}$と$1-2e^{-t}$です。後者は直接通路を持ち、最初に−1へ跳んでから1に近づきます。右半平面零点は逆応答や設計制約を生じさせる場合があり、安定な極だけで過渡応答は決まりません。

内部不安定性が見えない場合もあります。$\dot x_1=-x_1+u$、$\dot x_2=x_2$、$y=x_1$では伝達関数は$1/(s+1)$ですが、非ゼロの$x_2(0)$は指数増大します。約分後の分母だけでなく状態実現を確認します。

## 計算を再現する

次の例はpython-control 0.10.2のAPIを使います。`feedback`の既定は負帰還です。

```python
import control as ct
P = ct.tf([50], [100, 1])
C = ct.tf([0.04, 0.001], [1, 0])
closed_loop = ct.feedback(P * C, 1)
print(ct.poles(closed_loop))
# Approximately: -0.015 +/- 0.016583j
```

これは指定した線形モデルの計算であり、一般の非線形安定性の証明ではありません。

## 理解を確かめる

初期温度偏差が非ゼロなら、なぜ$Y=PU$だけでは不足しますか。

<details><summary>考え方</summary>

伝達関係は初期値ゼロを仮定します。微分の変換で生じる初期値項を加える必要があります。

</details>

極が同じならステップ応答も同じですか。

<details><summary>考え方</summary>

零点、ゲイン、直接通路、初期値も影響します。前述の二つの例は極と静的ゲインが同じでも初期方向が異なります。

</details>

## 発展資料

[python-controlの線形系ガイド](https://python-control.readthedocs.io/en/stable/linear.html)では伝達関数と状態空間を扱います。変数、単位、初期条件を実物のモデルと対応させます。
