通过SciPy ODE求解器验证LTspice仿真

时间:2018-09-27 13:44:10

标签: odeint circuit-diagram

对于一些演示问题,我尝试模拟电容器的电流。我的电路确实很简单。它具有2个正弦电压源(v1(t)= 2 * cos(2 * pi * 15 * t),v2(t)= 2 * cos(2 * pi * 30 * t)和1F电容器。参见我的电路和仿真图形。在上面的窗格中是我的输入电压,在下面的窗格中,图形是电容器上的伏托压降(洋红色)和电容器电流(棕色)。LTspice sim. 这是我的python代码(为了找到上限。我只是试图区分上限上的电压降。):

import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint
def v1(u,t): # input1
    return (2*np.cos(2*np.pi*5*t))
def v2(u,t): #input2
    return (2*np.cos(2*np.pi*10*t))
def v(u,t): # voltage drop
    return (v1(u,t)-v2(u,t))

n = np.zeros(1000)
t = np.linspace(0,1,1000)
v_ = v(u,t)
v1_ = v1(u,t)
v2_ = v2(u,t)
plt.subplot(2,1,1)
plt.plot(t,v1_,'green',t,v2_,'r')
plt.show()

v0 = [0]
sol = odeint(v,v0,t)
plt.subplot(2,2,1)
plt.plot(t,sol,'brown',t,(v1_-v2_),'blue')
plt.show()

Python sim.

这是我的问题:LTspice和python中的所有3个图形(v1,v2,v1-v2)都匹配,除了电容器电流。在LTspice中,电流在150A至-150A之间振荡,而在python中,电流接近0A。如果您能帮助我找到错误的地方,我将不胜感激。

0 个答案:

没有答案