Python Sympy Solve - 如何动态调用多个方程?
Python Sympy Solve - how can I call a number of equations dynamically?
我正在研究一些关于样条函数的线性方程问题,它已经存在于我们漂亮的 Python 库中,但问题是我的教授要求我找出样条函数的每个系数,以便我能完全理解它的数学结构。
结果,我得出了一些联立线性方程——方程的数量取决于用户输入。
所以我动态分配变量,如果用户声明 he/she 将使用 3 个点,它会打印出 3 个方程,如果声明 4 个点,则打印出 4 个方程,依此类推。
现在我不得不解这些方程,甚至不知道会有多少方程。
我搜索了一些使用 Sympy 求解线性方程的方法,但是 none 向我展示了如何根据用户输入动态调用这些方程。
所有文章都在说,哦,这很简单,你可以写成:
解决((eq1,eq2),dict=True)
但我的会是这样的:
解决((eq1,eq2,eq3,eq4,eq5,eq6,...)
变量也将像 (a_0, a_1, a_2, a_3, ...)
我试图使用 'eq{}'.format(i) 来调用我创建的所有 'eq{}'s,但由于我不知道的原因系统性地失败了。
如何动态调用我在 'solve' 方法中创建的所有方程和变量?
我是Python的新手,请帮帮我......
如果除了要求解的变量之外没有其他符号变量,那么我最喜欢的获取符号的方法是:
def neq(n):
return list or tuple containing the n equations
from sympy import Tuple, solve
eqs = Tuple(*neq(n))
syms = eqs.free_symbols
sol = solve(eqs, syms)
您将取回带有 symbol: solution
.
映射的单个字典(或字典列表)
我正在研究一些关于样条函数的线性方程问题,它已经存在于我们漂亮的 Python 库中,但问题是我的教授要求我找出样条函数的每个系数,以便我能完全理解它的数学结构。
结果,我得出了一些联立线性方程——方程的数量取决于用户输入。
所以我动态分配变量,如果用户声明 he/she 将使用 3 个点,它会打印出 3 个方程,如果声明 4 个点,则打印出 4 个方程,依此类推。 现在我不得不解这些方程,甚至不知道会有多少方程。
我搜索了一些使用 Sympy 求解线性方程的方法,但是 none 向我展示了如何根据用户输入动态调用这些方程。
所有文章都在说,哦,这很简单,你可以写成: 解决((eq1,eq2),dict=True)
但我的会是这样的: 解决((eq1,eq2,eq3,eq4,eq5,eq6,...) 变量也将像 (a_0, a_1, a_2, a_3, ...)
我试图使用 'eq{}'.format(i) 来调用我创建的所有 'eq{}'s,但由于我不知道的原因系统性地失败了。
如何动态调用我在 'solve' 方法中创建的所有方程和变量?
我是Python的新手,请帮帮我......
如果除了要求解的变量之外没有其他符号变量,那么我最喜欢的获取符号的方法是:
def neq(n):
return list or tuple containing the n equations
from sympy import Tuple, solve
eqs = Tuple(*neq(n))
syms = eqs.free_symbols
sol = solve(eqs, syms)
您将取回带有 symbol: solution
.