Я кодирую функцию, которая решает произвольное количество одновременных уравнений. Количество уравнений задается одним из параметров функции, и каждое уравнение строится из количества символов - столько символов, сколько существует уравнений. Это означает, что я не могу просто жестко закодировать уравнения или даже символы, необходимые для их составления; функция должна иметь возможность обрабатывать любое количество уравнений. Итак, мой вопрос: как мне составить список символов?
У меня есть одно возможное решение, но моя интуиция подсказывает мне, что это не будет очень эффективным.Пожалуйста, дайте мне знать, если есть лучший способ сделать это.
Я новичок в SymPy и все еще нащупываю дорогу. Насколько я понимаю, символы нужно определять с помощью строки. Следовательно, я могу создать серию строк, добавив к букве увеличивающееся число (скажем, «t0», «t1» и т. Д.), Добавить их в список, а затем создать символы, используя эти строки в качестве параметров. Эти символы сами будут храниться в списке и использоваться для составления уравнений.
def solveEquations(numEquations):
symbolNameList = []
symbolList = []
equationList = []
for i in range(numEquations):
name = 't' + str(i)
symbolNameList.append(name)
symbolList.append(Symbol(name))
for i in range(numEquations):
equation = 0
for sym in symbolList:
equation += sym ** i # Or whatever structure the equation needs
equationList.append(equation)
#Then go on to solve the equations...
Это лучший способ сделать это или есть более эффективный подход?