L'immagine seguente mostra un circuito RLC. Un circuito RLC è un circuito elettrico costituito da un resistore (R), un induttore (L) e un condensatore (C), collegati in serie o in parallelo. (1)
Per semplificare i calcoli, è comune lavorare nel dominio della frequenza (Laplace) anziché nel dominio del tempo.
Il tuo compito è:
Assumere i valori R, Le Ccome input, e restituire le tensioni VR, VLeVC
La conversione al dominio Laplace è la seguente:
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
dove j = sqrt(-1)e w = 2*pi*50(La frequenza è 50 Hz).
L'impedenza combinata, quando i componenti sono in serie, è Z = R + XL + XC. Potresti ricordare U = R*Idalle lezioni di fisica delle superiori. E 'quasi la stessa, ma un po' più complessa ora: VS = Z*I. La corrente viene calcolata dividendo la tensione VSper l'impedenza totale Z. Per trovare la tensione su un singolo componente, è necessario conoscere la corrente, quindi moltiplicarla per l'impedenza. Per semplicità, si presume che la tensione sia VS = 1+0*j.
Le equazioni di cui potresti aver bisogno sono:
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)
L'input proviene da STDIN o come argomento di funzione. L'output / risultato deve essere composto da tre numeri complessi, in un elenco, stringa o qualunque cosa sia più pratica nella tua lingua. Non è necessario includere i nomi (ex VR = ...), purché i risultati siano nello stesso ordine di seguito. La precisione deve essere di almeno 3 punti decimali sia per la parte reale che per quella immaginaria. L'input e l'output / i risultati possono essere in notazione scientifica se è l'impostazione predefinita nella tua lingua.
Re Lsono >= 0, e C > 0. R, L, C <= inf(o il numero più alto possibile nella tua lingua).
Un semplice test case:
R = 1, L = 1, C = 0.00001
VR = 0.0549 + 0.2277i
VL = -71.5372 +17.2353i
VC = 72.4824 -17.4630i
Per i risultati precedenti, questo potrebbe essere uno (di molti) formati di output validi:
(0.0549 + 0.2277i, -71.5372 +17.2353i, 72.4824 -17.4630i)
Alcuni formati di uscita validi per un valore di tensione sono:
1.234+i1.234, 1.23456+1.23456i, 1.2345+i*1.2345, 1.234e001+j*1.234e001.
Questo elenco non è esclusivo, quindi è possibile utilizzare altre varianti, purché la parte immaginaria sia indicata da un io un j(comune in ingegneria elettrica come iviene utilizzato per la corrente).
Per verificare il risultato per altri valori di R, L e C, il seguente deve essere vero per tutti i risultati: VR + VL + VC = 1.
Il codice più corto in byte vince!
A proposito: Sì, è la tensione su un componente e la corrente attraverso un componente. Una tensione non ha mai attraversato nulla. =)
