import numpy as np import matplotlib.pyplot as plt plt.style.use('ggplot') #plt.figure(figsize=(20,10)) N=50000 # number of steps T=20 # simulation time in seconds c = 1 l = 1 r = 4 t = np.empty(N) Vi = np.empty(N) I = np.empty(N) V = np.empty(N) dt=T/N; # initial values V[0]=0 I[0]=0 for k in range(0,N-1): #Vi[k]=1; # Step input #Vi[k]=t[k]; # Ramp input Vi[k]=np.sin(0.98*t[k]) I[k+1]=I[k]-(1/l)*V[k]*dt-r/l*I[k]*dt+Vi[k]/l*dt V[k+1]=V[k]+I[k+1]/c*dt t[k+1]=t[k]+dt plt.plot(t,Vi,label='Input Signal') plt.plot(t,V,label='Capacitor Voltage') plt.plot(t,I,label='Inductor Current') plt.xlabel('Time (s)') plt.title('Driven RLC circuit') plt.legend() plt.show()