実験で数学を理解
数学を肌で感じ取ってもらうために実験を行い、
実験のカーブと計算のカーブが同じになることで理解させようという試みです。
実験道具は、Arduino学習キットとセンサーを用います。
1)1階微分(ラプラス変換の基礎)(温度)
1階微分は温度の実験で理解。
コップに95℃のお湯を入れ、そこへセンサーを入れる。
その時のカーブを測定します。
また、そこから取り出し、冷却させ冷却曲線を採ります。
冷却曲線は、θ=95EXP(-at)になります。
これがラプラス変換の基礎です。
2)2階微分と1階微分を含んだ式(振動)
2階微分と1階微分を含んだものは振動の実験で理解。
鋼尺に加速度センサーを取り付け、1cmたわませ手を放す。
自由振動させたときの加速度カーブを測定。
Excelのマクロで計算した結果と同じに曲線になることで理解させる。
2階微分は振動成分のCOS(ωt)で包絡線が減衰の1階微分になり
現れる事を理解させます。
減衰振動の典型的な波形が観測されている。
COS(ωt)に減衰の包絡線がかかっている。
周波数分析方法は、4-0-1_1ch_DFTに記載されている。
同じマクロで初期値温度、最終温度を入力することにより、
温度上昇、温度冷却の両方が計算できる。
マクロ
Sub calcu()
tend = Range("B5")
step = Range("B6")
V = Range("B7")
c = Range("B8")
rhou = Range("B9")
A = Range("B10")
alpha = Range("B11")
temp0 = Range("B13")
temp_end = Range("B14")
[F5].Select
cc = V * c * rhou
ActiveCell.Offset(0, 0) = cc
R = 1# / A / alpha
ActiveCell.Offset(1, 0) = R
dt = tend / step
ActiveCell.Offset(2, 0) = dt
ActiveCell.Offset(3, 0) = cc * R
[O1].Select
t = 0#
temp = temp0
For i = 1 To step
Call rk2(dt, t, temp, tempnew, cc, R, temp_end)
ActiveCell.Offset(i, 0) = t
ActiveCell.Offset(i, 1) = temp
t = t + dt
temp = tempnew
Next i
End Sub
Sub rk2(dt, t, temp, tempnew, cc, R, temp_end)
k1 = dt * f(t, temp, cc, R, temp_end)
k2 = dt * f(t + dt / 2, temp + k1 / 2, cc, R, temp_end)
k3 = dt * f(t + dt / 2, temp + k2 / 2, cc, R, temp_end)
k4 = dt * f(t + dt, temp + k3, cc, R, temp_end)
tempnew = temp + (k1 + 2 * (k2 + k3) + k4) / 6
End Sub
Function f(t, temp, cc, R, temp_end)
f = temp_end / cc / R - temp / cc / R
End Function