函数中变量的for循环
A for loop for variable in function
所以我试图为 mode_0 值中的每个向量变量定义一个函数。然后我想一起创建所有这些值的图。附件是下面的代码和前两个值为 mode_0 的图表的屏幕截图,我想对 mode_0 列表中的最多 50 个值执行此操作。
#impose a lorenztian
# define lorenztian fit
def lor0(A, Tau, v, vk):
lorenzian_fit = (((A**2)/(np.pi*Tau))/(1+(((2*(v-vk))/Tau)**2)))
return lorenzian_fit
# A_k is the mode amplitude = np.sqrt(pi * Max height * Tau)
# Tau_k is the mode linewidth (FWHM) = 0.1-0.2
# V_k is the ossillation mode frequency = modes
lor0 = lor(np.sqrt(np.pi * 200000 * 0.15), 0.15, frequencies, mode_0[1])
lor0_1 = lor(np.sqrt(np.pi * 200000 * 0.15), 0.15, frequencies, mode_0[2])
#lor1 = lor(np.sqrt(np.pi * 200000 * 0.15), 0.15, frequencies, mode_1)
#lor2 = lor(np.sqrt(np.pi * 200000 * 0.15), 0.15, frequencies, mode_2)
'''
遍历 mode_0。这样的事情应该有效:
for vec in mode_0[:50]: # in case you just want 50 values of mode_0
lor = lor0(np.sqrt(np.pi * 200000 * 0.15), 0.15, frequencies, vec)
plt.plot(frequencies, lor, '--')
plt.xlim(0, 50)
plt.grid()
plt.show()
所以我试图为 mode_0 值中的每个向量变量定义一个函数。然后我想一起创建所有这些值的图。附件是下面的代码和前两个值为 mode_0 的图表的屏幕截图,我想对 mode_0 列表中的最多 50 个值执行此操作。
#impose a lorenztian
# define lorenztian fit
def lor0(A, Tau, v, vk):
lorenzian_fit = (((A**2)/(np.pi*Tau))/(1+(((2*(v-vk))/Tau)**2)))
return lorenzian_fit
# A_k is the mode amplitude = np.sqrt(pi * Max height * Tau)
# Tau_k is the mode linewidth (FWHM) = 0.1-0.2
# V_k is the ossillation mode frequency = modes
lor0 = lor(np.sqrt(np.pi * 200000 * 0.15), 0.15, frequencies, mode_0[1])
lor0_1 = lor(np.sqrt(np.pi * 200000 * 0.15), 0.15, frequencies, mode_0[2])
#lor1 = lor(np.sqrt(np.pi * 200000 * 0.15), 0.15, frequencies, mode_1)
#lor2 = lor(np.sqrt(np.pi * 200000 * 0.15), 0.15, frequencies, mode_2)
'''
遍历 mode_0。这样的事情应该有效:
for vec in mode_0[:50]: # in case you just want 50 values of mode_0
lor = lor0(np.sqrt(np.pi * 200000 * 0.15), 0.15, frequencies, vec)
plt.plot(frequencies, lor, '--')
plt.xlim(0, 50)
plt.grid()
plt.show()