当前第2页 返回上一页
一般来说,我们只需要用到 func 和 x0 就够了. func 是自己构造的函数,也就是需要求解的方程组的左端(右端为 0),而 x0 则是给定的初值.
我们来看一个具体的例子,求解:
1 2 3 | x + 2y + 3z - 6 = 0
5 * (x ** 2) + 6 * (y ** 2) + 7 * (z ** 2) - 18 = 0
9 * (x ** 3) + 10 * (y ** 3) + 11 * (z ** 3) - 30 = 0
|
就可以这么写:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | In [3]: from scipy.optimize import fsolve
...:
...: def func(i):
...: x, y, z = i[0], i[1], i[2]
...: return [
...: x + 2 * y + 3 * z - 6,
...: 5 * (x ** 2) + 6 * (y ** 2) + 7 * (z ** 2) - 18,
...: 9 * (x ** 3) + 10 * (y ** 3) + 11 * (z ** 3) - 30
...: ]
...:
...: r = fsolve(func,[0, 0, 0])
...: print r
...:
Out[3]: [ 1.00000001 0.99999998 1.00000001]
|
当然,SciPy 也可以用来求解线性方程组,这是因为 scipy.optimize.fsolve 本质上是最小二乘法来逼近真实结果.
SymPy 求解方程组
例如求解一个:
1 | x + 2 * (x ** 2) + 3 * (x ** 3) - 6 = 0
|
直接就是:
1 2 3 4 | In [4]: from sympy import *
...: x = symbols( 'x' )
...: solve(x + 2 * (x ** 2) + 3 * (x ** 3) - 6, x)
Out[4]: [1, -5/6 - sqrt(47)*I/6, -5/6 + sqrt(47)*I/6]
|
以上就是python如何解方程的三种方法的详细内容,更多文章请关注木庄网络博客!!
返回前面的内容
相关阅读 >>
Python爬虫入门心得分享
Python怎么定义线程局部变量
Python怎么安装gdal
Python的web服务器相关知识点
Python怎么打开
总结3种Python合并字符串方法
Python文件如何指定virtualenv
用Python实现高性能测试工具(一)
Python实现对自定义类对象排序(利用attrgetter)
Python为什么有tcl
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » python如何解方程的三种方法