我正在编写一个求解任意数量联立方程的函数。方程的数量由函数的参数之一设置,每个方程由许多符号构成 - 符号与方程一样多。这意味着我不能简单地对方程式进行硬编码,甚至不能将方程式放在一起所需的符号;该函数需要能够处理任意数量的方程。所以,我的问题是,如何生成符号列表?
我有一个可能的解决方案,但我的直觉告诉我它不会很有效。请让我知道是否有更好的方法来做到这一点。
我是 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...
这是最好的方法,还是有更有效的方法?