首页 > 编程知识 正文

三元方程组如何求解,解3元方程组

时间:2023-05-05 00:10:28 阅读:272692 作者:4021

当我试图用python3中的以下代码求解一个由三个方程组成的方程组时,我总是出错:import sympy

from sympy import Symbol, solve, nsolve

x = Symbol('x')

y = Symbol('y')

z = Symbol('z')

eq1 = x - y + 3

eq2 = x + y

eq3 = z - y

print(nsolve( (eq1, eq2, eq3), (x,y,z), (-50,50)))

以下是错误消息:Traceback (most recent call last):

File

"/usr/lib/python3/dist-packages/mpmath/calculus/optimization.py", line

928, in findroot

fx = f(*x0)

TypeError: () missing 1 required positional argument:

'_Dummy_15'

在处理上述异常时,发生了另一个异常:Traceback (most recent call last): File "", line 1, in

File "", line 12, in File

"/usr/lib/python3/dist-packages/sympy/solvers/solvers.py", line 2498,

in nsolve

x = findroot(f, x0, J=J, **kwargs)

File

"/usr/lib/python3/dist-packages/mpmath/calculus/optimization.py", line

931, in findroot

fx = f(x0[0])

TypeError: () missing 2 required positional arguments:

'_Dummy_14' and '_Dummy_15'

奇怪的是,如果我只解前两个方程,错误信息就会消失——把代码的最后一行改为

^{pr2}$

输出:exec(open('bug444.py').read())

[-1.5]

[ 1.5]

我很困惑,非常感谢你的帮助!在

一些附加信息:我在ubuntu14.04上使用python3.4.0+sympy0.7.6-3。我在python2中也遇到了同样的错误

我可以用

求解([eq1,eq2,eq3],[x,y,z])

但这个系统只是一个玩具的例子;在实际应用中,系统是非线性的,我需要更高的精度,我不知道如何调整求解的精度,而对于nsolve,我可以使用nsolve(... , prec=100)

谢谢!在

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。