SciPy 积分 | Python技能树征题

x33g5p2x  于2021-10-09 转载在 Python  
字(1.3k)|赞(0)|评价(0)|浏览(369)

0. 前言

积分在科学和工程应用中具有许多重要的应用,本文利用 SciPy 解决积分相关问题。

1. 第 1 题:具有函数表达式的被积函数求积分

知识点描述:具有函数表达式的被积函数求积分。
问题描述:求解积分 ∫ − 1 1 e − x 2 d x \int _{-1}^1 e^{-x^2}dx∫−11​e−x2dx,请从以下选项中选出你认为正确的答案:
A.

  1. from scipy import integrate
  2. import numpy as np
  3. def func(x):
  4. return np.exp(-x**2)
  5. val, err = integrate.quad(func(x), -1, 1)
  6. print(val)

B.

  1. from scipy import integrate
  2. import numpy as np
  3. def func(x, a=-1, b=1):
  4. return np.exp(-x**2)
  5. val, err = integrate.quad(func)
  6. print(val)

C.

  1. from scipy import integrate
  2. import numpy as np
  3. def func(x, a=-1, b=1):
  4. return np.exp(-x**2)
  5. val, err = integrate.quad(func(x))
  6. print(val)

D.

  1. from scipy import integrate
  2. import numpy as np
  3. def func(x):
  4. return np.exp(-x**2)
  5. val, err = integrate.quad(func, -1, 1)
  6. print(val)

正确答案: D

2. 第 2 题:函数表达式未知的积分求解

知识点描述:函数表达式未知的积分求解。
问题描述:假设仅知道某一函数其中一些点的值,并不知道其具体函数表达式,求解其积分,请从以下选项中选出你认为正确的答案:
A.

  1. from scipy import integrate
  2. import numpy as np
  3. func = lambda x: np.sqrt(x)
  4. x = np.linspace(0, 2, 25)
  5. y = func(x)
  6. val = integrate.trapz(y, 0, 2)
  7. print(val)

B.

  1. from scipy import integrate
  2. import numpy as np
  3. func = lambda x: np.sqrt(x)
  4. x = np.linspace(0, 2, 25)
  5. y = func(x)
  6. val = integrate.trapz(y, x)
  7. print(val)

C.

  1. from scipy import integrate
  2. import numpy as np
  3. func = lambda x: np.sqrt(x)
  4. x = np.linspace(0, 2, 25)
  5. y = func(x)
  6. val, err = integrate.quad(y, 0, 2)
  7. print(val)

D.

  1. from scipy import integrate
  2. import numpy as np
  3. func = lambda x: np.sqrt(x)
  4. x = np.linspace(0, 2, 25)
  5. y = func(x)
  6. val, err = integrate.quad(y, x)
  7. print(val)

正确答案: B

试题代码地址

https://codechina.csdn.net/LOVEmy134611/python_problem

相关文章