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.
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 }}} 

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 )}

---------------- MY CODE --------------------

# define the independent variable ‘t’
from sympy.abc import t
import sympy as sp

#w = 2 * sp.pi * 50
w = sp.symbols('omega')

# define dependent variable in symbol form
vc = sp.symbols('vc', cls=sp.Function)
C, R, vo = sp.symbols('C R vo')
cos = sp.cos

diffeq = vc(t).diff(t) + (1/(R*C))*vc(t) - (vo*cos(w*t)/(R*C))
res = sp.dsolve(diffeq, ics={vc(0): 0})

res



Il giorno lunedì 27 giugno 2022 alle 22:30:32 UTC+2 ... ha scritto:

> What's the original ODE you are trying to solve? The solution you give 
> has symbols in it that aren't in your diffeq. 
>
> One change I would recommend is to use sympy.pi instead of math.pi. 
> math.pi is a float approximation to pi, whereas sympy.pi is pi 
> exactly. Alternatively, you can use w = symbols('omega') if you want 
> the solution to match the general text version. 
>
> Aaron Meurer 
>
> On Mon, Jun 27, 2022 at 2:14 PM FM 
> > 
> > Hi, I'm writing a notebook to reproduce what I can see in this wikipedia 
> page: 
> > https://it.wikipedia.org/wiki/Circuito_RC 
> > 
> > The problem is the CAP 4, I'm looking forward to get the result that 
> follow that text: 
> > dove K è una costante. Dunque: (latex folleow) 
> > {\displaystyle v_{C}(t)=v_{C}(0)e^{-{\frac {t}{\tau }}}+K\cos(\omega 
> t+\theta )} 
> > 
> > This is my code, running in a colab notebook: 
> > # define the independent variable ‘t’ 
> > from sympy.abc import t 
> > import sympy as sp 
> > import math 
> > w = 2 * math.pi * 50 
> > 
> > # define dependent variable in symbol form 
> > vc = sp.symbols('vc', cls=sp.Function) 
> > C, R, vo = sp.symbols('C R vo') 
> > cos = sp.cos 
> > 
> > diffeq = vc(t).diff(t) + (1/(R*C))*vc(t) - (vo*cos(w*t)/(R*C)) 
> > res = sp.dsolve(diffeq, ics={vc(0): 0}) 
> > 
> > res 
> > 
> > The result is really confused, compared to the nice wikipedia result. 
> > Is there a way to get the same result? (follow the latex) 
> > 
> > {\displaystyle v_{C}(t)=v_{C}(0)e^{-{\frac {t}{\tau }}}+K\cos(\omega 
> t+\theta )} 
> > 
> > Thanks so much 
>
>

-- 
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/fd8664a4-dd89-4552-b587-1ed845b5df74n%40googlegroups.com.

Reply via email to