1

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

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

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 并求解(注意:这应该是同一组方程,因为求解是求解形式为 f(x)=0 的方程)。

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)

为什么解决方案也被否定了?

4

0 回答 0