我是Python的新用户& SageMath。
我有两个非线性方程式:
f(x)==h(x)
g(x)+S_{i,j,k}(x) == 0
我知道我可以解决1.数字,做:
x = var('x')
find_root(f(x)==h(x), x, x_min, x_max)
在2.中,S_{i,j,k}(x)
是x
和i
的三重和函数,j
和k
是和的索引。我怎样才能以数字方式解决它?
答案 0 :(得分:1)
使用Python和sympy,您可以使用sympy.mpmath.nsum()
定义S_{i,j,k}(x)
函数,
然后使用sympy.mpmath.findroot()
:
import sympy.mpmath
x = sympy.symbols('x')
def S(x_):
return sympy.mpmath.nsum(lambda i, j: x_*i + j, [0, 2], [3, 4])
print('Function: {}'.format(S(x)))
print('Solution: {}'.format(sympy.mpmath.findroot(S, -1)))
打印:
Function: 6.0*x + 21.0
Solution: -3.5
我选择了一个线性示例,但它也适用于非线性方程。