柯南破案:利用尸体温度推算凶案时间 - MATLAB 算法详解
假设尸体温度按照指数衰减的方式,其温度变化模型为:
'T(t) = T0 + (T1 - T0) * exp(-k * t)'
其中,T(t) 为 t 时刻的尸体温度,T0 为室内温度,T1 为尸体温度初始值,k 为衰减系数,t 为时间。
根据已知条件,可以列出以下方程组:
'T(0) = T1' 'T(2) = 18' 'T(4) = 10'
代入模型可得:
'T1 = T0 + (T1 - T0) * exp(-2k)' '18 = T0 + (T1 - T0) * exp(-k * 2)' '10 = T0 + (T1 - T0) * exp(-k * 4)'
将第一个方程代入第二个方程,可得:
'18 = T0 + (T0 + (T1 - T0) * exp(-2k) - T0) * exp(-k * 2)' '18 = T0 * exp(-2k) + T1 * exp(-k * 2)'
将第一个和第三个方程代入第二个方程,可得:
'18 = T0 + (T0 + (T1 - T0) * exp(-2k) - T0) * exp(-k * 2)' '10 = T0 + (T0 + (T1 - T0) * exp(-2k) - T0) * exp(-k * 4)' '18 = T0 * exp(-2k) + T1 * exp(-k * 2)' '10 = T0 * exp(-4k) + T1 * exp(-k * 4)'
解这个方程组,可以得到:
'T0 = 4.83 摄氏度' 'T1 = 25.17 摄氏度' 'k = 0.1849 /小时'
代入模型,可以得到:
'T(t) = 4.83 + 20.34 * exp(-0.1849 * t)'
令 T(t) 等于 26 摄氏度,可得:
'26 = 4.83 + 20.34 * exp(-0.1849 * t)' 't = 23.67 小时'
因此,凶案发生时间为当前时间往前推 23.67 小时,即凌晨 5 点左右。
原文地址: https://www.cveoy.top/t/topic/nSbV 著作权归作者所有。请勿转载和采集!