from IPython.display import Image
Image(filename =r'misc_3_fig_1.png', width=350)
import numpy as np
import matplotlib.pyplot as plt
import gseim_calc as calc
from setsize import set_size
A = 40.0
K = 30.0 # to be changed by user
T1 = 4.0e-3
T2 = 2.0*T1
omg1 = 2.0*np.pi/T1
omg2 = 2.0*np.pi/T2
t_total = 0.5*(T1 + T2)
n_div = 1000
t = np.linspace(0.0, t_total, (n_div+1))
l_v = []
for i, t1 in enumerate(t):
if t1 < 0.5*T1:
v = A*np.sin(omg1*t1)
else:
v = K*np.sin(omg2*t1 + 0.5*np.pi)
l_v.append(v)
v_arr = np.array(l_v)
l_x = calc.avg_rms_3a(t, v_arr, 0.0, t_total, 1.0e-5*t_total)
if abs(l_x[0]) > (1.0e-4*A):
print('average value:', "%11.4E"%l_x[0])
print('K =', K, 'is not correct')
else:
print('K =', K, 'is correct')
color1='blue'
fig, ax = plt.subplots()
plt.subplots_adjust(wspace=0, hspace=0.0)
set_size(5, 2.5, ax)
plt.grid(color='#CCCCCC', linestyle='solid', linewidth=0.5)
ax.plot(t*1e3, v_arr, color=color1, linewidth=1.0, label="$v$")
ax.axhline(y=l_x[0], color=color1, linewidth=1.0, label="$v^{avg}$", linestyle='--', dashes=(5,3))
ax.set_xlim(0.0, t_total*1e3)
plt.xlabel('time (msec)', fontsize=11)
ax.legend(loc = 'upper right',frameon = True, fontsize = 10, title = None,
markerfirst = True, markerscale = 1.0, labelspacing = 0.5, columnspacing = 2.0,
prop = {'size' : 12},)
plt.tight_layout()
plt.show()
average value: -4.2441E+00 K = 30.0 is not correct
This notebook was contributed by Prof. Nakul Narayanan K, Govt. Engineering College, Thrissur. He may be contacted at nakul@gectcr.ac.in.