gpt4 book ai didi

python - SymPy - 任意数量的符号

转载 作者:IT老高 更新时间:2023-10-28 20:37:20 26 4
gpt4 key购买 nike

我正在编写一个求解任意数量联立方程的函数。方程的数量由函数的参数之一设置,每个方程由许多符号构成 - 符号与方程一样多。这意味着我不能简单地对方程式进行硬编码,甚至不能将方程式放在一起所需的符号;该函数需要能够处理任意数量的方程。那么,我的问题是,如何生成符号列表?

我有一个可能的解决方案,但我的直觉告诉我它不会很有效。请让我知道是否有更好的方法来做到这一点。

我是 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...

这是最好的方法,还是有更有效的方法?

最佳答案

symbols 函数可用于轻松生成符号列表

In [1]: symbols('a0:3')
Out[1]: (a₀, a₁, a₂)

In [2]: numEquations = 15

In [3]: symbols('a0:%d'%numEquations)
Out[3]: (a₀, a₁, a₂, a₃, a₄, a₅, a₆, a₇, a₈, a₉, a₁₀, a₁₁, a₁₂, a₁₃, a₁₄)

关于python - SymPy - 任意数量的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9492944/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com