函数中变量的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()