数値計算法:直前対策パック

公式集、全トピックの解法の要点、8 問の演習問題。完全な解答は巻末にあります。

新しい問題科目に戻る

印刷ウィンドウで「PDF として保存」を選ぶと、コピーを端末に保存できます。

1公式と解法

数値計算法

二分法
c = (a + b)/2, width after n steps (b − a)/2ⁿ
ニュートン–ラフソン法
xn+1 = xₙ − f(xₙ)/f′(xₙ)
線形補間
y = y₁ + (y₂ − y₁)(x − x₁)/(x₂ − x₁)
台形公式
T = (h/2)[f₀ + 2f₁ + … + 2fn−1 + fₙ], h = (b − a)/n
シンプソンの公式(n は偶数)
S = (h/3)[f₀ + 4f₁ + 2f₂ + … + 4fn−1 + fₙ]
台形公式の誤差評価
|E| ≤ (b − a)h²M/12, M = max|f″|
オイラー
yn+1 = yₙ + h·f(tₙ, yₙ)
ホイン法
yn+1 = yₙ + (h/2)(k₁ + k₂), k₂ = f(tₙ + h, yₙ + hk₁)
RK4
yn+1 = yₙ + (h/6)(k₁ + 2k₂ + 2k₃ + k₄)

解き方

  1. 方程式の解では:二分法なら符号の変化を確かめ、ニュートン法なら f と f′ を計算し、反復値の表では有効数字を 6 桁以上保ちましょう。
  2. 表の値では:隣り合う 2 点の間で線形補間しましょう。
  3. 積分では:h = (b − a)/n を求め、すべての節点で f を並べ、重み(台形公式は 1, 2, …, 2, 1、n が偶数のシンプソンの公式は 1, 4, 2, …, 4, 1)を適用して、h/2 または h/3 を掛けます。
  4. 常微分方程式では:t₀ から yₙ₊₁ = yₙ + h·f(tₙ, yₙ)(オイラー法)または平均した傾き(ホイン法)で進み、1 ステップにつき 1 行で、求められた t に達するまで続けます。

数列と級数

等差数列
aₙ = a₁ + (n − 1)d, Sₙ = n(a₁ + aₙ)/2
等比数列
aₙ = a₁rⁿ⁻¹, Sₙ = a₁(1 − rⁿ)/(1 − r)
無限等比級数
S = a₁/(1 − r), |r| < 1
p 級数
Σ1/kᵖ converges only for p > 1
比判定法
L = lim |ak+1/ak|: L < 1 converges, L > 1 diverges
収束半径
R = lim |ck/ck+1|
テイラー多項式
Pₙ(x) = Σ f⁽ᵏ⁾(a)(x − a)ᵏ/k!
マクローリン級数
eˣ = Σxᵏ/k!, sin x = x − x³/3! + …, cos x = 1 − x²/2! + …, ln(1 + x) = x − x²/2 + …
ラグランジュの誤差評価
|Rₙ| ≤ M·|x − a|ⁿ⁺¹/(n + 1)!

解き方

  1. 種類を見極めましょう:等差(一定の差)、等比(一定の比)、標準的な級数、べき級数、テイラー多項式。
  2. 和には Sₙ = n(a₁ + aₙ)/2、Sₙ = a₁(1 − rⁿ)/(1 − r)、または |r| < 1 のとき S = a₁/(1 − r) を使います。a₁ はその和の最初の項です。
  3. 収束については:まず第 n 項判定法、次に Σ1/kᵖ や等比級数との比較を行い、階乗や k 乗には比判定法か根判定法を使います。
  4. テイラー多項式では、f(a)、f′(a)、f″(a)、… を並べ、第 k 階導関数を k! で割り、誤差を M·|x − a|ⁿ⁺¹/(n + 1)! で評価します。

行列と行列式

2×2 の行列式
det = ad − bc
2×2 の逆行列
A⁻¹ = (1/det)·[d −b; −c a]
製品
(AB)ij = Σk AikBkj
固有値
det(A − λI) = 0
クラメルの公式
xi = det(Ai)/det(A)

微分方程式

指数関数的な増加・減少
dy/dt = ky → y = y0ekt
半減期
k = ln 2 / t½
ニュートンの冷却法則
T(t) = Ta + (T0 − Ta)e−kt
積分因子
y′ + p(x)y = q(x): μ = e∫p dx, (μy)′ = μq
混合タンク
dm/dt = r·c − (r/V)·m

2演習問題

1.数値計算法ふつう
xy00.511.52

台形公式を n = 4 で使って ∫02 eˣ dx を近似し、厳密な値と比べてください。絶対誤差 |E| = |T − I| を求めてください。

f(x) = eˣ[a, b] = [0, 2]n = 4
|E| =
2.数値計算法むずかしい
00.10.20.30.422.53ty(0, 3)

