Когда я создавал базовый цикл for в Python внутри функции для работы с динамической переменной длины (z), я только что натолкнулся на следующую ошибку:
Rs = []
z = []
N = 120
m = 1
for i in range(1, N):
Rs[i] = z[m]
m = m + 1
Rs[i] = z[m]
IndexError: list index out of range
Ради ясности я лучше объясню, что я пытаюсь сделать.Я хотел бы решить систему уравнений, которая состоит из динамического числа неизвестных.Я начал использовать «статический» метод, и он отлично работает.По сути, код более или менее выглядит следующим образом:
from scipy.optimize import fsolve
def fixEqSyst(z):
v1 = z[0]
v2 = z[1]
v3 = z[2]
v4 = z[3]
f=np.zeros(4)
f[0] = 2*v1-3*v2+7*v3**2
f[1] = v1+3*v2**2-9*v3
f[2] = -3v1**2+12*v2+7*v3
f[3] = 4*v1+5*V2*v3
return f
z = fsolve(fixEqSyst, [0, 0, 0, 0])
Основываясь на том факте, что теперь я столкнусь с динамическим числом неизвестных и функций, есть ли альтернативное решение, чем то, что я ужеположить на место?(со стратегией цикла)