【发布时间】:2021-04-26 17:42:58
【问题描述】:
我正在研究一些关于样条函数的线性方程问题,这些问题已经存在于我们漂亮的 Python 库中,但问题是我的教授要求我找出样条函数的每个系数,以便我能够完全理解它的数学结构。
因此,我提出了一些联立线性方程 - 方程的数量取决于用户输入。
所以我动态分配我的变量,这样如果用户声明他/她将使用 3 个点,它会打印出 3 个方程,如果声明 4 个点,则打印出 4 个方程,依此类推。 现在我必须解这些方程,甚至不知道会有多少方程。
我搜索了一些使用 Sympy 的求解来求解线性方程的方法,但没有一个向我展示如何根据用户输入动态调用这些方程。
所有文章都在说,哦,这很简单,你可以写成: 求解((eq1, eq2), dict=True)
但我的会是这样的: 解决((eq1, eq2, eq3, eq4, eq5, eq6, ... ) 并且变量也会像 (a_0, a_1, a_2, a_3, ...)
我试图使用 'eq{}'.format(i) 来调用我所做的所有 'eq{},但由于我不知道的原因系统性地失败了。
如何动态调用我在“求解”方法中创建的所有方程和变量?
我是Python新手,请帮帮我......
【问题讨论】:
-
看起来
solve需要一个元组(或列表)方程。首先创建该列表。符号列表也是如此。 -
一般来说,在 Python 中,您寻求的“动态”行为是通过列表实现的,如果需要,
dict,而不是命名变量eq1, eq2, ...。sympy通过允许您使用symbols('x:10')创建一个tuple来修改这一点。您可以将其解压缩为变量,但您不必这样做。 -
我建议看一个基本的 Python 教程:docs.python.org/3/tutorial/introduction.html
标签: python math sympy equation