12 V を同じ抵抗2つで分圧して 6 V にし、そこに負荷を接続すると 4 V しか残らないが、これは分圧の法則に違反するものではない。負荷が回路を変化させたからである。このような問題を解析するには、「公式を暗記する」のではなく、ポートを認識し、方程式を立て、簡略化されたモデルがどの関係を保持しているかを判断する必要がある。本稿では、同じ分圧器を用いて、負荷効果、ノード法、テブナン等価、およびRC過渡現象を貫通して解説する。
タスク 優先手法 本稿の重点
分岐のない直列、または両端が共通の並列 分圧、分流 まず接続条件を確認する
多枝路、複数の電源 ノード法;平面回路ではメッシュ法も可 方程式と方向の整合性
特定の負荷ポートのみに関心がある テブナン / ノートン ポートの電流-電圧関係を保持する
複数の源の寄与を区別する 重ね合わせ 電圧と電流は重ね合わせるが、電力は直接重ね合わせない
スイッチ操作後、要件を満たすまでにかかる時間 初期値、終値、時定数 エラー目標が待ち時間を決定する
基本記号とKCL/KVLについては基本物理量と法則 を参照。以下では理想線形抵抗と電源を仮定する。非線形素子については別途モデルを構築する必要がある。
分圧器が負荷を恐れる理由
R₁ は理想入力電圧 Vin から出力 A へ接続され、R₂ は A からリファレンスグランドへ接続される。無負荷時、2つの抵抗は直列接続となるため、Vout = Vin·R₂/(R₁+R₂) となる。出力に R_L を接続すると、下腕部は R₂∥R_L となるため、式の中の R₂ をこの並列値に置き換える必要がある。
R₁ = 10 kΩ 12 V R₂ = 10 kΩ R_L = 10 kΩ 0 V 出力端 A 同じ分圧器:無負荷で 6 V、10 kΩ 負荷接続後 4 V に変化 出力から見た場合:V_th = 6 V、R_th = 10 kΩ ∥ 10 kΩ = 5 kΩ。
Vin = 12 V、R₁ = R₂ = 10 kΩ とする。無負荷時の電流は 0.6 mA、出力は 6 V である。R_L = 10 kΩ を接続すると、下腕部は 5 kΩ となり、総電流は 0.8 mA に増加し、出力は 4 V に低下する。下腕部の2つの経路にはそれぞれ 0.4 mA が流れ、上腕部の 0.8 mA と合計して一致する。
「R_L は R₂ より十分に大きいこと」は近似的な十分条件であり、より正確な尺度は出力等価抵抗 R_th = R₁∥R₂ である。負荷接続後、無負荷に対する電圧降下の割合は R_th/(R_th+R_L) となる。降下が1%以内にとどまる必要がある場合、R_L ≥ 99R_th が必要であり、本例では少なくとも 495 kΩ となる。これは静電負荷誤差の予算であり、抵抗誤差、入力電圧の変動、および入力リーク電流は含まれていない。
分圧抵抗を増やすと静電消費電力は低減できるが、出力抵抗は上昇し、リーク電流やコンデンサ充電の影響が顕著になる。したがって、分圧器は限定的な条件下での比例サンプリングやバイアスに適しており、安定した電源出力として自然に使用できるものではない。スイッチ付きサンプリング入力に接続する場合は、標称入力抵抗だけでなく、サンプリングコンデンサの立上り時間を確認する必要がある。
分流も同じノード関係に由来する。2つの正の抵抗が並列接続されて同じ電圧がかかる場合、I₁/I₂ = R₂/R₁ となり、したがって I₁ = I総·R₂/(R₁+R₂) である。有限の正抵抗枝路には通常電流が流れ、「電流が最小抵抗の経路のみを選ぶ」わけではない。
ノード法とメッシュ法:接続を方程式へ翻訳する
ノード法では未知の電位を先に選ぶ
本例では A 点のみが未知である。A から流出する各枝路の電流の和はゼロとなる:
(V_A − 12)/10k + V_A/10k + V_A/10k = 0 。
10k を掛けると 3V_A − 12 = 0 となり、したがって V_A = 4 V である。第1項が負であることは、その枝路が実際には A へ流入していることを示しており、公式の誤りではない。一般に2つのノード間の抵抗枝路について、A から B への基準電流は (V_A−V_B)/R である。
理想電圧源が某ノードとリファレンスグランドの間に接続されている場合、そのノードの電位は直接既知となる。2つの未知ノード間に跨がっている場合は、それらをスーパーノードとしてまとめ、外部に対してKCLを列挙し、2つのノード間の電位差の制約式を追加する。理想電圧源の「抵抗がゼロ」を直接割り算に代入して、ゼロ除算を生成しないように注意すること。
メッシュ電流は計算変数であり、各枝路電流そのものではない
図中の2つの窓に対して、それぞれ時計回りのメッシュ電流 i_a、i_b を定義する。左メッシュには電源、R₁、R₂ が含まれ、右メッシュには R₂、R_L が含まれる。共用される R₂ 上では、2つのメッシュの方向が逆であるため、下向きの枝路電流は i_a−i_b となる。
対応する方程式は以下の通り:
(R₁+R₂)i_a − R₂i_b = 12;
−R₂i_a + (R₂+R_L)i_b = 0。
3つの 10 kΩ を代入すると i_a = 0.8 mA、i_b = 0.4 mA となり、R₂ の電流は 0.4 mA となり、結果はノード法と一致する。メッシュ法は平面回路のメッシュに対して方程式を構成する。メッシュ境界に電流源がある場合は、スーパーメッシュおよび電流制約が必要になる場合がある。どちらの手法を選ぶかは、未知数と制約のどちらが少ないかによるもので、毎回両方の方法を使用する必要はない。
重ね合わせ:独立励磁をオフにし、ネットワーク関係を保持する
線形回路では、各独立源が引き起こす電圧または電流応答を個別に計算し、符号に従って加算することができる。独立理想電圧源をゼロにすると短絡になり、独立理想電流源をゼロにすると開放になる。実在する源モデルにおける直列または並列抵抗は保持される。従属源は回路変数に依存するため、独立源のように任意にオフにすることはできない。MIT:回路抽象と重ね合わせ
別の単純なノード N を考える:これは 12 V、6 V、およびグランドへそれぞれ 10 kΩ の抵抗を介して接続されている。ノード式は (V_N−12)/10k + (V_N−6)/10k + V_N/10k = 0 となり、V_N = 6 V が得られる。12 V の源のみを保持すると寄与は 4 V、6 V の源のみを保持すると寄与は 2 V となり、合計は依然として 6 V である。
しかし、グランド抵抗の実効電力は 6²/10k = 3.6 mW である。2つの個別結果の電力を加算すると 4²/10k + 2²/10k = 2 mW となり、平方展開の交差項が漏れている。正しい手順は、求めたい電圧または電流を先に重ね合わせ、その後で電力を計算することである。
コンデンサやインダクタの線形動的応答にも重ね合わせを使用できるが、初期エネルギー蓄積の寄与も処理する必要がある。ダイオード整流などの非線形過程は通常、源ごとに直接加算することはできない。小信号線形化によって得られる局所モデルのみが、対応する適用範囲を持つ。
テブナンとノートン:ポートの外観のみを置き換える
負荷を取り外し、A とグランドから元の分圧器を覗き込む。開放電圧 V_th = 6 V である。独立 12 V 理想電源をゼロにすると、ポートから見た場合、2つの 10 kΩ はともにグランドへ接続されるため、R_th = 5 kΩ となる。元のネットワークは、このポート上で 6 V 電圧源と 5 kΩ の直列 として等価できる。
負荷がポートから電流 I を引き出すとき、ポート関係は V = V_th − IR_th である。R_L を接続すると、I = V_th/(R_th+R_L) となり、ポート電圧は V_th·R_L/(R_th+R_L) となる。これは前述の 4 V を再現するが、負荷が変化するたびに元のネットワーク内部の各枝路がどのように分流するかを知る必要はない。
ノートン形式は、電流源 I_N = V_th/R_th = 1.2 mA と 5 kΩ の並列であり、方向は出力ノードへ電流を供給するものとする。ポートを短絡すると全電流が短絡路を流れ、開放すると電流が並列抵抗を流れ、6 V を発生させる。ここでの短絡電流は理想モデルの計算値であり、実際の電源を短絡して測定する操作を求めるものではない。
従属源がある場合の等価抵抗の求め方
従属源を保持したまま独立源のみをゼロにし、ポートにテスト電圧またはテスト電流を印加し、R_th = V_test/I_test を求める。電流の向きはネットワークへ流入する方向とする。従属源はポート抵抗を変更する可能性があるため、見える抵抗のみを直並列接続してはならない。MIT:従属源を含むポート等価の例題
これらの等価は、ポート関係が対応する有限パラメータで表現できることを要求する。理想電流源、理想電圧源などの極限形式は、有限の別の源パラメータで相互に変換できない場合がある。アクティブネットワークの等価抵抗が負数になる可能性もある。直流抵抗等価は、エネルギー素子を含む全時域挙動を直接置き換えることはできない。正弦定常状態では対応する周波数のインピーダンスを使用し、過渡現象では初期条件を保持する必要がある。
最大電力、効率、および入出力インピーダンス
固定された V_th、正の R_th および可変の正抵抗負荷に対して、P_L = V_th²R_L/(R_th+R_L)² であり、R_L = R_th のときに最大となる。本例では R_L = 5 kΩ、負荷電圧 3 V、P_L = 1.8 mW である。
「理想源と実在の損失抵抗の直列」モデルにおいて、このとき直列抵抗と負荷の消費は等しく、効率は 50% となる。ポート等価は元のネットワーク内部の消費電力を保持しない ため、この 50% を任意の複雑なネットワークの実効効率と見なしてはならない。例えば、本例の元の分圧器はこの負荷において、電源電流は 0.9 mA、入力電力は 10.8 mW であり、負荷が得るのは 1.8 mW のみで、実際の実効比率は 1/6 である。
目標 一般的な方向性 必須の制限事項
源電圧をできるだけ保持 負荷入力抵抗が源出力抵抗より十分大きい 入力コンデンサ、帯域幅などにも影響を受ける
源電流をできるだけ保持 電流源の出力抵抗が大きい 負荷電圧は追従範囲内にある必要がある
抵抗モデル下で最大負荷電力を取得 R_L = R_th 最高効率や最適な電圧安定化を意味しない
高周波伝送および反射制御 伝送線路および複素インピーダンスモデルを使用 直流抵抗のみの等価では不十分
入力抵抗はポートが前段に与える負荷を記述し、出力抵抗は出力が負荷によってどのように変化するかを記述する。動的シナリオでは入出力インピーダンスと言うべきである。理想電圧増幅器は高い入力インピーダンスと低い出力インピーダンスをしばしば採用し、電流増幅器は低い入力インピーダンスと高い出力インピーダンスをしばしば採用するが、これはポートタイプのモデル目標であり、すべての増幅回路に対する統一された設計規則ではない。
電源と負荷が一致する動作点は?
RL=5 kΩ でこの端子モデルの負荷電力が最大になる。効率を見ると負荷電力は同じでも内部入力電力は異なる。端子特性の一致は内部の等価を意味しない。
V = V t h − I R t h = I R L , P L = ( R t h + R L ) 2 V t h 2 R L
図を準備しています 再読み込み
電源と負荷が一致する動作点は? テブナン等価は端子動作点を保つが、内部損失は保たない。
{"id":"thevenin-load-intersection","title":"電源と負荷が一致する動作点は?","summary":"テブナン等価は端子動作点を保つが、内部損失は保たない。","height":1000,"html":"<h2 data-i18n=\"heading\"></h2><p class=\"intro\" data-i18n=\"intro\"></p><div class=\"control\"><label for=\"r\" data-i18n=\"r\"></label><output for=\"r\" id=\"r-value\"></output><input id=\"r\" type=\"range\" min=\"1\" max=\"50\" value=\"10\" step=\"1\"></div><div class=\"chart-wrap\"><div class=\"chart-label\" data-i18n=\"plot\"></div><svg id=\"plot\" class=\"curve\" viewBox=\"0 0 360 210\" role=\"img\" data-i18n-label=\"plot\"></svg></div><div class=\"metrics\"><div><span data-i18n=\"voltage\"></span><strong id=\"voltage\"></strong></div><div><span data-i18n=\"power\"></span><strong id=\"power\"></strong></div><div><span data-i18n=\"real\"></span><strong id=\"real\"></strong></div><div><span data-i18n=\"equiv\"></span><strong id=\"equiv\"></strong></div></div><p class=\"formula\" id=\"eq\"></p><details class=\"scope\"><summary data-i18n=\"scopeLabel\"></summary><p data-i18n=\"scope\"></p></details>","css":".intro{margin:8px 0 18px;color:var(--muted);font-size:14px}.caption,.hint{font-size:12px;color:var(--muted);margin-top:12px}.control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;margin:14px 0;font-size:13px}.control label{font-size:13px}.control output{color:var(--accent);min-width:5em;text-align:right;font-variant-numeric:tabular-nums}.control input{grid-column:1/-1;width:100%;margin:0}.presets{display:flex;gap:4px;align-items:stretch}.presets button{flex:1 1 0;min-width:0;overflow-wrap:anywhere;font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.actions button{flex:1;min-width:0;font-size:13px;min-height:42px}.copy{display:grid;font-size:14px;margin:16px 0}.copy>*{grid-area:1/1;margin:0}.reserve{visibility:hidden}.scope{margin-top:14px;color:var(--muted);font-size:12px}.scope summary{padding:8px 0;cursor:pointer}.scope p{margin-top:10px}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.card{border:1px solid var(--rule);border-radius:9px;padding:14px;min-width:0}.card header{font-size:14px;font-weight:600;margin-bottom:10px}.card button{font-size:12px;width:100%;min-width:0}.card small{display:block;font-size:12px;color:var(--muted)}.card code{font-size:12px;overflow-wrap:anywhere}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.metrics>div{border-left:2px solid var(--accent);padding-left:10px;min-width:0}.metrics span{display:block;min-height:3.2em;color:var(--muted);font-size:12px}.metrics strong{font-size:23px;display:block;font-weight:550;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.formula{border-top:1px solid var(--rule);padding-top:12px;margin-top:14px;font-size:13px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.value{font:550 20px ui-monospace,monospace}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted);margin:12px 0}.legend span:before{content:'';display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--accent);margin-right:6px}.legend .second:before{background:var(--second)}.check{display:flex;align-items:center;gap:8px;font-size:13px;margin:12px 0}.check input{width:16px;height:16px;flex-shrink:0;accent-color:var(--accent)}select,input[type=text],input[type=number]{background:var(--paper);color:var(--ink);font:inherit;font-size:13px;padding:10px;border:1px solid var(--rule);border-radius:7px;max-width:100%;min-width:0}select{width:100%;min-height:42px}.band{height:20px;display:flex;background:var(--surface);border-radius:4px;overflow:hidden}.band i{height:100%;display:block;background:var(--accent);transition:width .25s}.band i.second{background:var(--second)}button:disabled{cursor:default}.status{font-size:13px;min-height:4.8em}.mono{font-family:ui-monospace,monospace;font-variant-numeric:tabular-nums}.muted{color:var(--muted)}\n@media(max-width:480px){.two{gap:8px}.card{padding:12px 9px}.actions button,.presets button{font-size:12px}.metrics strong{font-size:20px}.metrics{gap:8px}}\n@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}\n.track-row{margin:16px 0}.track-row>span{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}.track{display:flex;gap:5px;min-width:0}.cell{flex:1;min-width:0;min-height:48px;border:1px solid var(--rule);border-radius:5px;background:var(--surface);display:flex;align-items:center;justify-content:center;text-align:center;padding:5px 3px;font-size:12px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.cell.on{background:var(--accent-soft);border-color:var(--accent)}.cell.gold{background:var(--second-soft);border-color:var(--second)}.cell.empty{border-style:dashed;color:var(--muted)}.cell.error{border-color:var(--second);text-decoration:line-through}.choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:14px 0}.choices button{min-width:0;padding:10px 4px;font-size:12px;overflow-wrap:anywhere}.choices button[aria-current=true]{border-color:var(--accent);background:var(--accent-soft)}.relation{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);align-items:center;gap:6px;margin:12px 0}.relation .cell{min-height:72px}.relation>i{text-align:center;font-style:normal;color:var(--accent)}.readout{font-size:13px;white-space:pre-line;min-height:6.4em;overflow-wrap:anywhere}.plot{position:relative;border-left:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:8px 0;margin:18px 0}.plot-row{height:28px;position:relative;margin:4px 0;background:var(--surface)}.plot-row i{position:absolute;inset-block:5px;background:var(--accent);min-width:2px;transition:width .2s,left .2s}.plot-row b{position:relative;padding:4px 6px;font:11px/28px ui-monospace,monospace;background:var(--paper);border-radius:3px}.axis{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}\n\n/* Action labels must remain readable across locales and narrow embeds. */\n.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}\n.actions button{overflow-wrap:anywhere;white-space:normal;min-height:58px;padding:8px}\nbutton{overflow-wrap:anywhere}\n@media(min-width:640px){.actions{grid-template-columns:repeat(3,minmax(0,1fr))}}\n\n.metrics span{overflow-wrap:anywhere}\n.panel{border:1px solid var(--rule);border-radius:9px;padding:12px;margin:14px 0;min-width:0}.panel h3{font-size:13px;margin:0 0 10px;color:var(--muted)}.source{font:13px/1.8 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0}.source mark{background:var(--accent-soft);color:var(--ink);border-bottom:2px solid var(--accent)}.source .fault{background:var(--second-soft);border-color:var(--second)}.diagram{display:block;width:100%;height:auto;max-height:320px;margin:14px 0;overflow:visible}.diagram text{fill:var(--ink);font:12px ui-monospace,monospace}.diagram .edge{stroke:var(--muted);stroke-width:1.5;fill:none}.diagram .edge.on{stroke:var(--accent);stroke-width:3}.diagram .node{fill:var(--surface);stroke:var(--rule);stroke-width:1.5}.diagram .node.on{fill:var(--accent-soft);stroke:var(--accent)}.diagram .node.gold{fill:var(--second-soft);stroke:var(--second)}.log{font:12px/1.8 ui-monospace,monospace;white-space:pre-line;overflow-wrap:anywhere;min-height:7.2em}.table{display:grid;gap:5px;margin:14px 0}.table .tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.table .tr>*{padding:8px 5px;background:var(--surface);border-radius:4px;min-width:0;overflow-wrap:anywhere;font-size:12px}.table .tr .on{background:var(--accent-soft)}.table .tr .gold{background:var(--second-soft)}.choices button{min-height:44px}.metrics strong{min-height:1.6em}.code-line{display:block}.code-line.on{background:var(--accent-soft);border-left:2px solid var(--accent);padding-left:6px}.status-badge{font-size:12px;color:var(--accent)}.tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.tile-grid .cell{min-height:40px}.actions button{min-height:48px}.form-field{display:grid;gap:8px;margin:14px 0;font-size:13px}.form-field input{width:100%;font-family:ui-monospace,monospace}.metrics.three{grid-template-columns:repeat(3,minmax(0,1fr))}.formula{min-height:3.2em}.presets{flex-wrap:wrap}.presets button{flex-basis:25%;min-height:44px}\n\n.budget{display:flex;height:28px;margin:16px 0;background:var(--surface);border-radius:5px;overflow:hidden}.budget i{display:block;background:var(--accent);transition:width .2s}.budget i.gold{background:var(--second)}.intervals{margin:16px 0}.interval{position:relative;height:36px;background:var(--surface);margin:6px 0;border-radius:4px;overflow:hidden}.interval i{position:absolute;height:100%;background:var(--accent-soft);border-left:2px solid var(--accent)}.interval i.gold{background:var(--second-soft);border-color:var(--second)}.interval span{position:relative;z-index:1;font:12px/36px ui-monospace,monospace;padding-left:7px}.table .tr>*{min-height:4.8em}.formula{white-space:pre-line;min-height:7.2em}.actions:has(>button:only-child){grid-template-columns:1fr}.metrics strong{min-height:3.2em}.rangegrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;margin:14px 0}.rangegrid .cell{min-height:30px;padding:3px 1px;font-size:10px}.message{min-height:7.2em;white-space:pre-line;font:13px/1.8 ui-monospace,monospace;overflow-wrap:anywhere}\n/* Allow CJK hanging punctuation without overflowing a metric's border box. */\n.metrics>div{padding-right:4px}.metrics span{line-break:anywhere}\n\n.chart-wrap{margin:18px 0}.chart-label{font-size:12px;color:var(--muted);min-height:3.2em}.curve{display:block;width:100%;height:auto;max-height:320px;overflow:visible}.curve text{font:11px ui-monospace,monospace;fill:var(--muted)}.gridline{stroke:var(--rule);stroke-width:1}.metrics strong{font-size:20px;min-height:3.2em}.formula{font:12px/1.8 ui-monospace,monospace;min-height:9em}.readout{min-height:8em}.presets button{flex-basis:30%}.scope p{overflow-wrap:anywhere} .unit-note{font-size:12px;color:var(--muted);margin:10px 0}\n\n.metrics span{word-break:break-all;line-break:strict}.metrics>div{padding-right:6px}\n\n","js":"const $=s=>document.querySelector(s);const set=(id,v)=>$('#'+id).textContent=v;const t=k=>viz.t(k);function cells(id,values){$('#'+id).replaceChildren(...values.map(v=>{const e=document.createElement('div');e.className='cell '+(v.cls||'');e.textContent=v.text;e.title=v.title||v.text;return e;}));}function pressed(mode){document.querySelectorAll('[data-mode]').forEach(e=>e.setAttribute('aria-pressed',String(e.dataset.mode===mode)));}const esc=s=>String(s).replace(/[&<>\"']/g,c=>({'&':'&','<':'<','>':'>','\"':'"',\"'\":'''}[c]));const fmt=s=>'{'+[...s].sort().join(', ')+'}';function graph(id,nodes,edges){const el=$('#'+id);el.setAttribute('viewBox','0 0 360 200');el.innerHTML='<defs><marker id=\"arrow-'+id+'\" viewBox=\"0 0 10 10\" refX=\"8\" refY=\"5\" markerWidth=\"5\" markerHeight=\"5\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 10 5 L 0 10 z\" fill=\"var(--muted)\"/></marker></defs>'+edges.map(e=>{const a=nodes[e[0]],b=nodes[e[1]],dx=b.x-a.x,dy=b.y-a.y,d=Math.hypot(dx,dy)||1;if(edges.some(r=>r[0]===e[1]&&r[1]===e[0])){const nx=-dy/d,ny=dx/d;return '<path class=\"edge '+(e[2]?'on':'')+'\" d=\"M '+(a.x+dx/d*22+nx*12)+' '+(a.y+dy/d*22+ny*12)+' Q '+((a.x+b.x)/2+nx*38)+' '+((a.y+b.y)/2+ny*38)+' '+(b.x-dx/d*25+nx*12)+' '+(b.y-dy/d*25+ny*12)+'\" marker-end=\"url(#arrow-'+id+')\"/>';}return '<line class=\"edge '+(e[2]?'on':'')+'\" x1=\"'+(a.x+dx/d*25)+'\" y1=\"'+(a.y+dy/d*25)+'\" x2=\"'+(b.x-dx/d*28)+'\" y2=\"'+(b.y-dy/d*28)+'\" marker-end=\"url(#arrow-'+id+')\"/>';}).join('')+nodes.map(n=>'<g><circle class=\"node '+(n.cls||'')+'\" cx=\"'+n.x+'\" cy=\"'+n.y+'\" r=\"25\"/><text x=\"'+n.x+'\" y=\"'+(n.y+4)+'\" text-anchor=\"middle\">'+esc(n.name)+'</text>'+(n.sub?'<text x=\"'+n.x+'\" y=\"'+(n.y+43)+'\" text-anchor=\"middle\">'+esc(n.sub)+'</text>':'')+'</g>').join('');}function table(id,rows){$('#'+id).classList.add('table');$('#'+id).replaceChildren(...rows.map(r=>{const row=document.createElement('div');row.className='tr';row.style.gridTemplateColumns='repeat('+r.length+',minmax(0,1fr))';r.forEach(x=>{const c=document.createElement('div');if(typeof x==='object'){c.textContent=x.text;c.className=x.cls||'';}else c.textContent=x;row.append(c)});return row;}));}function band(id,parts,total){$('#'+id).replaceChildren(...parts.map((p,i)=>{const e=document.createElement('i');e.style.width=(100*p.value/total)+'%';e.className=i%2?'gold':'on';e.title=p.name+': '+p.value;return e}));}function intervals(id,items,total){$('#'+id).replaceChildren(...items.map(p=>{const row=document.createElement('div');row.className='interval';const bar=document.createElement('i');bar.style.left=(100*p.start/total)+'%';bar.style.width=(100*(p.end-p.start)/total)+'%';bar.className=p.cls||'';const label=document.createElement('span');label.textContent=p.label;row.append(bar,label);return row;}));}function plot(id,series,xr,yr,opts={}){const e=$('#'+id),X=x=>42+(x-xr[0])/(xr[1]-xr[0])*298,Y=y=>175-(y-yr[0])/(yr[1]-yr[0])*148;let out='<defs><clipPath id=\"clip-'+id+'\"><rect x=\"42\" y=\"27\" width=\"298\" height=\"148\"/></clipPath></defs>';for(let i=0;i<3;i++){let x=xr[0]+i*(xr[1]-xr[0])/2,y=yr[0]+i*(yr[1]-yr[0])/2;out+='<path class=\"gridline\" d=\"M '+X(x)+' 27V175M42 '+Y(y)+'H340\"/><text x=\"'+X(x)+'\" y=\"194\" text-anchor=\"middle\">'+esc(opts.xfmt?opts.xfmt(x):Number(x.toFixed(2)))+'</text><text x=\"36\" y=\"'+(Y(y)+4)+'\" text-anchor=\"end\">'+esc(opts.yfmt?opts.yfmt(y):Number(y.toFixed(2)))+'</text>';}out+='<g clip-path=\"url(#clip-'+id+')\">';for(const s of series){out+='<path fill=\"none\" stroke=\"'+(s.color||'var(--accent)')+'\" stroke-width=\"2.5\" '+(s.dash?'stroke-dasharray=\"5 4\"':'')+' d=\"'+s.pts.map((p,i)=>(i?'L':'M')+X(p[0]).toFixed(2)+','+Y(p[1]).toFixed(2)).join(' ')+'\"/>';}for(const p of opts.points||[])out+='<circle cx=\"'+X(p[0])+'\" cy=\"'+Y(p[1])+'\" r=\"4\" fill=\"var(--second)\" stroke=\"var(--paper)\" stroke-width=\"1.5\"/>';if(opts.cursor!==undefined)out+='<path d=\"M'+X(opts.cursor)+' 27V175\" stroke=\"var(--muted)\" stroke-dasharray=\"3 3\"/>';e.innerHTML=out+'</g>';e.dataset.curves=JSON.stringify(series.map(s=>s.pts));}const curve=(fn,lo,hi,n=120)=>Array.from({length:n+1},(_,i)=>{const x=lo+(hi-lo)*i/n;return[x,fn(x)]});function inputs(draw){document.querySelectorAll('input,select').forEach(e=>{e.addEventListener('input',draw);e.addEventListener('change',draw)});draw()}const n=id=>+$('#'+id).value;const show=(id,v,d=3)=>set(id,Number(v.toFixed(d)));function draw(){let r=n('r'),i=6/(5+r),v=i*r,pl=v*i,pin=12*(12-v)/10;show('r-value',r);plot('plot',[{pts:[[0,6],[1.2,0]]},{pts:[[0,0],[1.2,1.2*r]],color:'var(--second)'}],[0,1.2],[0,6],{points:[[i,v]]});show('voltage',v);show('power',pl);show('real',100*pl/pin);show('equiv',100*pl/(6*i));set('eq','I = 6 / (5 + '+r+') = '+i.toFixed(4)+' mA\\nPload = VI = '+pl.toFixed(4)+' mW\\nPin(original) = 12(12 − V)/10 = '+pin.toFixed(4)+' mW');}inputs(draw);","audio":false,"strings":{"equiv":"等価直列電源効率(%)","heading":"電源と負荷が一致する動作点は?","intro":"負荷抵抗を変え、I–V 直線の交点を見る。","plot":"青:電源 V=6−5I、金:負荷 V=RLI","power":"負荷電力(mW)","r":"負荷 RL(kΩ)","real":"元の分圧器効率(%)","reset":"リセット","scope":"本文の 12 V、10 kΩ 二本の分圧器。横軸 mA、縦軸 V、負荷 kΩ。","scopeLabel":"モデルの範囲と前提","voltage":"端子電圧(V)"}}
RC過渡現象:初期値と終値を先に探し、コンデンサが見る抵抗を探す
元の分圧器の出力端に C = 100 nF のコンデンサを接続し、初期充電されていないと仮定する。t = 0 以降、12 V 入力が接続される。R_L がない場合、コンデンサが見るテブナン源は 6 V と 5 kΩ である。抵抗電流はコンデンサ電流に等しいため、C·dv/dt = (6−v)/5k となり、変化速度は「終値との差」に比例するため、指数関数的に近づく。
より一般的な1次応答は v(t) = v∞ + (v₀−v∞)e^(−t/τ) と書き表され、τ = R_seen C である。ここで v₀ はスイッチング後の初期コンデンサ電圧であり、インパルス電流のない通常のRC回路では、スイッチング前の電位に等しい。v∞ はスイッチング後の回路の定常値であり、R_seen はコンデンサのポートから見た等価抵抗であり、計算時には独立源をゼロにし、他の素子を保持する。OpenStax:RC回路
無負荷時、τ = 0.5 ms、v∞ = 6 V である。R_L = 10 kΩ が最初から出力に接続されている場合、v∞ は 4 V となり、R_seen = 10k∥10k∥10k = 10k/3 Ω となるため、τ ≈ 0.333 ms となる。終値のみを変更して元のRCを使用することはできない。
V ms 0 2 4 6 0 0.5 1 1.5 2 R_L なし:終値 6 V、τ = 0.5 ms R_L あり:終値 4 V、τ ≈ 0.333 ms コンデンサを同じ出力端に接続:終値と時定数の両方が負荷に応じて変化する C = 100 nF、初期値は 0 V;2つの曲線の「99%到達」はそれぞれ自身の終値に対してである。
1τ 経過すると、初期値から終値への差額の約 63.2% が完了する。5τ 経過すると、残りの誤差は約 0.674% となり、完全に充電されたわけではない。残留誤差が初期差額の ε 以内にとどまる必要がある場合、待ち時間は少なくとも −τ ln ε である。1% の場合、約 4.605τ に対応し、負荷のある本例では約 1.535 ms となる。任意の初期値に対して、「63.2% の完了」は差額の消除比率を記述するものであり、終値自体の 63.2% であるとは限らない。
複数の独立エネルギー蓄積状態、非線形素子、または時変パラメータがある場合、時定数は1つだけとは限らない。電源を遮断した後も、実際の放電経路に基づいて R_seen を再計算する必要があり、元の直列抵抗を通過すると仮定してはならない。
from fractions import Fraction as F
from math import exp , log , isclose
vin , r1 , r2 , rl = F ( 12 ) , F ( 10000 ) , F ( 10000 ) , F ( 10000 )
vth , rth = vin * r2 / ( r1 + r2 ) , 1 / ( 1 / r1 + 1 / r2 )
vl = vth * rl / ( rth + rl )
assert ( vth , rth , vl ) == ( 6 , 5000 , 4 )
assert ( vin - vl ) / r1 == vl / r2 + vl / rl
assert vth / rth == F ( 12 , 10000 )
assert ( F ( 4 ) + F ( 2 ) ) * * 2 / 10000 != F ( 4 ) * * 2 / 10000 + F ( 2 ) * * 2 / 10000
cap = 100e-9
tau = float ( 1 / ( 1 / rth + 1 / rl ) ) * cap
settling = - tau * log ( . 01)
assert isclose ( exp ( - settling / tau ) , . 01)
assert isclose ( float ( vl ) * ( 1 - exp ( - settling / tau ) ) , 3. 96 )
print ( f " 等価とノード式が一致;1% 立上り時間 { settling * 1000 :.6f } ms" )
各時定数で減るのはどの誤差?
初期値を最終値より高くすると、同じ誤差式で下降する。負荷接続で 6 V が 4 V、0.5 ms が約 0.333 ms に変わる。初期値と最終値が一致すれば実際の差は常にゼロで、表示指数は減衰係数にすぎない。
v − v ∞ = ( v 0 − v ∞ ) e − t / τ , t ε = − τ ln ε
図を準備しています 再読み込み
各時定数で減るのはどの誤差? τ ごとに残差は e⁻¹ 倍になる。負荷は最終値と時定数の両方を変える。
{"id":"rc-error-decay","title":"各時定数で減るのはどの誤差?","summary":"τ ごとに残差は e⁻¹ 倍になる。負荷は最終値と時定数の両方を変える。","height":1000,"html":"<h2 data-i18n=\"heading\"></h2><p class=\"intro\" data-i18n=\"intro\"></p><label class=\"check\"><input type=\"checkbox\" id=\"load\"><span data-i18n=\"load\"></span></label><div class=\"control\"><label for=\"initial\" data-i18n=\"initial\"></label><output for=\"initial\" id=\"initial-value\"></output><input id=\"initial\" type=\"range\" min=\"0\" max=\"8\" value=\"0\" step=\"1\"></div><div class=\"control\"><label for=\"time\" data-i18n=\"time\"></label><output for=\"time\" id=\"time-value\"></output><input id=\"time\" type=\"range\" min=\"0\" max=\"3\" value=\"0.5\" step=\"0.01\"></div><div class=\"chart-wrap\"><div class=\"chart-label\" data-i18n=\"plot\"></div><svg id=\"plot\" class=\"curve\" viewBox=\"0 0 360 210\" role=\"img\" data-i18n-label=\"plot\"></svg></div><div class=\"metrics\"><div><span data-i18n=\"voltage\"></span><strong id=\"voltage\"></strong></div><div><span data-i18n=\"tau\"></span><strong id=\"tau\"></strong></div><div><span data-i18n=\"error\"></span><strong id=\"error\"></strong></div><div><span data-i18n=\"settle\"></span><strong id=\"settle\"></strong></div></div><p class=\"formula\" id=\"eq\"></p><details class=\"scope\"><summary data-i18n=\"scopeLabel\"></summary><p data-i18n=\"scope\"></p></details>","css":".intro{margin:8px 0 18px;color:var(--muted);font-size:14px}.caption,.hint{font-size:12px;color:var(--muted);margin-top:12px}.control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;margin:14px 0;font-size:13px}.control label{font-size:13px}.control output{color:var(--accent);min-width:5em;text-align:right;font-variant-numeric:tabular-nums}.control input{grid-column:1/-1;width:100%;margin:0}.presets{display:flex;gap:4px;align-items:stretch}.presets button{flex:1 1 0;min-width:0;overflow-wrap:anywhere;font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.actions button{flex:1;min-width:0;font-size:13px;min-height:42px}.copy{display:grid;font-size:14px;margin:16px 0}.copy>*{grid-area:1/1;margin:0}.reserve{visibility:hidden}.scope{margin-top:14px;color:var(--muted);font-size:12px}.scope summary{padding:8px 0;cursor:pointer}.scope p{margin-top:10px}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.card{border:1px solid var(--rule);border-radius:9px;padding:14px;min-width:0}.card header{font-size:14px;font-weight:600;margin-bottom:10px}.card button{font-size:12px;width:100%;min-width:0}.card small{display:block;font-size:12px;color:var(--muted)}.card code{font-size:12px;overflow-wrap:anywhere}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.metrics>div{border-left:2px solid var(--accent);padding-left:10px;min-width:0}.metrics span{display:block;min-height:3.2em;color:var(--muted);font-size:12px}.metrics strong{font-size:23px;display:block;font-weight:550;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.formula{border-top:1px solid var(--rule);padding-top:12px;margin-top:14px;font-size:13px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.value{font:550 20px ui-monospace,monospace}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted);margin:12px 0}.legend span:before{content:'';display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--accent);margin-right:6px}.legend .second:before{background:var(--second)}.check{display:flex;align-items:center;gap:8px;font-size:13px;margin:12px 0}.check input{width:16px;height:16px;flex-shrink:0;accent-color:var(--accent)}select,input[type=text],input[type=number]{background:var(--paper);color:var(--ink);font:inherit;font-size:13px;padding:10px;border:1px solid var(--rule);border-radius:7px;max-width:100%;min-width:0}select{width:100%;min-height:42px}.band{height:20px;display:flex;background:var(--surface);border-radius:4px;overflow:hidden}.band i{height:100%;display:block;background:var(--accent);transition:width .25s}.band i.second{background:var(--second)}button:disabled{cursor:default}.status{font-size:13px;min-height:4.8em}.mono{font-family:ui-monospace,monospace;font-variant-numeric:tabular-nums}.muted{color:var(--muted)}\n@media(max-width:480px){.two{gap:8px}.card{padding:12px 9px}.actions button,.presets button{font-size:12px}.metrics strong{font-size:20px}.metrics{gap:8px}}\n@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}\n.track-row{margin:16px 0}.track-row>span{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}.track{display:flex;gap:5px;min-width:0}.cell{flex:1;min-width:0;min-height:48px;border:1px solid var(--rule);border-radius:5px;background:var(--surface);display:flex;align-items:center;justify-content:center;text-align:center;padding:5px 3px;font-size:12px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.cell.on{background:var(--accent-soft);border-color:var(--accent)}.cell.gold{background:var(--second-soft);border-color:var(--second)}.cell.empty{border-style:dashed;color:var(--muted)}.cell.error{border-color:var(--second);text-decoration:line-through}.choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:14px 0}.choices button{min-width:0;padding:10px 4px;font-size:12px;overflow-wrap:anywhere}.choices button[aria-current=true]{border-color:var(--accent);background:var(--accent-soft)}.relation{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);align-items:center;gap:6px;margin:12px 0}.relation .cell{min-height:72px}.relation>i{text-align:center;font-style:normal;color:var(--accent)}.readout{font-size:13px;white-space:pre-line;min-height:6.4em;overflow-wrap:anywhere}.plot{position:relative;border-left:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:8px 0;margin:18px 0}.plot-row{height:28px;position:relative;margin:4px 0;background:var(--surface)}.plot-row i{position:absolute;inset-block:5px;background:var(--accent);min-width:2px;transition:width .2s,left .2s}.plot-row b{position:relative;padding:4px 6px;font:11px/28px ui-monospace,monospace;background:var(--paper);border-radius:3px}.axis{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}\n\n/* Action labels must remain readable across locales and narrow embeds. */\n.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}\n.actions button{overflow-wrap:anywhere;white-space:normal;min-height:58px;padding:8px}\nbutton{overflow-wrap:anywhere}\n@media(min-width:640px){.actions{grid-template-columns:repeat(3,minmax(0,1fr))}}\n\n.metrics span{overflow-wrap:anywhere}\n.panel{border:1px solid var(--rule);border-radius:9px;padding:12px;margin:14px 0;min-width:0}.panel h3{font-size:13px;margin:0 0 10px;color:var(--muted)}.source{font:13px/1.8 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0}.source mark{background:var(--accent-soft);color:var(--ink);border-bottom:2px solid var(--accent)}.source .fault{background:var(--second-soft);border-color:var(--second)}.diagram{display:block;width:100%;height:auto;max-height:320px;margin:14px 0;overflow:visible}.diagram text{fill:var(--ink);font:12px ui-monospace,monospace}.diagram .edge{stroke:var(--muted);stroke-width:1.5;fill:none}.diagram .edge.on{stroke:var(--accent);stroke-width:3}.diagram .node{fill:var(--surface);stroke:var(--rule);stroke-width:1.5}.diagram .node.on{fill:var(--accent-soft);stroke:var(--accent)}.diagram .node.gold{fill:var(--second-soft);stroke:var(--second)}.log{font:12px/1.8 ui-monospace,monospace;white-space:pre-line;overflow-wrap:anywhere;min-height:7.2em}.table{display:grid;gap:5px;margin:14px 0}.table .tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.table .tr>*{padding:8px 5px;background:var(--surface);border-radius:4px;min-width:0;overflow-wrap:anywhere;font-size:12px}.table .tr .on{background:var(--accent-soft)}.table .tr .gold{background:var(--second-soft)}.choices button{min-height:44px}.metrics strong{min-height:1.6em}.code-line{display:block}.code-line.on{background:var(--accent-soft);border-left:2px solid var(--accent);padding-left:6px}.status-badge{font-size:12px;color:var(--accent)}.tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.tile-grid .cell{min-height:40px}.actions button{min-height:48px}.form-field{display:grid;gap:8px;margin:14px 0;font-size:13px}.form-field input{width:100%;font-family:ui-monospace,monospace}.metrics.three{grid-template-columns:repeat(3,minmax(0,1fr))}.formula{min-height:3.2em}.presets{flex-wrap:wrap}.presets button{flex-basis:25%;min-height:44px}\n\n.budget{display:flex;height:28px;margin:16px 0;background:var(--surface);border-radius:5px;overflow:hidden}.budget i{display:block;background:var(--accent);transition:width .2s}.budget i.gold{background:var(--second)}.intervals{margin:16px 0}.interval{position:relative;height:36px;background:var(--surface);margin:6px 0;border-radius:4px;overflow:hidden}.interval i{position:absolute;height:100%;background:var(--accent-soft);border-left:2px solid var(--accent)}.interval i.gold{background:var(--second-soft);border-color:var(--second)}.interval span{position:relative;z-index:1;font:12px/36px ui-monospace,monospace;padding-left:7px}.table .tr>*{min-height:4.8em}.formula{white-space:pre-line;min-height:7.2em}.actions:has(>button:only-child){grid-template-columns:1fr}.metrics strong{min-height:3.2em}.rangegrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;margin:14px 0}.rangegrid .cell{min-height:30px;padding:3px 1px;font-size:10px}.message{min-height:7.2em;white-space:pre-line;font:13px/1.8 ui-monospace,monospace;overflow-wrap:anywhere}\n/* Allow CJK hanging punctuation without overflowing a metric's border box. */\n.metrics>div{padding-right:4px}.metrics span{line-break:anywhere}\n\n.chart-wrap{margin:18px 0}.chart-label{font-size:12px;color:var(--muted);min-height:3.2em}.curve{display:block;width:100%;height:auto;max-height:320px;overflow:visible}.curve text{font:11px ui-monospace,monospace;fill:var(--muted)}.gridline{stroke:var(--rule);stroke-width:1}.metrics strong{font-size:20px;min-height:3.2em}.formula{font:12px/1.8 ui-monospace,monospace;min-height:9em}.readout{min-height:8em}.presets button{flex-basis:30%}.scope p{overflow-wrap:anywhere} .unit-note{font-size:12px;color:var(--muted);margin:10px 0}\n\n.metrics span{word-break:break-all;line-break:strict}.metrics>div{padding-right:6px}\n\n","js":"const $=s=>document.querySelector(s);const set=(id,v)=>$('#'+id).textContent=v;const t=k=>viz.t(k);function cells(id,values){$('#'+id).replaceChildren(...values.map(v=>{const e=document.createElement('div');e.className='cell '+(v.cls||'');e.textContent=v.text;e.title=v.title||v.text;return e;}));}function pressed(mode){document.querySelectorAll('[data-mode]').forEach(e=>e.setAttribute('aria-pressed',String(e.dataset.mode===mode)));}const esc=s=>String(s).replace(/[&<>\"']/g,c=>({'&':'&','<':'<','>':'>','\"':'"',\"'\":'''}[c]));const fmt=s=>'{'+[...s].sort().join(', ')+'}';function graph(id,nodes,edges){const el=$('#'+id);el.setAttribute('viewBox','0 0 360 200');el.innerHTML='<defs><marker id=\"arrow-'+id+'\" viewBox=\"0 0 10 10\" refX=\"8\" refY=\"5\" markerWidth=\"5\" markerHeight=\"5\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 10 5 L 0 10 z\" fill=\"var(--muted)\"/></marker></defs>'+edges.map(e=>{const a=nodes[e[0]],b=nodes[e[1]],dx=b.x-a.x,dy=b.y-a.y,d=Math.hypot(dx,dy)||1;if(edges.some(r=>r[0]===e[1]&&r[1]===e[0])){const nx=-dy/d,ny=dx/d;return '<path class=\"edge '+(e[2]?'on':'')+'\" d=\"M '+(a.x+dx/d*22+nx*12)+' '+(a.y+dy/d*22+ny*12)+' Q '+((a.x+b.x)/2+nx*38)+' '+((a.y+b.y)/2+ny*38)+' '+(b.x-dx/d*25+nx*12)+' '+(b.y-dy/d*25+ny*12)+'\" marker-end=\"url(#arrow-'+id+')\"/>';}return '<line class=\"edge '+(e[2]?'on':'')+'\" x1=\"'+(a.x+dx/d*25)+'\" y1=\"'+(a.y+dy/d*25)+'\" x2=\"'+(b.x-dx/d*28)+'\" y2=\"'+(b.y-dy/d*28)+'\" marker-end=\"url(#arrow-'+id+')\"/>';}).join('')+nodes.map(n=>'<g><circle class=\"node '+(n.cls||'')+'\" cx=\"'+n.x+'\" cy=\"'+n.y+'\" r=\"25\"/><text x=\"'+n.x+'\" y=\"'+(n.y+4)+'\" text-anchor=\"middle\">'+esc(n.name)+'</text>'+(n.sub?'<text x=\"'+n.x+'\" y=\"'+(n.y+43)+'\" text-anchor=\"middle\">'+esc(n.sub)+'</text>':'')+'</g>').join('');}function table(id,rows){$('#'+id).classList.add('table');$('#'+id).replaceChildren(...rows.map(r=>{const row=document.createElement('div');row.className='tr';row.style.gridTemplateColumns='repeat('+r.length+',minmax(0,1fr))';r.forEach(x=>{const c=document.createElement('div');if(typeof x==='object'){c.textContent=x.text;c.className=x.cls||'';}else c.textContent=x;row.append(c)});return row;}));}function band(id,parts,total){$('#'+id).replaceChildren(...parts.map((p,i)=>{const e=document.createElement('i');e.style.width=(100*p.value/total)+'%';e.className=i%2?'gold':'on';e.title=p.name+': '+p.value;return e}));}function intervals(id,items,total){$('#'+id).replaceChildren(...items.map(p=>{const row=document.createElement('div');row.className='interval';const bar=document.createElement('i');bar.style.left=(100*p.start/total)+'%';bar.style.width=(100*(p.end-p.start)/total)+'%';bar.className=p.cls||'';const label=document.createElement('span');label.textContent=p.label;row.append(bar,label);return row;}));}function plot(id,series,xr,yr,opts={}){const e=$('#'+id),X=x=>42+(x-xr[0])/(xr[1]-xr[0])*298,Y=y=>175-(y-yr[0])/(yr[1]-yr[0])*148;let out='<defs><clipPath id=\"clip-'+id+'\"><rect x=\"42\" y=\"27\" width=\"298\" height=\"148\"/></clipPath></defs>';for(let i=0;i<3;i++){let x=xr[0]+i*(xr[1]-xr[0])/2,y=yr[0]+i*(yr[1]-yr[0])/2;out+='<path class=\"gridline\" d=\"M '+X(x)+' 27V175M42 '+Y(y)+'H340\"/><text x=\"'+X(x)+'\" y=\"194\" text-anchor=\"middle\">'+esc(opts.xfmt?opts.xfmt(x):Number(x.toFixed(2)))+'</text><text x=\"36\" y=\"'+(Y(y)+4)+'\" text-anchor=\"end\">'+esc(opts.yfmt?opts.yfmt(y):Number(y.toFixed(2)))+'</text>';}out+='<g clip-path=\"url(#clip-'+id+')\">';for(const s of series){out+='<path fill=\"none\" stroke=\"'+(s.color||'var(--accent)')+'\" stroke-width=\"2.5\" '+(s.dash?'stroke-dasharray=\"5 4\"':'')+' d=\"'+s.pts.map((p,i)=>(i?'L':'M')+X(p[0]).toFixed(2)+','+Y(p[1]).toFixed(2)).join(' ')+'\"/>';}for(const p of opts.points||[])out+='<circle cx=\"'+X(p[0])+'\" cy=\"'+Y(p[1])+'\" r=\"4\" fill=\"var(--second)\" stroke=\"var(--paper)\" stroke-width=\"1.5\"/>';if(opts.cursor!==undefined)out+='<path d=\"M'+X(opts.cursor)+' 27V175\" stroke=\"var(--muted)\" stroke-dasharray=\"3 3\"/>';e.innerHTML=out+'</g>';e.dataset.curves=JSON.stringify(series.map(s=>s.pts));}const curve=(fn,lo,hi,n=120)=>Array.from({length:n+1},(_,i)=>{const x=lo+(hi-lo)*i/n;return[x,fn(x)]});function inputs(draw){document.querySelectorAll('input,select').forEach(e=>{e.addEventListener('input',draw);e.addEventListener('change',draw)});draw()}const n=id=>+$('#'+id).value;const show=(id,v,d=3)=>set(id,Number(v.toFixed(d)));function draw(){let loaded=$('#load').checked,vf=loaded?4:6,tau=loaded?1/3:.5,v0=n('initial'),time=n('time'),err=Math.exp(-time/tau),v=t=>vf+(v0-vf)*Math.exp(-t/tau);show('initial-value',v0);show('time-value',time);plot('plot',[{pts:curve(v,0,3)},{pts:[[0,vf],[3,vf]],dash:true,color:'var(--second)'}],[0,3],[0,8],{cursor:time,points:[[time,v(time)]]});show('voltage',v(time));show('tau',tau);show('error',100*err);show('settle',-tau*Math.log(.01));set('eq','v = '+vf+' + ('+v0+' − '+vf+')e^(−t/'+tau.toFixed(3)+')\\n(v − v∞) = (v0 − v∞) × '+err.toFixed(5)+(v0===vf?'\\nv0 = v∞: Δv = 0':''));}inputs(draw);","audio":false,"strings":{"error":"残差の割合(%)","heading":"各時定数で減るのはどの誤差?","initial":"初期電圧(V)","intro":"時刻、初期電圧、負荷を変え、残る差を見る。","load":"10 kΩ 負荷を接続","plot":"横軸 ms、縦軸 V、破線:最終値","reset":"リセット","scope":"12 V 分圧器、R1=R2=10 kΩ、C=100 nF。10 kΩ 負荷を選択できる理想一次モデル。","scopeLabel":"モデルの範囲と前提","settle":"1% 整定時間(ms)","tau":"時定数(ms)","time":"観測時刻(ms)","voltage":"コンデンサ電圧(V)"}}
Δ–Y 変換:端子名に基づいて式を覚える
ネットワークが直接直並列にできない場合、3端子抵抗ネットワークは変換できることがある。三角形の3辺を R_AB、R_BC、R_CA と定義し、星形は中心 O から A、B、C への3腕を r_A、r_B、r_C とする。名称が直接端子を指すため、「どの抵抗が向かい側にあるか」という図形の記憶ミスを避けることができる。
S = R_AB + R_BC + R_CA とすると、三角形から星形への変換は以下の通り:
星形腕 計算式
r_A R_AB·R_CA/S
r_B R_AB·R_BC/S
r_C R_BC·R_CA/S
逆方向に P = r_A r_B + r_B r_C + r_C r_A と設定すると、R_AB = P/r_C、R_BC = P/r_A、R_CA = P/r_B となる。分母は、求めたい三角形の辺に対向する星形腕である。
例えば、三角形の各辺が 3 Ω の場合、等価な星形の各腕は 1 Ω となる。C 端子を外部で開放すると、元のネットワークの A–B 間は 3 Ω と 6 Ω の並列となり、2 Ω となる。星形では 1 Ω が2つ直列接続され、これも 2 Ω となる。保持されるのは外部の3端子間の関係であり、内部の各抵抗の電流や消費電力ではない。
解析終了時、少なくとも答えを元の回路の1つのノード式と1つのループ式に代入して確認する。ポート等価は計算が便利であるが、元のネットワーク中の電力、局部発熱、および素子の定格値は、元の接続に戻って確認する必要がある。次の記事 抵抗 では、理想 R を実在の素子パラメータへ拡張し続ける。