用两只相等的电阻把 12 V 分成 6 V,接上负载却只剩 4 V,并不违反分压公式:负载改变了电路。要分析这类问题,需要从“背公式”转向辨认端口、写出方程,再判断简化模型保留了哪些关系。本篇以同一个分压器贯穿负载效应、节点法、戴维南等效和 RC 暂态。
| 任务 | 优先方法 | 本篇重点 |
| 无分支的串联或共两端的并联 | 分压、分流 | 先核对连接条件 |
| 多支路、多个电源 | 节点法;平面电路也可用网孔法 | 方程与方向一致 |
| 只关心某个负载端口 | 戴维南 / 诺顿 | 保留端口伏安关系 |
| 区分多个源的贡献 | 叠加 | 叠加电压电流,不直接叠加功率 |
| 开关后多久达到要求 | 初值、终值、时间常数 | 误差目标决定等待时间 |
基本符号与 KCL/KVL 见 基本物理量与定律。以下默认理想线性电阻和电源;非线性器件需要另建模型。
分压器为什么怕负载
R₁ 从理想输入电压 Vin 接到输出 A,R₂ 从 A 接参考地。空载时两电阻串联,所以 Vout = Vin·R₂/(R₁+R₂)。输出接入 R_L 后,下臂变成 R₂∥R_L,必须把公式中的 R₂ 替换成这个并联值。
取 Vin = 12 V,R₁ = R₂ = 10 kΩ。空载电流为 0.6 mA,输出 6 V;接入 R_L = 10 kΩ 后,下臂是 5 kΩ,总电流变成 0.8 mA,输出降至 4 V。下臂两路各 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Ω。这只是静态加载误差预算,还没有包含电阻误差、输入电压波动与输入漏电。
增大分压电阻可以降低静态耗电,却会提高输出电阻,使漏电和电容充电的影响更明显。因此分压器适合有限条件下的比例采样或偏置,不能自然当作稳定供电输出。连接开关采样输入时,还要检查采样电容的建立时间,不能只看标称输入电阻。
分流也来自相同的节点关系:两正电阻并联承受同一电压,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。第一项是负的,表示该支路实际流入 A,不是公式出错。一般两节点之间电阻支路,从 A 到 B 的参考电流为 (V_A−V_B)/R。
若理想电压源连接某节点与参考地,该节点电位直接已知。若它跨接两个未知节点,可把它们组成超节点,对外列 KCL,并补上两节点电压差约束。不要把理想电压源“电阻等于零”直接代入除法,制造除零式。
网孔电流是计算变量,不等于每条支路电流
对图中的两个窗口都定义顺时针网孔电流 i_a、i_b。左网孔含电源、R₁、R₂;右网孔含 R₂、R_L。共用的 R₂ 上,两网孔方向相反,因此向下的支路电流是 i_a−i_b。
对应方程为:
- (R₁+R₂)i_a − R₂i_b = 12;
- −R₂i_a + (R₂+R_L)i_b = 0。
代入三个 10 kΩ 得 i_a = 0.8 mA,i_b = 0.4 mA;R₂ 电流为 0.4 mA,结果与节点法一致。网孔法针对平面电路的网孔组织方程;含网孔边界电流源时可能需要超网孔及电流约束。选哪种方法主要看未知量和约束是否更少,不需要每次同时使用两种方法。
叠加:关闭的是独立激励,保留网络关系
在线性电路中,可以分别计算各独立源引起的电压或电流响应,再按符号相加。独立理想电压源置零变成短路,独立理想电流源置零变成开路;真实源模型中的串联或并联电阻仍保留。受控源依赖电路变量,不能像独立源一样任意关掉。MIT:电路抽象与叠加
另取一个简单节点 N:它分别通过三只 10 kΩ 电阻接到 12 V、6 V 和地。节点式为 (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。把两次单独结果的功率相加只有 4²/10k + 2²/10k = 2 mW,漏掉了平方展开中的交叉项。正确做法是先叠加所求电压或电流,再计算功率。
电容、电感的线性动态响应也能使用叠加,但还要处理初始储能的贡献。二极管整流等非线性过程通常不能直接逐源相加;小信号线性化得到的局部模型才有对应的适用范围。
戴维南与诺顿:只替换端口外观
将负载取下,从 A 与地看入原分压器。开路电压 V_th = 6 V;把独立 12 V 理想电源置零后,从端口看进去,两只 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=Vth−IRth=IRL,PL=(Rth+RL)2Vth2RL
正在呈现知识画面
负载与源在哪里达成同一个工作点?戴维南等效保留端口工作点,不保留原分压器的内部耗散。
{"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":"调整负载电阻,看两条伏安直线的交点。","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,变化速度与“离终值还差多少”成正比,因此呈指数逼近。
更一般的一阶响应写作: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。
经过 1τ,完成初值到终值差额的约 63.2%;经过 5τ,剩余误差约 0.674%,不是完全充满。若要求剩余误差不超过初始差额的 ε,等待时间至少为 −τ ln ε。1% 对应约 4.605τ,有负载的本例需约 1.535 ms。对于任意初值,“完成 63.2%”描述的是差额消除比例,不一定是终值本身的 63.2%。
有多个独立储能状态、非线性元件或时变参数时,不一定只有一个时间常数。断开电源后也要依据实际放电路径重算 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∞=(v0−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 变换:按端点名称记公式
当网络不能直接串并联时,三端电阻网络有时可以转换。定义三角形的三边为 R_AB、R_BC、R_CA;星形从中心 O 接到 A、B、C 的三臂为 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 Ω。保持的是外部三个端点之间的关系,不是内部每只电阻的电流或耗散。
分析结束时,至少把答案代回原电路的一条节点式和一条回路式。端口等效方便计算,但原网络中的功率、局部发热和元件额定值仍要回到原连接中核对。下一篇 电阻 继续把理想 R 扩展到实际器件参数。