Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 给出不同答案的方程组的负数_Python_Scipy_Scipy Optimize - Fatal编程技术网

Python 给出不同答案的方程组的负数

Python 给出不同答案的方程组的负数,python,scipy,scipy-optimize,Python,Scipy,Scipy Optimize,我遇到了一些奇怪的事情,这可能只是一个愚蠢的错误,但我需要一些帮助来了解发生了什么 考虑下面的第一组非线性方程和计算出的解 from scipy.optimize import fsolve import math m = 0.8 n = 0.5 def equations1(p1): x1, y1 = p1 return (m*x1+n*y1+1,y1-x1**2-1) x1, y1 = fsolve(equations1, (0.5,0.5)) print equati

我遇到了一些奇怪的事情,这可能只是一个愚蠢的错误,但我需要一些帮助来了解发生了什么

考虑下面的第一组非线性方程和计算出的解

from scipy.optimize import fsolve
import math

m = 0.8
n = 0.5

def equations1(p1):
    x1, y1 = p1
    return (m*x1+n*y1+1,y1-x1**2-1)

x1, y1 = fsolve(equations1, (0.5,0.5))
print equations1((x1,y1)) 

(0.9441394305358858, -0.47173248837117643)
现在,将方程乘以负1并求解(注意:这应该是同一组方程,因为solve是求解形式为f(x)=0的方程)


为什么解也被否定?

那么,
equations2
返回否定,您直接打印
equations2
的结果,对吗?打印
x2
y2
;它们应该是相同的。嗯,但我认为方程1代表系统mx1+ny1+1=0,y1-x1^2-1=0,方程2代表系统-(mx1+ny1+1)=0,-(y1-x1^2-1)=0,这在数学上都是相同的集合。我遗漏了什么?是的,但是你打印了否定词。解决方案是相同的。检查这个:
(x1,y1)==(x2,y2)
试着打印
x2
y2
我明白了!非常感谢。那么,
equations2
返回反运算,您直接打印
equations2
的结果,对吗?打印
x2
y2
;它们应该是相同的。嗯,但我认为方程1代表系统mx1+ny1+1=0,y1-x1^2-1=0,方程2代表系统-(mx1+ny1+1)=0,-(y1-x1^2-1)=0,这在数学上都是相同的集合。我遗漏了什么?是的,但是你打印了否定词。解决方案是相同的。检查这个:
(x1,y1)==(x2,y2)
试着打印
x2
y2
我明白了!非常感谢。
def equations2(p2):
    x2, y2 = p2
    return (-1*(m*x2+n*y2+1),-1*(y2-x2**2-1))

x2, y2 = fsolve(equations2, (0.5,0.5))
print equations2((x2,y2))

(-0.9441394305358858, 0.47173248837117643)