Хорошо, я в основном хочу решить набор недоопределенных уравнений. У меня около 289 переменных и 288 уравнений.Решитель Sympy для решения неопределенной системы уравнений
Я следовал за following link, чтобы создать программу моего решателя для решения неопределенных уравнений.
Поскольку у меня есть 289 переменных и почти столько же уравнений, вручную написать уравнения было невозможно, я ввел цикл, который сохраняет уравнения и переменные Sym в массивах и возвращает то, что передается функции solve().
Код:
def getEqn(A, B):
for i in range(len(A)):
A[i] = Symbol('A['+str(i)+']')
equations = [None]*(len(predictions)-1)
for i in range(len(equations)-1):
equations[i] = Eq(A[i]-A[i+1], B[i])
return equations, A
def solver(predictions):
lenPredictions = len(predictions)
A = [None]*lenPredictions
for i in range(lenPredictions):
A[i] = Symbol('A['+str(i)+']')
equations, variables = getEqn(A, predictions)
for i in range(lenPredictions-1):
res = solve(equations, variables)
return res
def main():
res = solver(predictions)
Когда я пытаюсь запустить следующий код, я получаю следующее сообщение об ошибке:
Примечание: Вся программа работает нормально, без каких-либо ошибок. Его единственные следующие функции, которые бросают ошибку. Я совершенно новый для Python & Sympy. Любое руководство будет действительно полезно, поскольку я не могу знать, где я что-то упускаю.
Вы уверены, что уравнения и переменные имеют значения при вызове решения(). Вы можете проверить это. – Stiffo
Я просто проверил печать «уравнений» и «переменных», возвращаемых из getEqn(), и это не None. –