次の図は、RLC回路を示しています。RLC回路は、抵抗(R)、インダクタ(L)、コンデンサ(C)で構成される電気回路で、直列または並列に接続されています。(1)
計算を簡素化するために、時間領域ではなく周波数(ラプラス)領域で作業するのが一般的です。
あなたの仕事は:
値を取りR
、L
そしてC
入力として、および電圧を返すVR
、VL
とVC
ラプラスドメインへの変換は次のとおりです。
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から、または関数の引数としてです。出力/結果は、リスト、文字列、または言語で最も実用的な3つの複素数でなければなりません。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
上記の結果の場合、これは1つ(多くの)有効な出力形式になります。
(0.0549 + 0.2277i, -71.5372 +17.2353i, 72.4824 -17.4630i)
1つの電圧値の有効な出力形式は次のとおりです。
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
。
バイト単位の最短コードが勝ちです!
はい、それの電圧:ところで以上のコンポーネント、および現在を通じてコンポーネント。電圧がまったくかかったことはありません。=)