SciPy 非线性方程求解 | Python技能树征题
Posted 盼小辉丶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SciPy 非线性方程求解 | Python技能树征题相关的知识,希望对你有一定的参考价值。
SciPy 非线性方程求解 | Python技能树征题
0. 前言
在自然科学和工程学科中,许多系统本质上是非线性的,是许多计算方法和技术的重要组成部分。一般来说,包含幂大于1的变量的表达式是非线性的。本文利用 SciPy
求解非线性单个方程和方程组。
1. 第 1 题:一元非线性方程求解
知识点描述:一元非线性方程的求解。
问题描述:求解非线性方程
e
x
−
3
=
0
e^x-3=0
ex−3=0,请从以下选项中选出你认为正确的答案:
A.
from scipy import optimize
import numpy as np
result = optimize.bisect(np.exp(x) - 3, -2, 2)
print(result)
B.
from scipy import optimize
import numpy as np
result = optimize.bisect(lambda x: np.exp(x) - 3, -2, 2)
print(result)
C.
from scipy import optimize
import numpy as np
result = optimize.bisect(np.exp(x) - 3, -1, 1)
print(result)
D.
from scipy import optimize
import numpy as np
result = optimize.bisect(lambda x: np.exp(x) - 3, -1, 1)
print(result)
正确答案: B
2. 第 2 题:非线性方程组求解
知识点描述:非线性方程组的求解。
问题描述:求解非线性方程组
{
y
−
x
3
−
2
x
2
+
1
=
0
y
+
x
2
+
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 optimize
def 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 optimize
def 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 optimize
def 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 optimize
def 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
试题代码地址
以上是关于SciPy 非线性方程求解 | Python技能树征题的主要内容,如果未能解决你的问题,请参考以下文章