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.

Reply via email to