定積分#
関数
Show code cell source
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 7, 300)
y = 0.5 * x + np.sin(x)
xticks = []
xticklabels = []
fig, ax = plt.subplots(figsize=[5,3])
ax.plot(x, y)
a = 1
ax.axvline(a, linestyle="--")
xticks.append(a)
xticklabels.append("$a$")
b = 6
ax.axvline(b, linestyle="--")
xticks.append(b)
xticklabels.append("$b$")
ax.set(xlabel="x", ylabel="y", xticks=xticks, xticklabels=xticklabels, yticks=[])
ax.fill_between(x[(a <= x) & (x <= b)], y[(a <= x) & (x <= b)], color='lightblue', alpha=0.5)
ax.text(a + 0.4 + (b - a) // 2, 0.5, "S", color="steelblue")
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines['bottom'].set_position('zero')
ax.spines['left'].set_position('zero')
fig.show()

区間
であるような
点
このとき、求める面積
で近似される。このような和を積和と呼ぶことにする。
Show code cell source
import numpy as np
import matplotlib.pyplot as plt
def f(x):
return 0.5 * x + np.sin(x)
x = np.linspace(0, 7, 300)
y = f(x)
xticks = []
xticklabels = []
fig, ax = plt.subplots(figsize=[5,3])
ax.plot(x, y)
a = 1
ax.axvline(a, linestyle="--")
xticks.append(a)
xticklabels.append("$a$")
b = 6
ax.axvline(b, linestyle="--")
xticks.append(b)
xticklabels.append("$b$")
ax.fill_between(x[(a <= x) & (x <= b)], y[(a <= x) & (x <= b)], color='lightblue', alpha=0.5)
ax.text(a + 0.4 + (b - a) // 2, 0.5, "S", color="steelblue")
# 「帯」
x_ks = [a + i for i in range(1, b)]
for k, x_k in enumerate(x_ks):
ax.axvline(x_k, ymax=f(x_k) / max(y), linestyle="--")
xticks.append(x_k)
xticklabels.append(f"$x_{k}$")
# 長方形
import matplotlib.patches as patches
linesettings = dict(color="darkorange", alpha=0.7)
delta_x = x_ks[2] - x_ks[1]
rect = patches.Rectangle(
xy=(x_ks[1], 0),
width=delta_x,
height=f(x_ks[1]),
linewidth=2,
edgecolor='darkorange',
facecolor='lightyellow',
alpha=0.8
)
ax.add_patch(rect)
# axis
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines['bottom'].set_position('zero')
ax.spines['left'].set_position('zero')
ax.set(xlabel="x", ylabel="y", xticks=xticks, xticklabels=xticklabels, yticks=[])
fig.show()

分割する小区間の長さ
この極限値を
で表し、関数
負の面積#
関数が負の場合をとる場合でも積分は定義できる。積和の定義より、関数の値が負の部分はその部分からの面積への寄与は負である。
Show code cell source
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 7, 300)
y = np.sin(x - 0.5)
xticks = []
xticklabels = []
fig, ax = plt.subplots(figsize=[5,3])
ax.plot(x, y)
a = 1
ax.axvline(a, linestyle="--")
xticks.append(a)
xticklabels.append("$a$ ")
b = 6
ax.axvline(b, linestyle="--")
xticks.append(b)
xticklabels.append("$b$ ")
ax.set(xlabel="x", ylabel="y", xticks=xticks, xticklabels=xticklabels, yticks=[])
ax.fill_between(x[(a <= x) & (x <= b)], y[(a <= x) & (x <= b)], color='lightblue', alpha=0.5)
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines['bottom'].set_position('zero')
ax.spines['left'].set_position('zero')
fig.show()

定積分の性質#
: 定数 で ならば で ならば平均値の定理:
定数
積分の性質
となる。また
である
定積分の計算#
はどのように求められるか。
下限を定数、上限を変数とした
が成り立つ。
上の式で
なので
であり、
すなわち、「定積分の値は、原始関数の積分上限での値
定積分を表す記号として
や
や
という記号が用いられる
定積分の計算
広義積分#
区間内で不連続点がある場合や、無限区間での積分へ拡張した定積分を 広義積分(improper integral)という。
2種類ある
被積分関数
が区間 で有限個の不連続点を持つ.積分の上限, 下限の一方または両方が無限大である.
不連続な被積分関数#
関数
が存在するならば、
で表わす。同様に、
と表わす。
いま
区間
上記のような極限が存在するとき、 広義積分は収束する という。
無限区間の積分#
関数
が存在するならば、この極限値を
で表わす。同様にして、
が定義される。