オイラー法を h = 0.1 で y′ = −y、y(0) = 3 に使い、y4 ≈ y(0.4) を推定してください。

y′ = −yy(0) = 3h = 0.1
y4 =
3.数列と級数ふつう
k|aₖ₊₁/aₖ|123456789101112

Σk=1∞ k!/kᵏ に比判定法を適用してください。L = lim |ak+1/ak| を求めてください。

ak = k!/kᵏ
L =
4.数列と級数むずかしい

f(x) = sin x を、x = 2 で n 次のマクローリン多項式により近似します。M = 1 としてラグランジュの誤差評価 M·|x|ⁿ⁺¹/(n + 1)! を使い、誤差が 0.0001 未満になることを保証する最小の次数 n を求めてください。

f(x) = sin xx = 2M = 1ε = 0.0001
n =
5.行列と行列式ふつう
A =0113B =−2−1−3−4

示された行列について C = AB とします。成分 c11(第 1 行、第 1 列)を求めなさい。

A = [0 1; 1 3]B = [−2 −1; −3 −4]
c11 =
6.行列と行列式むずかしい
A =4−3−4−5b =−12−4

連立方程式 4x − 3y = −12、−4x − 5y = −4 を解きなさい。x を求めなさい。

4x − 3y = −12−4x − 5y = −4
x =
7.微分方程式ふつう
t (min)T (°C)38Ta​129 °C240 °C

500 °C の鍛造鋼部品を 25 °C の作業場に置いて冷まします。 38 分後の温度は 129 °C です。 温度はニュートンの冷却法則 dT/dt = −k·(T − Tₐ) に従います。 開始から 240 °C に達するまでの時間 t を求めなさい。

T0 = 500 °CTa = 25 °CT(38) = 129 °CT = 240 °C
t = min
8.微分方程式むずかしい
t (min)m (kg)5 minm = ?

タンクに、塩 20 kg を溶かした水が 100 L 入っています。 1 L あたり 0.05 kg の塩を含む塩水が 10 L/min で流入し、よく混ざった溶液が同じ流量で流出します。 5 分後にタンク内にある塩の量 m を求めなさい。

V = 100 Lm0 = 20 kgc = 0.05 kg/Lr = 10 L/min
m = kg

3溶液

1.数値計算法

答え: |E| = 0.1326

数値積分:[a, b] を、幅 h = (b − a)/n、節点 x₀ … xₙ の n 個の短冊に分けます。台形公式:T = (h/2)[f₀ + 2f₁ + 2f₂ + … + 2fn−1 + fₙ]。シンプソンの公式(n は偶数):S = (h/3)[f₀ + 4f₁ + 2f₂ + 4f₃ + … + 4fn−1 + fₙ]。台形公式の誤差は h² のように小さくなり(M = max|f″| として評価式 (b − a)h²·M/12)、シンプソンの公式は h⁴ のように小さくなるので、同じ節点ならシンプソンの公式のほうが通常はずっと正確です。

厳密な値

I = 6.389056

台形公式

T = (0.5/2)·(1 + 2·1.648721 + 2·2.718282 + 2·4.481689 + 7.389056) = 6.52161

誤差

|E| = |6.52161 − 6.389056| = 0.1326

答え

|E| = 0.1326

相対誤差:2.075%。

2.数値計算法

答え: y4 = 1.968

y′ = f(t, y) の数値解法:オイラー法は、各ステップの開始点での傾きに沿って進みます:yn+1 = yₙ + h·f(tₙ, yₙ)。ホイン法(改良オイラー法)は、開始点での傾きと、オイラー法による予測点での傾きを平均します:k₁ = f(tₙ, yₙ)、k₂ = f(tₙ + h, yₙ + h·k₁)、yn+1 = yₙ + (h/2)(k₁ + k₂)。古典的ルンゲ–クッタ法(RK4)は 4 つの傾きを組み合わせます:yn+1 = yₙ + (h/6)(k₁ + 2k₂ + 2k₃ + k₄)。大域誤差は、オイラー法では h に、ホイン法では h² に、RK4 では h⁴ に比例します。

ntₙyₙf(tₙ, yₙ)yₙ₊₁003−32.710.12.7−2.72.4320.22.43−2.432.18730.32.187−2.1871.9683

オイラー法のステップ

y₁ = 3 + 0.1·(−3) = 2.7
y₂ = 2.7 + 0.1·(−2.7) = 2.43
y₃ = 2.43 + 0.1·(−2.43) = 2.187
y₄ = 2.187 + 0.1·(−2.187) = 1.9683
00.10.20.30.422.53ty

グラフ

y4 = 1.968

答え

y4 = 1.968

厳密な値は y(0.4) = 2.01096 です。

3.数列と級数

答え: L = 0.3679

