On Tuesday, 28 June 2022 at 08:03:05 UTC+1 [email protected] 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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/sympy/fa167eb2-dc3e-42ea-a421-8ca32482a014n%40googlegroups.com.