三元方程组的解,三元一次方程组如何求解
当我试图用python3中的以下代码求解一个由三个方程组成的方程组时,我总是出错:导入症状
从交响乐导入符号,求解,nsolve
x=符号( x )
y=符号(“y”)
z=符号(“z”)
eq1=x - y 3
eq2=x y
eq3=z - y
print(nsolve( (eq1,eq2,eq3),(x,y,z),(-50,50)))
以下是错误消息:回溯(最近一次呼叫):
文件
/usr/lib/python 3/dist-packages/MP math/calculus/optimization。py ,行
928,在findroot
fx=f(*x0)
类型错误:()缺少一个必需的位置参数:
_Dummy_15
在处理上述异常时,发生了另一个异常:回溯(最后一次最近调用):文件"",第一行,位于
文件""中的第12行
/usr/lib/python 3/dist-packages/sympy/solvers/solvers。py ,第2498行
在nsolve中
x=findroot(f,x0,J=J,**kwargs)
文件
/usr/lib/python 3/dist-packages/MP math/calculus/optimization。py ,行
931,在findroot
fx=f(x0[0])
类型错误:()缺少2个必需的位置参数:
_Dummy_14 和_Dummy_15
奇怪的是,如果我只解前两个方程,错误信息就会消失——把代码的最后一行改为
^{pr2}$
输出:exec(打开( bug444.py ).read())
[-1.5]
[ 1.5]
我很困惑,非常感谢你的帮助!在
一些附加信息:我在ubuntu14.04上使用python 3。4 .0症状0。7 .6-3 .我在python2中也遇到了同样的错误
我可以用
求解([等式1,等式2,等式3]),[x,y,z])
但这个系统只是一个玩具的例子;在实际应用中,系统是非线性的,我需要更高的精度,我不知道如何调整求解的精度,而对于nsolve,我可以使用nsolve(.prec=100)
谢谢!在