方程x^5+2x^4+3x^3-x^2-3x=1
怎样求出其五个数值解?
非线性方程数值解适合使用 scipy.optimize 的 fslove 和 root,速递比 sympy 的符号推导快很多
这道题代码可以这样写
from scipy.optimize import fsolve
def func(v):
x, = v.tolist()
return [
x**5 + 2*(x**4) + 3*(x**3) - x**2 - 3*x - 1
]
r = fsolve(func, [1])
print(r[0])
r = fsolve(func, [-1])
print(r[0])
采用最小二乘法拟合,需要你给出试算初值。这道题来说,1 和 -1 两个初值向两个方向拟合,所以会得到两个不同的近似解,一个是 0.93379143,一个是-0.5563642。
试算初值的选定倚赖推导和经验,可以借助sympy。
1 回答9.6k 阅读✓ 已解决
2 回答5.2k 阅读✓ 已解决
2 回答3.6k 阅读✓ 已解决
3 回答4.5k 阅读
2 回答1.6k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
4 回答1.1k 阅读✓ 已解决
使用sympy库进行方程计算