On Tuesday, 28 June 2022 at 08:03:05 UTC+1 federic...@gmail.com wrote: > > Hi Aaron, thank you for the reply. > > The code I have in my notebook (I'm using google colab) is this now (at > the end of the post), but using w is not working anymore. > Anyway, if I move back to use the line w = 2 * sp.pi * 50 I still get a > unreadble result. > The result should be something like the nice wikipedia result I found > there: > > https://it.wikipedia.org/wiki/Circuito_RC#Risposta_in_frequenza_del_circuito_RC > Is there a way to get the a readble result? (something like the following > latex) > {\displaystyle v_{C}(t)=v_{C}(0)e^{-{\frac {t}{\tau }}}+K\cos(\omega > t+\theta )} > The wikipedia result has tau=R*C, theta is an angle displacement, and K > don't know what is. >
The result that I see is similar: In [13]: diffeq Out[13]: d vo⋅cos(100⋅π⋅t) vc(t) ──(vc(t)) - ─────────────── + ───── dt C⋅R C⋅R In [12]: res Out[12]: -t ─── C⋅R 100⋅π⋅C⋅R⋅vo⋅sin(100⋅π⋅t) vo⋅cos(100⋅π⋅t) vo⋅ℯ vc(t) = ───────────────────────── + ────────────────── - ────────────────── 2 2 2 2 2 2 2 2 2 10000⋅π ⋅C ⋅R + 1 10000⋅π ⋅C ⋅R + 1 10000⋅π ⋅C ⋅R + 1 The main difference is that the constant K is given explicitly here in terms of C, R and v0. If you want to substitute for tau and K you can do something like: In [19]: tau, K = symbols('tau, K') In [20]: res.subs(C, tau/R).subs(vo, K*(1 + 10000*pi**2*tau**2)) Out[20]: -t ─── τ vc(t) = 100⋅π⋅K⋅τ⋅sin(100⋅π⋅t) + K⋅cos(100⋅π⋅t) - K⋅ℯ You can see now something more similar. The difference is that you have sin and cos rather than cos with a phase shift theta but those are equivalent under trigonometric identities. Another difference is the constant K on the exponential term but the wikipedia solution is incorrect there: > In the italian wikipedia there's this piece (I try to translate) that I > would like to reproduce in a notebook: > > Let's see how does the RC circuit works with a sine wave. We can use > voltage Kirchhoff law: > {\displaystyle V_{0}\cos(\omega t)=R\cdot i(t)+v_{C}(t)} > > we can rewrite the equation like: > {\displaystyle V_{0}\cos(\omega t)=RC{\frac {dv_{C}(t)}{dt}}+v_{C}(t)} > > and then solve the differential equation with constant coefficients with a > known therm: > {\displaystyle {\frac {dv_{C}(t)}{dt}}+{\frac {1}{\tau }}v_{C}(t)={\frac > {V_{0}\cos(\omega t)}{\tau }}} > > where \tau =RC is still the time constant of the circuit. > The general solution come from the sum of the associated homogeneous > solution: > > > v_{C}(t)=v_{C}(0)e^{-{\frac {t}{\tau }}} > It is incorrect to use v_C(0) here. There should be a constant there but it is not generally equal to the initial condition. > and a particolar solution: > {\displaystyle K\cos(\omega t+\theta )\ } > > where K is a constant. So: > > > {\displaystyle v_{C}(t)=v_{C}(0)e^{-{\frac {t}{\tau }}}+K\cos(\omega > t+\theta )} > You can see that this is incorrect if you just substitute t=0. -- Oscar -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/fa167eb2-dc3e-42ea-a421-8ca32482a014n%40googlegroups.com.