収束:項が 0 に近づかなければ、級数は発散します(第 n 項判定法)。Σ1/kᵖ が収束するのは p > 1 のときだけで、Σrᵏ が収束するのは |r| < 1 のときだけです。k が大きいときに項がこれらと同じようにふるまうなら、級数をこれらと比較します。比判定法:L = lim |ak+1/ak|、根判定法:L = lim |ak|1/k。L < 1 なら収束、L > 1 なら発散、L = 1 なら何も決まりません。べき級数 Σck(x − x₀)ᵏ は |x − x₀| < R で収束し、R = lim |ck/ck+1| です。項が 0 に減少していく交代級数は収束します。

連続する項の比

|ak+1/ak| = (k/(k + 1))ᵏ = (1 + 1/k)ᵏ → 1/e

結論

L = 0.3679 < 1

答え

L = 0.3679

L < 1 なので、級数は収束します。

4.数列と級数

答え: n = 10

テイラー多項式:x = a の近くで、滑らかな関数は Pₙ(x) = f(a) + f′(a)(x − a) + f″(a)(x − a)²/2! + … + f⁽ⁿ⁾(a)(x − a)ⁿ/n! で近似されます。a = 0 のときがマクローリン多項式です。標準的な級数:eˣ = Σxᵏ/k!、sin x = x − x³/3! + x⁵/5! − …、cos x = 1 − x²/2! + x⁴/4! − …、ln(1 + x) = x − x²/2 + x³/3 − …、1/(1 − x) = Σxᵏ。ラグランジュの誤差評価:|f(x) − Pₙ(x)| ≤ M·|x − a|ⁿ⁺¹/(n + 1)!。ここで M は a と x の間での |f⁽ⁿ⁺¹⁾| の最大値です。

n(n + 1)!評価値012122261.3333240.666741200.266757200.08889650400.02547403200.00634983628800.001411936288000.000282210399168005.131 × 10⁻⁵

n を増やしたときの評価値

n = 9: 0.0002822 ≥ 0.0001
n = 10: 5.131 × 10⁻⁵ < 0.0001

最小の次数

n = 10

答え

n = 10
5.行列と行列式

答え: c11 = −3

行列:2×2 行列の行列式は ad − bc です。3×3 では 1 つの行に沿って展開します:各成分に、その行と列を除いた 2×2 行列の行列式を掛け、符号は + − + と交互にします。固有値 λ は det(A − λI) = 0 を満たし、2×2 では λ² −(トレース)·λ + det = 0 です。

行 × 列

c11 = 0·(−2) + 1·(−3) = −3

答え

c11 = −3
6.行列と行列式

答え: x = −1.5

行列:2×2 行列の行列式は ad − bc です。3×3 では 1 つの行に沿って展開します:各成分に、その行と列を除いた 2×2 行列の行列式を掛け、符号は + − + と交互にします。固有値 λ は det(A − λI) = 0 を満たし、2×2 では λ² −(トレース)·λ + det = 0 です。

係数行列の行列式

det A = 4·(−5) − (−3)·(−4) = −32

x の列を置き換える

det Aₓ = (−12)·(−5) − (−3)·(−4) = 48
x = 48/(−32) = −1.5

答え

x = −1.5
y = 2
7.微分方程式

答え: t = 19.83 min

1 階微分方程式:dy/dt = k·y の解は y = y₀·ekt です(k > 0 なら増加、k < 0 なら減少)。半減期 T からは k = ln 2/T が得られます。ニュートンの冷却法則 dT/dt = −k·(T − Tₐ) からは T(t) = Tₐ + (T₀ − Tₐ)·e−kt が得られます。線形方程式 y′ + p(x)·y = q(x) は積分因子 μ = e∫p dx を使って解きます:(μy)′ = μq なので、μy = ∫μq dx + C です。

冷却定数

k = ln(475/104)/38 = 0.03997 min⁻¹

目標温度に達するまでの時間

t = ln(475/215)/0.03997 = 19.83 min

答え

t = 19.83 min
8.微分方程式

答え: m = 14.1 kg

1 階微分方程式:dy/dt = k·y の解は y = y₀·ekt です(k > 0 なら増加、k < 0 なら減少)。半減期 T からは k = ln 2/T が得られます。ニュートンの冷却法則 dT/dt = −k·(T − Tₐ) からは T(t) = Tₐ + (T₀ − Tₐ)·e−kt が得られます。線形方程式 y′ + p(x)·y = q(x) は積分因子 μ = e∫p dx を使って解きます:(μy)′ = μq なので、μy = ∫μq dx + C です。

方程式を立てる

dm/dt = 10·0.05 − (10/100)·m = 0.5 − 0.1·m

解く

積分因子は ert/V で、解は平衡量 c·V に近づきます。

m(t) = 5 + 15·e−t/10

t を代入する

m(5) = 5 + 15·0.6065 = 14.1 kg

答え

m = 14.1 kg

ExamProblems · examproblems.com/courses/numerical-methods