下图显示了RLC电路。RLC电路是由串联或并联连接的电阻器(R),电感器(L)和电容器(C)组成的电路。(1)
为了简化计算,通常在频率(Laplace)域而不是时域中工作。
您的任务是:
就拿值R
,L
并C
作为输入,并返回电压VR
,VL
并VC
到Laplace域的转换如下:
R = R
XL = j*w*L // OK, XL = w*L, and ZL = j*XL, but don't mind this here.
XC = 1/(j*w*C) // I haven't ruined physics, it's only a minor terminology tweak
其中j = sqrt(-1)
和w = 2*pi*50
(频率为50 Hz)。
组件串联时的组合阻抗为Z = R + XL + XC
。您可能还记得U = R*I
高中物理课。几乎相同,但现在有点复杂:VS = Z*I
。通过将电压VS
除以总阻抗可得出电流Z
。要查找单个组件上的电压,您需要知道电流,然后将其乘以阻抗。为简单起见,假定电压为VS = 1+0*j
。
您可能需要的公式是:
XL = j*w*L
XC = 1/(j*w*C)
Z = R + XL + XC // The combined impedance of the circuit
I = VS / Z // The current I (Voltage divided by impedance)
VR = I * R // Voltage over resistance (Current times resistance)
VL = I * XL // Voltage over inductor (Current times impedance)
VC = I * XC // Voltage over capacitor (Current times impedance)
输入来自STDIN或作为函数参数。输出/结果必须是三个复数,以列表,字符串或您的语言最实用的形式出现。VR = ...
只要结果按以下相同顺序,就不必包括名称(ex )。实部和虚部的精度都必须至少为3个小数点。如果您的语言是默认输入和输出/结果,则可以用科学计数法表示。
R
和L
是>= 0
,和C > 0
。R, L, C <= inf
(或您所用语言中的最高编号)。
一个简单的测试用例:
R = 1, L = 1, C = 0.00001
VR = 0.0549 + 0.2277i
VL = -71.5372 +17.2353i
VC = 72.4824 -17.4630i
对于上面的结果,这可能是一种(许多)有效的输出格式:
(0.0549 + 0.2277i, -71.5372 +17.2353i, 72.4824 -17.4630i)
一个电压值的一些有效输出格式为:
1.234+i1.234, 1.23456+1.23456i, 1.2345+i*1.2345, 1.234e001+j*1.234e001.
该列表不是唯一的,因此可以使用其他变体,只要虚部用i
或指示j
(在电气工程中i
很常见,如电流所用)。
要验证R,L和C的其他值的结果,所有结果必须满足以下条件:VR + VL + VC = 1
。
以字节为单位的最短代码获胜!
顺便说一句:是的,它的电压超过一个组成部分,目前通过的组件。电压从未经历过任何事情。=)