用python的库 scipy 解方程组求根

1.标量函数

x + 2 c o s ( x ) = 0 x+2cos(x) =0

程序如下

import numpy as np
from scipy.optimize import root
def func(x):
    return x + 2 * np.cos(x)
sol = root(func, 0.3)
print(sol.x)
结果:[-1.02986653]

2.一组非线性方程

x 0 c o s ( x 1 ) = 4 x_{0}cos(x_{1})=4 x 0 + x 1 + x 2 = 4 x_{0}+x_{1}+x_{2}=4 x 1 + x 2 = 2 x_{1}+x_{2}=2

程序如下:

import numpy as np
from scipy.optimize import root
def func(x):
    return x[0] * np.cos(x[1]) - 4, \
           x[0] + x[1] + x[2] - 4, \
           x[1] + x[2] - 2
sol = root(func, [1, 2, 1])
print(sol.x)
 结果 :[-1.97014577  3.16004914  0.82227607]
发布了23 篇原创文章 · 获赞 32 · 访问量 4475

猜你喜欢

转载自blog.csdn.net/t4ngw/article/details/105744564