0
だから、3式を有する: R = 5、V = 10、C = 10PythonのリニアDiffrential式
R C DUC(T)/ DT + Ucが(T)= Vdcを
をI(T)= C * DUC(T)/ dtは
ウル(T)= I(T)* R
私はどのようにしてUcが(t)を取得するscypy dsolveを用いて差分方程式を解かなく私は他の方程式で使っていますか?私は第2の式で使用する関数の派生を取ろうとしましたが、それはあなたに複数の変数を教えてくれます。
私のコード:機能とあなたが派生したい位置:
from sympy import *
import numpy as nm
import pylab as pl
t = nm.arange(0,1,0.002)
r=5
v=10
c=10
#solving diff equation
t=Symbol('t')
u=Function('u')
uu= Derivative(u(t),t)
uc = dsolve(r*c*uu+u(t)-v,u(t))
#finding i
i = c * Derivative(uc)
#finding r
ur = i*r
#plot
t = nm.arange(0,1,0.002)
u = uc
i = c * Derivative(uc)
ur = i*r
pl.subplot(3,1,1)
pl.plot(t,u, '-r')
pl.grid()
pl.ylabel('capacitator voltage')
pl.subplot(3,1,2)
pl.plot(t,i, '-b')
pl.grid()
pl.ylabel('current')
pl.subplot(3,1,3)
pl.plot(t,r, '-')
pl.grid()
pl.ylabel('resistor')
pl.show