SciPy 非线性方程求解 | Python技能树征题
0. 前言1. 第 1 题:一元非线性方程求解2. 第 2 题:非线性方程组求解试题代码地址0. 前言
在自然科学和工程学科中,许多系统本质上是非线性的,是许多计算方法和技术的重要组成部分。一般来说,包含幂大于1的变量的表达式是非线性的。本文利用SciPy
求解非线性单个方程和方程组。
1. 第 1 题:一元非线性方程求解
知识点描述:一元非线性方程的求解。
问题描述:求解非线性方程 ex−3=0e^x-3=0ex−3=0,请从以下选项中选出你认为正确的答案:
A.
from scipy import optimizeimport numpy as npresult = optimize.bisect(np.exp(x) - 3, -2, 2)print(result)
B.
from scipy import optimizeimport numpy as npresult = optimize.bisect(lambda x: np.exp(x) - 3, -2, 2)print(result)
C.
from scipy import optimizeimport numpy as npresult = optimize.bisect(np.exp(x) - 3, -1, 1)print(result)
D.
from scipy import optimizeimport numpy as npresult = optimize.bisect(lambda x: np.exp(x) - 3, -1, 1)print(result)
正确答案: B
2. 第 2 题:非线性方程组求解
知识点描述:非线性方程组的求解。
问题描述:求解非线性方程组 {y−x3−2x2+1=0y+x2+1=0\begin{cases} y-x^3-2x^2+1=0 \\[2ex] y+x^2+1=0 \end{cases}⎩⎨⎧y−x3−2x2+1=0y+x2+1=0,请从以下选项中选出你认为正确的答案:
A.
from scipy import optimizedef func(x):return [x[1] - x[0]**3 - 2 * x[0]**2 + 1, x[1] + x[0]**2 + 1]result = optimize.fsolve(func, [1, 1])print(result)
B.
from scipy import optimizedef func(x):return [x[1] - x[0]**3 - 2 * x[0]**2 + 1, x[1] + x[0]**2 + 1]result = optimize.fsolve(func(), [1, 1])print(result)
C.
from scipy import optimizedef func(x):return [x[1] - x[0]**3 - 2 * x[0]**2 + 1, x[1] + x[0]**2 + 1]result = optimize.fsolve(func(x), [1, 1])print(result)
D.
from scipy import optimizedef func(x):return [x[1] - x[0]**3 - 2 * x[0]**2 + 1, x[1] + x[0]**2 + 1]result = optimize.fsolve(func([x[0], x[1]]), [1, 1])print(result)
正确答案: A
试题代码地址
/LOVEmy134611/python_problem