関数を知らなくても、座標セットが与えられた曲線の下の面積を計算する質問する

関数を知らなくても、座標セットが与えられた曲線の下の面積を計算する質問する

Y 軸の高さと X 軸の長さとして、1 から 100 までの定数ステップ 5 の 100 個の数値のリストが 1 つあります。長方形と Scipy を使用して、(x,y) ポイントの曲線と X 軸に含まれる領域を計算する必要があります。この曲線の関数を見つける必要がありますか? または、そうではありませんか? ... 私が読んだほとんどすべての例は、Y 軸の特定の方程式に関するものです。私の場合は方程式はなく、リストのデータだけです。古典的な解決策は、Y ポイントを追加して、ステップ X 距離で乗算することです... Scipy を使用する方法はありますか?

Scipy と Numpy を使用した数値 (有限基本) 手法に焦点を当てた本をお勧めいただけますか? ...

ベストアンサー1

numpyとscipyライブラリには、複合台形(numpy.trapz) とシンプソンの (scipy.integrate.simpson) ルール。

簡単な例を示します。 と の両方でtrapzsimpson引数はdx=5x 軸に沿ったデータの間隔が 5 単位であることを示します。

import numpy as np
from scipy.integrate import simpson
from numpy import trapz


# The y values.  A numpy array is used here,
# but a python list could also be used.
y = np.array([5, 20, 4, 18, 19, 18, 7, 4])

# Compute the area using the composite trapezoidal rule.
area = trapz(y, dx=5)
print("area =", area)

# Compute the area using the composite Simpson's rule.
area = simpson(y, dx=5)
print("area =", area)

出力:

area = 452.5
area = 460.0

おすすめ記事