У меня есть код, который я хочу вычислить для 0 < t < pi с шагом 0,05, но каждая новая функция является функцией предыдущей, и я не могу придумать простой способ ее перебора, есть какие-нибудь советы?
wf_0 = get_wf_0(xmin, xmax, Nx, neigs, t=0) #Ignore this since it's another function
wf_1 = get_wf(xmin, xmax, Nx, neigs, t=0.05 , wf = wf_0)
wf_2 = get_wf(xmin, xmax, Nx, neigs, t=0.1 , wf = wf_1)
wf_3 = get_wf(xmin, xmax, Nx, neigs, t=0.15 , wf = wf_2)
и так далее до t = pi
Да, я хочу сохранить их все!






В принципе это можно сделать так:
wf = get_wf_0(xmin, xmax, Nx, neigs, t=0)
for s in range(1, int(math.pi // 0.05)):
wf = get_wf(xmin, xmax, Nx, neigs, t=0.05 * s, wf=wf)
Если вы хотите отслеживать промежуточные значения, добавьте результаты в список и продолжайте использовать последнее значение в качестве значения аргумента wf для следующей итерации:
wf_list = [ get_wf_0(xmin, xmax, Nx, neigs, t=0) ]
pi = 3.14159
t = 0.05
while t < pi:
wf_list.append(get_wf(xmin, xmax, Nx, neigs, t=t , wf=wf_list[-1]))
t += 0.05
wf_list[n] теперь содержит значение каждого wf_n
Вам нужно сохранить все промежуточные значения (
wf_1,wf_2и т. д.) или вас интересует только последний результат?