赞
踩
我想解决一个方程组 . 但我希望能够精确地将值变为“获得”,并将其作为“什么”的函数 .
为了更好地理解,我从here开始,我修改了一个例子:
import sympy as sp
x, y, z = sp.symbols('x, y, z')
rho, sigma, beta = sp.symbols('rho, sigma, beta')
f1 = sigma * (y - x)
f2 = x * (rho - z) - y
f3 = x * y - beta * z
print sp.solvers.solve((f1, f2, f3), (x, y, z))
在
import sympy as sp
x, y, z, w = sp.symbols('x, y, z, w')
rho, sigma, beta = sp.symbols('rho, sigma, beta')
f1 = sigma * (y - x)
f2 = x * (rho - z) - y
f3 = x * y - beta * w
f4 = z - w
print sp.solvers.solve((f1, f2, f3, f4), (x, y, z))
所以,正如你所看到的,我在最后一个等式中将 z 替换为 w ,并为精确的 z = w 添加了一个新的 . 但是, sympy (on python 2.7) is unable to solve this new system of equation!!
所以我的问题:如何得到x,y,z的结果作为rho,sigma,beta的函数 . 更一般地说,我们如何精确变量"response variable" .
我认为这可能非常有用,因为通常,在要求python解决之前,你不想开发你的方程系统 .
同样,如果我采取一个更复杂的例子:
import sympy as sp
x, y, z, w, u = sp.symbols('x, y, z, w, u')
rho, sigma, beta = sp.symbols('rho, sigma, beta')
f1 = sigma * (y - x)
f2 = x * (rho - u) - y
f3 = x * y - beta * w
f4 = z - w
f5 = w - u
print sp.solvers.solve((f1, f2, f3, f4, f5), (x, y, z))
我得到的回应是:
[]
但是当你看到我有z = w = u儿子我应该得到相同的答案!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。